aboutsummaryrefslogtreecommitdiff
path: root/.travis.yml
diff options
context:
space:
mode:
authorteor <teor@torproject.org>2020-02-13 13:37:02 +1000
committerteor <teor@torproject.org>2020-02-13 13:37:54 +1000
commit25ecdf1409c9d1d33e546cff1e617e14d84fae03 (patch)
treeca764c5e2c48f645c530167085b5358f26df4107 /.travis.yml
parent9ba147e9af37ce3697bc1352595da94dcf0262f4 (diff)
downloadtor-25ecdf1409c9d1d33e546cff1e617e14d84fae03.tar.gz
tor-25ecdf1409c9d1d33e546cff1e617e14d84fae03.zip
Travis: Sort jobs in order of speed
Putting the slowest jobs first takes full advantage of Travis concurrency. Closes 33194.
Diffstat (limited to '.travis.yml')
-rw-r--r--.travis.yml56
1 files changed, 35 insertions, 21 deletions
diff --git a/.travis.yml b/.travis.yml
index 29533dab08..e8533c08a8 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -43,30 +43,48 @@ env:
matrix:
## include creates builds with gcc, linux, unless we override those defaults
include:
- ## We run basic tests on macOS
+ ## We run chutney on macOS, because macOS Travis has IPv6
+ ## But we only run the IPv6 chutney tests, to speed up the job
+ - env: CHUTNEY="yes" CHUTNEY_ALLOW_FAILURES="2" SKIP_MAKE_CHECK="yes" CHUTNEY_MAKE_TARGET="test-network-ipv6"
+ os: osx
+
+ ## We also run basic tests on macOS
- compiler: clang
os: osx
## Turn off some newer features, turn on clang's -Wtypedef-redefinition
env: C_DIALECT_OPTIONS="-std=gnu99"
- ## We check NSS
- ## Use -std=gnu99 to turn off some newer features, and maybe turn on some
- ## extra gcc warnings?
- - env: NSS_OPTIONS="--enable-nss" C_DIALECT_OPTIONS="-std=gnu99"
+
## We run chutney on Linux, because it's faster than chutney on macOS
## Chutney is a fast job, clang is slower on Linux, so we do Chutney clang
- env: CHUTNEY="yes" CHUTNEY_ALLOW_FAILURES="2" SKIP_MAKE_CHECK="yes"
compiler: clang
+
## 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
- - env: COVERAGE_OPTIONS="--enable-coverage" HARDENING_OPTIONS="" TOR_TEST_RNG_SEED="636f766572616765"
- ## We run rust on Linux, because it's faster than rust on macOS
- ## We check rust offline
- - env: RUST_OPTIONS="--enable-rust" TOR_RUST_DEPENDENCIES=true
+
## We check disable module relay
- env: MODULES_OPTIONS="--disable-module-relay"
## We check disable module dirauth
- env: MODULES_OPTIONS="--disable-module-dirauth"
+
+ ## We run rust on Linux, because it's faster than rust on macOS
+ ## We check rust offline
+ - env: RUST_OPTIONS="--enable-rust" TOR_RUST_DEPENDENCIES=true
+
+ ## We check NSS
+ ## Use -std=gnu99 to turn off some newer features, and maybe turn on some
+ ## extra gcc warnings?
+ - env: NSS_OPTIONS="--enable-nss" C_DIALECT_OPTIONS="-std=gnu99"
+
+ ## We include a single coverage build with the best options for coverage
+ - env: COVERAGE_OPTIONS="--enable-coverage" HARDENING_OPTIONS="" TOR_TEST_RNG_SEED="636f766572616765"
+
+ ## We clone our stem repo and run `make test-stem`
+ - env: TEST_STEM="yes" SKIP_MAKE_CHECK="yes"
+
+ ## We run `make doxygen` without `make check`.
+ - env: SKIP_MAKE_CHECK="yes" DOXYGEN="yes"
+
## macOS builds are very slow, and we have a limited number of
## concurrent macOS jobs. We're not actively developing Rust, so it is
## the lowest priority.
@@ -74,14 +92,6 @@ matrix:
#- env: RUST_VERSION="nightly" RUST_OPTIONS="--enable-rust --enable-cargo-online-mode"
# compiler: clang
# os: osx
- ## We run chutney on macOS, because macOS Travis has IPv6
- ## But we only run the IPv6 chutney tests, to speed up the job
- - env: CHUTNEY="yes" CHUTNEY_ALLOW_FAILURES="2" SKIP_MAKE_CHECK="yes" CHUTNEY_MAKE_TARGET="test-network-ipv6"
- os: osx
- ## We clone our stem repo and run `make test-stem`
- - env: TEST_STEM="yes" SKIP_MAKE_CHECK="yes"
- ## We run `make doxygen` without `make check`.
- - env: SKIP_MAKE_CHECK="yes" DOXYGEN="yes"
## Allow the build to report success (with non-required sub-builds
## continuing to run) if all required sub-builds have succeeded.
@@ -93,9 +103,13 @@ matrix:
## macOS rust and chutney are very slow, so we let the build finish before
## they are done. We'd like to fast finish, but still eventually show
## any failures in the build status. But Travis doesn't have that ability.
- - env: RUST_VERSION="nightly" RUST_OPTIONS="--enable-rust --enable-cargo-online-mode"
- compiler: clang
- os: osx
+
+ ## Since this job is disabled, there's not much point having an exception
+ ## for it
+ #- env: RUST_VERSION="nightly" RUST_OPTIONS="--enable-rust --enable-cargo-online-mode"
+ # compiler: clang
+ # os: osx
+
## Since we're actively developing IPv6, we want to require the IPv6
## chutney tests
#- env: CHUTNEY="yes" CHUTNEY_ALLOW_FAILURES="2" SKIP_MAKE_CHECK="yes" CHUTNEY_MAKE_TARGET="test-network-ipv6"