summaryrefslogtreecommitdiff
path: root/.travis.yml
diff options
context:
space:
mode:
authorteor <teor@torproject.org>2020-02-17 13:49:23 +1000
committerteor <teor@torproject.org>2020-02-17 13:49:23 +1000
commitf231827946764c664fbfe7c8ddef2b88d7b6f105 (patch)
tree8fa11576b6dcfe311c5345bb9010d398822db9ba /.travis.yml
parenta6509cb86744f8f20bd522c744aecf88474a039f (diff)
parent8874d1c247cd05856621ddca00f3e8c55e6a5900 (diff)
downloadtor-f231827946764c664fbfe7c8ddef2b88d7b6f105.tar.gz
tor-f231827946764c664fbfe7c8ddef2b88d7b6f105.zip
Merge remote-tracking branch 'tor-github/pr/1731'
Diffstat (limited to '.travis.yml')
-rw-r--r--.travis.yml69
1 files changed, 42 insertions, 27 deletions
diff --git a/.travis.yml b/.travis.yml
index af5052682f..c6468f78f7 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -34,6 +34,8 @@ env:
## Turn off tor's sandbox in chutney, until we fix sandbox errors that are
## triggered by Ubuntu Xenial and Bionic. See #32722.
- CHUTNEY_TOR_SANDBOX="0"
+ ## The default target for chutney jobs
+ - CHUTNEY_MAKE="test-network-all"
matrix:
## This matrix entry is required, but it doesn't actually create any jobs
-
@@ -41,34 +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_MAKE="test-network-ipv6" CHUTNEY="yes" CHUTNEY_ALLOW_FAILURES="2" SKIP_MAKE_CHECK="yes"
+ 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
- ## We use Linux clang, because there are no other Linux clang jobs
- - env: DISTCHECK="yes" ASCIIDOC_OPTIONS="" SKIP_MAKE_CHECK="yes"
- compiler: clang
- ## 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 asciidoc with distcheck, to make sure we remove doc products
- env: DISTCHECK="yes" ASCIIDOC_OPTIONS="" SKIP_MAKE_CHECK="yes"
+
## 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.
@@ -76,13 +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
- - 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"
- ## 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.
@@ -94,11 +103,17 @@ 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
- - env: CHUTNEY="yes" CHUTNEY_ALLOW_FAILURES="2" SKIP_MAKE_CHECK="yes"
- 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_MAKE="test-network-ipv6" CHUTNEY="yes" CHUTNEY_ALLOW_FAILURES="2" SKIP_MAKE_CHECK="yes"
+ # os: osx
## (Linux only) Use a recent Linux image (Ubuntu Bionic)
dist: bionic
@@ -230,7 +245,7 @@ script:
## We run `make check` because that's what https://jenkins.torproject.org does.
- if [[ "$SKIP_MAKE_CHECK" == "" ]]; then make check; fi
- if [[ "$DISTCHECK" != "" ]]; then make distcheck DISTCHECK_CONFIGURE_FLAGS="$CONFIGURE_FLAGS"; fi
- - if [[ "$CHUTNEY" != "" ]]; then make test-network-all; fi
+ - if [[ "$CHUTNEY" != "" ]]; then make "$CHUTNEY_MAKE"; fi
## Diagnostic for bug 29437: kill stem if it hangs for 9.5 minutes
## Travis will kill the job after 10 minutes with no output
- if [[ "$TEST_STEM" != "" ]]; then make src/app/tor; timelimit -p -t 540 -s USR1 -T 30 -S ABRT python3 "$STEM_SOURCE_DIR"/run_tests.py --tor src/app/tor --integ --test control.controller --test control.base_controller --test process --log TRACE --log-file stem.log; fi