mirror of
https://github.com/boostorg/boost.git
synced 2025-04-15 17:55:02 +00:00
Merge branch 'feature/ci-changes'
This commit is contained in:
commit
840aaf5d5f
3 changed files with 75 additions and 25 deletions
51
.travis.yml
51
.travis.yml
|
@ -3,6 +3,7 @@
|
|||
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
#
|
||||
# Copyright Rene Rivera 2015-2016.
|
||||
# Copyright Peter Dimov 2017.
|
||||
|
||||
branches:
|
||||
only:
|
||||
|
@ -11,10 +12,9 @@ branches:
|
|||
|
||||
dist: trusty
|
||||
|
||||
language: c
|
||||
language: cpp
|
||||
|
||||
compiler:
|
||||
- gcc
|
||||
compiler: gcc
|
||||
|
||||
addons:
|
||||
apt:
|
||||
|
@ -42,27 +42,38 @@ matrix:
|
|||
- env: TRAVIS_EMPTY_JOB_WORKAROUND=true
|
||||
|
||||
include:
|
||||
|
||||
# Build release package, but skip the final archive/upload step,
|
||||
# to stay under time limit
|
||||
#
|
||||
# Skip EOL=LF and EOL=CRLF because they often time out
|
||||
|
||||
- env: SCRIPT=ci_boost_release EOL=NONE JOBS=3
|
||||
|
||||
- env: SCRIPT=ci_boost_release MODE=check
|
||||
|
||||
# Simple integrated status tests check.
|
||||
- env:
|
||||
- SCRIPT=ci_boost_status
|
||||
|
||||
# Build release package for LF end-of-line style text files.
|
||||
- env:
|
||||
- SCRIPT=ci_boost_release
|
||||
- EOL=LF
|
||||
|
||||
# Build release package for CRLF end-of-line style text files (i.e. for Windows).
|
||||
- env:
|
||||
- SCRIPT=ci_boost_release
|
||||
- EOL=CRLF
|
||||
|
||||
- env: SCRIPT=ci_boost_status
|
||||
|
||||
# Run 'quick' tests.
|
||||
- env: SCRIPT=ci_boost_status TARGET=quick TOOLSET=gcc
|
||||
compiler: g++
|
||||
|
||||
- env: SCRIPT=ci_boost_status TARGET=quick TOOLSET=gcc CXXSTD=11
|
||||
compiler: g++
|
||||
|
||||
- env: SCRIPT=ci_boost_status TARGET=quick TOOLSET=clang
|
||||
compiler: clang++
|
||||
|
||||
# Run tests for the library updated by this commit.
|
||||
- env: SCRIPT=ci_boost_test_library TOOLSET=gcc CXXSTD=11
|
||||
compiler: g++
|
||||
|
||||
# Library requirements tests.
|
||||
- env:
|
||||
- SCRIPT=ci_boost_library_check
|
||||
- env: SCRIPT=ci_boost_library_check
|
||||
|
||||
allow_failures:
|
||||
- env:
|
||||
- SCRIPT=ci_boost_library_check
|
||||
- env: SCRIPT=ci_boost_library_check
|
||||
|
||||
before_install:
|
||||
# Fetch the scripts to do the actual building/testing.
|
||||
|
|
|
@ -1,11 +1,20 @@
|
|||
version: 1.0.{build}-{branch}
|
||||
|
||||
branches:
|
||||
only:
|
||||
- develop
|
||||
- master
|
||||
|
||||
image:
|
||||
- Visual Studio 2013
|
||||
- Visual Studio 2015
|
||||
- Visual Studio 2017
|
||||
|
||||
environment:
|
||||
matrix:
|
||||
- SCRIPT: ci_boost_status
|
||||
TARGET: quick
|
||||
- SCRIPT: ci_boost_test_library
|
||||
|
||||
init:
|
||||
- cd %APPVEYOR_BUILD_FOLDER%/..
|
||||
|
|
|
@ -15,6 +15,9 @@
|
|||
# --check-libs-only
|
||||
# Only runs the library conformance tests.
|
||||
#
|
||||
# --no-check-libs
|
||||
# Do not run the library conformance tests.
|
||||
#
|
||||
# --limit-tests, or --include-tests
|
||||
# Only runs the tests for whom the name matches the regex.
|
||||
# The value for the argument is a comma separated list of simple
|
||||
|
@ -58,6 +61,7 @@ import feature ;
|
|||
import numbers ;
|
||||
|
||||
local check-libs-only = [ MATCH "^--(check-libs-only)" : [ modules.peek : ARGV ] ] ;
|
||||
local no-check-libs = [ MATCH "^--(no-check-libs)$" : [ modules.peek : ARGV ] ] ;
|
||||
local check-libs-only-targets = ;
|
||||
local libraries = ;
|
||||
|
||||
|
@ -106,13 +110,13 @@ local rule run-tests ( root : tests * )
|
|||
t = [ CALC $(t) + 2 ] ;
|
||||
f = [ CALC $(f) + 2 ] ;
|
||||
}
|
||||
if [ path.exists ../$(root)/$(test) ]
|
||||
{
|
||||
use-project /boost/$(test) : ../$(root)/$(test) ;
|
||||
}
|
||||
if $(include-test) = y
|
||||
{
|
||||
if $(root) = libs && ( ! ( $(library) in $(libraries) ) )
|
||||
if [ path.exists ../$(root)/$(test) ]
|
||||
{
|
||||
use-project /boost/$(test) : ../$(root)/$(test) ;
|
||||
}
|
||||
if $(root) = libs && ! $(no-check-libs) && ( ! ( $(library) in $(libraries) ) )
|
||||
{
|
||||
libraries += $(library) ;
|
||||
local test_module = [ project.find ../$(root)/$(test) : $(location) ] ;
|
||||
|
@ -146,6 +150,26 @@ local rule run-tests ( root : tests * )
|
|||
}
|
||||
}
|
||||
|
||||
local rule find-targets ( target : libs * )
|
||||
{
|
||||
local result = ;
|
||||
|
||||
for local lib in $(libs)
|
||||
{
|
||||
local path = ../libs/$(lib)/test ;
|
||||
local project = [ project.load $(path) ] ;
|
||||
local pt = [ project.target $(project) ] ;
|
||||
local mt = [ $(pt).main-target $(target) ] ;
|
||||
|
||||
if $(mt)
|
||||
{
|
||||
result += $(path)//$(target) ;
|
||||
}
|
||||
}
|
||||
|
||||
return $(result) ;
|
||||
}
|
||||
|
||||
local libs-to-test = ;
|
||||
for local libdir in [ path.glob $(BOOST_ROOT) : libs/* ]
|
||||
{
|
||||
|
@ -184,3 +208,9 @@ if $(check-libs-only-targets)
|
|||
{
|
||||
alias check-libs-only : $(check-libs-only-targets) ;
|
||||
}
|
||||
|
||||
alias minimal : [ find-targets minimal : $(libs-to-test) ] ;
|
||||
explicit minimal ;
|
||||
|
||||
alias quick : [ find-targets quick : $(libs-to-test) ] ;
|
||||
explicit quick ;
|
||||
|
|
Loading…
Add table
Reference in a new issue