mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2025-02-24 14:51:11 +01:00
Travis: Keep the macOS Rust job, but don't wait for it to finish
Since Rust on macOS is slow, don't wait for the macOS Rust job to finish. Instead, split rust into slow rust (macOS) and fast rust (Linux). And allow the build to finish before slow rust finishes. Also make sure that we have: * a Rust build on each platform, * a Rust build with each compiler, and * a check on all our Rust builds. Finally, sort builds: allow fail last, macOS first, slowest first. Closes 31859 for 0.3.5.
This commit is contained in:
parent
4482d6fde5
commit
632e707397
1 changed files with 20 additions and 12 deletions
32
.travis.yml
32
.travis.yml
|
@ -37,25 +37,30 @@ matrix:
|
||||||
## We run basic tests on macOS
|
## We run basic tests on macOS
|
||||||
- compiler: clang
|
- compiler: clang
|
||||||
os: osx
|
os: osx
|
||||||
|
## We check NSS
|
||||||
|
## NSS is a fast job, clang is slower on Linux, so we do NSS clang
|
||||||
|
- env: NSS_OPTIONS="--enable-nss"
|
||||||
|
compiler: clang
|
||||||
## We run chutney on Linux, because it's faster than chutney on macOS
|
## We run chutney on Linux, because it's faster than chutney on macOS
|
||||||
- env: CHUTNEY="yes" CHUTNEY_ALLOW_FAILURES="2" SKIP_MAKE_CHECK="yes"
|
- 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 include a single coverage build with the best options for coverage
|
## We include a single coverage build with the best options for coverage
|
||||||
- env: COVERAGE_OPTIONS="--enable-coverage" HARDENING_OPTIONS=""
|
- env: COVERAGE_OPTIONS="--enable-coverage" HARDENING_OPTIONS=""
|
||||||
## We run chutney on macOS, because macOS Travis has IPv6
|
## We run rust on Linux, because it's faster than rust on macOS
|
||||||
- env: CHUTNEY="yes" CHUTNEY_ALLOW_FAILURES="2" SKIP_MAKE_CHECK="yes"
|
## We check rust offline
|
||||||
os: osx
|
- env: RUST_OPTIONS="--enable-rust" TOR_RUST_DEPENDENCIES=true
|
||||||
## We clone our stem repo and run `make test-stem`
|
## We check asciidoc with distcheck, to make sure we remove doc products
|
||||||
- env: TEST_STEM="yes" SKIP_MAKE_CHECK="yes"
|
- env: DISTCHECK="yes" ASCIIDOC_OPTIONS="" SKIP_MAKE_CHECK="yes"
|
||||||
## We check disable module dirauth
|
## We check disable module dirauth
|
||||||
- env: MODULES_OPTIONS="--disable-module-dirauth"
|
- env: MODULES_OPTIONS="--disable-module-dirauth"
|
||||||
## We run rust on macOS, because we have seen macOS rust failures before
|
## We run rust on macOS, because we have seen macOS rust failures before
|
||||||
- env: RUST_OPTIONS="--enable-rust --enable-cargo-online-mode"
|
- env: RUST_OPTIONS="--enable-rust --enable-cargo-online-mode"
|
||||||
compiler: clang
|
compiler: clang
|
||||||
os: osx
|
os: osx
|
||||||
## We check NSS
|
## We run chutney on macOS, because macOS Travis has IPv6
|
||||||
- env: NSS_OPTIONS="--enable-nss"
|
- 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"
|
||||||
|
|
||||||
## Allow the build to report success (with non-required sub-builds
|
## Allow the build to report success (with non-required sub-builds
|
||||||
## continuing to run) if all required sub-builds have succeeded.
|
## continuing to run) if all required sub-builds have succeeded.
|
||||||
|
@ -64,9 +69,12 @@ matrix:
|
||||||
## Careful! We use global envs, which makes it hard to 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
|
## https://docs.travis-ci.com/user/customizing-the-build#matching-jobs-with-allow_failures
|
||||||
allow_failures:
|
allow_failures:
|
||||||
## macOS chutney is very slow, so we let the build finish before it's done
|
## macOS rust and chutney are very slow, so we let the build finish before
|
||||||
## We'd like to fast finish, but still eventually show failures.
|
## they are done. We'd like to fast finish, but still eventually show
|
||||||
## But Travis doesn't have that option.
|
## any failures in the build status. But Travis doesn't have that ability.
|
||||||
|
- env: RUST_OPTIONS="--enable-rust --enable-cargo-online-mode"
|
||||||
|
compiler: clang
|
||||||
|
os: osx
|
||||||
- env: CHUTNEY="yes" CHUTNEY_ALLOW_FAILURES="2" SKIP_MAKE_CHECK="yes"
|
- env: CHUTNEY="yes" CHUTNEY_ALLOW_FAILURES="2" SKIP_MAKE_CHECK="yes"
|
||||||
os: osx
|
os: osx
|
||||||
## test-stem sometimes hangs on Travis
|
## test-stem sometimes hangs on Travis
|
||||||
|
|
Loading…
Add table
Reference in a new issue