Merge branch 'bug31859_029' into bug31859_035

While merging:
* leave out some redundant jobs and build matrix entries
This commit is contained in:
teor 2019-10-01 17:20:16 +10:00
commit f368f5bc37
No known key found for this signature in database
GPG Key ID: 10FEAA0E7075672A
3 changed files with 29 additions and 45 deletions

View File

@ -12,14 +12,12 @@ cache:
compiler:
- gcc
- clang
os:
- linux
- osx
## The build matrix in the following stanza expands into builds for each
## OS and compiler.
## We don't use the build matrix cross-product, because it makes too many jobs
## Instead, we list each job under matrix: include:
env:
global:
## The Travis CI environment allows us two cores, so let's use both.
@ -30,28 +28,24 @@ env:
## We turn off asciidoc by default, because it's slow
- ASCIIDOC_OPTIONS="--disable-asciidoc"
matrix:
## We want to use each build option at least once
##
## We don't list default variable values, because we set the defaults
## in global (or the default is unset)
## This matrix entry is required, but it doesn't actually create any jobs
-
## TOR_RUST_DEPENDENCIES is spelt RUST_DEPENDENCIES in 0.3.2
- RUST_OPTIONS="--enable-rust" TOR_RUST_DEPENDENCIES=true
matrix:
## include creates builds with gcc, linux
## include creates builds with gcc, linux, unless we override those defaults
include:
## We include a single coverage build with the best options for coverage
- env: COVERAGE_OPTIONS="--enable-coverage" HARDENING_OPTIONS=""
## We only want to check these build option combinations once
## (they shouldn't vary by compiler or OS)
## We run rust and coverage with hardening off, which seems like enough
# - env: HARDENING_OPTIONS=""
## We run basic tests on macOS
- compiler: clang
os: osx
## We run chutney on Linux, because it's faster than chutney on macOS
- env: CHUTNEY="yes" CHUTNEY_ALLOW_FAILURES="2" SKIP_MAKE_CHECK="yes"
## We check asciidoc with distcheck, to make sure we remove doc products
- env: DISTCHECK="yes" ASCIIDOC_OPTIONS="" SKIP_MAKE_CHECK="yes"
# We also try running a hardened clang build with chutney on Linux.
- env: CHUTNEY="yes" SKIP_MAKE_CHECK="yes" CHUTNEY_ALLOW_FAILURES="2"
compiler: clang
## We include a single coverage build with the best options for coverage
- env: COVERAGE_OPTIONS="--enable-coverage" HARDENING_OPTIONS=""
## We run chutney on macOS, because macOS Travis has IPv6
- env: CHUTNEY="yes" CHUTNEY_ALLOW_FAILURES="2" SKIP_MAKE_CHECK="yes"
os: osx
# We clone our stem repo and run `make test-stem`
- env: TEST_STEM="yes" SKIP_MAKE_CHECK="yes"
## Check rust online with distcheck, to make sure we remove rust products
@ -62,37 +56,21 @@ matrix:
## Check NSS
- env: NSS_OPTIONS="--enable-nss"
## Uncomment to allow the build to report success (with non-required
## sub-builds continuing to run) if all required sub-builds have
## succeeded. This is somewhat buggy currently: it can cause
## duplicate notifications and prematurely report success if a
## single sub-build has succeeded. See
## https://github.com/travis-ci/travis-ci/issues/1696
# fast_finish: true
## Allow the build to report success (with non-required sub-builds
## continuing to run) if all required sub-builds have succeeded.
fast_finish: true
## Careful! We use global envs, which makes it hard to exclude or
## allow failures by env:
## Careful! We use global envs, which makes it hard to allow failures by env:
## https://docs.travis-ci.com/user/customizing-the-build#matching-jobs-with-allow_failures
allow_failures:
## macOS chutney is very slow, so we let the build finish before it's done
## We'd like to fast finish, but still eventually show failures.
## But Travis doesn't have that option.
- env: CHUTNEY="yes" CHUTNEY_ALLOW_FAILURES="2" SKIP_MAKE_CHECK="yes"
os: osx
## test-stem sometimes hangs on Travis
- env: TEST_STEM="yes" SKIP_MAKE_CHECK="yes"
exclude:
## gcc on OSX is less useful, because the default compiler is clang.
- compiler: gcc
os: osx
## gcc on Linux with no env is redundant, because all the custom builds use
## gcc on Linux
- compiler: gcc
os: linux
env:
## offline rust builds for gcc on Linux are redundant, because we do an
## online rust build for gcc on Linux
- compiler: gcc
os: linux
## TOR_RUST_DEPENDENCIES is spelt RUST_DEPENDENCIES in 0.3.2
env: RUST_OPTIONS="--enable-rust" TOR_RUST_DEPENDENCIES=true
## (Linux only) Use the latest Linux image (Ubuntu Trusty)
dist: trusty

3
changes/ticket30860 Normal file
View File

@ -0,0 +1,3 @@
o Testing:
- Run the chutney IPv6 networks as part of Travis CI.
Closes ticket 30860.

3
changes/ticket31859 Normal file
View File

@ -0,0 +1,3 @@
o Testing:
- Simplify the Travis CI build matrix, and optimise for build time.
Closes ticket 31859.