commit f368f5bc370d23f2e1888faeeceecb1cea290242 Merge: 02840169d 1e0e23c1e Author: teor teor@torproject.org Date: Tue Oct 1 17:20:16 2019 +1000
Merge branch 'bug31859_029' into bug31859_035
While merging: * leave out some redundant jobs and build matrix entries
.travis.yml | 68 ++++++++++++++++++----------------------------------- changes/ticket30860 | 3 +++ changes/ticket31859 | 3 +++ 3 files changed, 29 insertions(+), 45 deletions(-)
diff --cc .travis.yml index ef2e41998,564c97dbf..1f555c69c --- a/.travis.yml +++ b/.travis.yml @@@ -30,69 -21,40 +28,49 @@@ 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 - ## We use Linux clang, because there are no other Linux clang jobs - 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 + - env: DISTCHECK="yes" RUST_OPTIONS="--enable-rust --enable-cargo-online-mode" + ## Check disable module dirauth with and without rust + - env: MODULES_OPTIONS="--disable-module-dirauth" RUST_OPTIONS="--enable-rust" TOR_RUST_DEPENDENCIES=true + - env: MODULES_OPTIONS="--disable-module-dirauth" + ## 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-all... 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
tor-commits@lists.torproject.org