Travis: Sort jobs in order of speed

Putting the slowest jobs first takes full advantage of Travis
concurrency.

Closes 33194.
This commit is contained in:
teor 2020-02-13 13:37:02 +10:00
parent 9ba147e9af
commit 25ecdf1409
No known key found for this signature in database
GPG Key ID: 10FEAA0E7075672A
2 changed files with 37 additions and 21 deletions

View File

@ -43,30 +43,48 @@ env:
matrix: matrix:
## include creates builds with gcc, linux, unless we override those defaults ## include creates builds with gcc, linux, unless we override those defaults
include: 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 - compiler: clang
os: osx os: osx
## Turn off some newer features, turn on clang's -Wtypedef-redefinition ## Turn off some newer features, turn on clang's -Wtypedef-redefinition
env: C_DIALECT_OPTIONS="-std=gnu99" 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 ## 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 ## 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" - env: CHUTNEY="yes" CHUTNEY_ALLOW_FAILURES="2" SKIP_MAKE_CHECK="yes"
compiler: clang compiler: clang
## We check asciidoc with distcheck, to make sure we remove doc products ## We check asciidoc with distcheck, to make sure we remove doc products
- env: DISTCHECK="yes" ASCIIDOC_OPTIONS="" SKIP_MAKE_CHECK="yes" - 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 ## We check disable module relay
- env: MODULES_OPTIONS="--disable-module-relay" - env: MODULES_OPTIONS="--disable-module-relay"
## 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 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 ## macOS builds are very slow, and we have a limited number of
## concurrent macOS jobs. We're not actively developing Rust, so it is ## concurrent macOS jobs. We're not actively developing Rust, so it is
## the lowest priority. ## the lowest priority.
@ -74,14 +92,6 @@ matrix:
#- env: RUST_VERSION="nightly" RUST_OPTIONS="--enable-rust --enable-cargo-online-mode" #- env: RUST_VERSION="nightly" RUST_OPTIONS="--enable-rust --enable-cargo-online-mode"
# compiler: clang # compiler: clang
# os: osx # 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 ## 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.
@ -93,9 +103,13 @@ matrix:
## macOS rust and chutney are very slow, so we let the build finish before ## 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 ## 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. ## 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 ## Since this job is disabled, there's not much point having an exception
os: osx ## 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 ## Since we're actively developing IPv6, we want to require the IPv6
## chutney tests ## chutney tests
#- env: CHUTNEY="yes" CHUTNEY_ALLOW_FAILURES="2" SKIP_MAKE_CHECK="yes" CHUTNEY_MAKE_TARGET="test-network-ipv6" #- env: CHUTNEY="yes" CHUTNEY_ALLOW_FAILURES="2" SKIP_MAKE_CHECK="yes" CHUTNEY_MAKE_TARGET="test-network-ipv6"

View File

@ -1,2 +1,4 @@
o Testing: o Testing:
- Remove a redundant distcheck job. Closes ticket 33194. - Remove a redundant distcheck job. Closes ticket 33194.
- Sort the Travis jobs in order of speed. Putting the slowest jobs first
takes full advantage of Travis job concurrency. Closes ticket 33194.