diff options
Diffstat (limited to '.travis.yml')
-rw-r--r-- | .travis.yml | 41 |
1 files changed, 27 insertions, 14 deletions
diff --git a/.travis.yml b/.travis.yml index 79e232f0c3..7f7e7a5723 100644 --- a/.travis.yml +++ b/.travis.yml @@ -29,6 +29,9 @@ env: - HARDENING_OPTIONS="--enable-expensive-hardening" ## We turn off asciidoc by default, because it's slow - ASCIIDOC_OPTIONS="--disable-asciidoc" + ## 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" matrix: ## This matrix entry is required, but it doesn't actually create any jobs - @@ -39,12 +42,20 @@ matrix: ## We 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 - ## NSS is a fast job, clang is slower on Linux, so we do NSS clang - - env: NSS_OPTIONS="--enable-nss" - compiler: clang + ## 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="" ## We run rust on Linux, because it's faster than rust on macOS @@ -54,15 +65,16 @@ matrix: - env: DISTCHECK="yes" ASCIIDOC_OPTIONS="" SKIP_MAKE_CHECK="yes" ## We check disable module dirauth - env: MODULES_OPTIONS="--disable-module-dirauth" + ## 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. ## We run rust on macOS, because we have seen macOS rust failures before - # Disabled due to slow Travis macOS builds, see #32177 #- env: RUST_OPTIONS="--enable-rust --enable-cargo-online-mode" # compiler: clang # os: osx ## We run chutney on macOS, because macOS Travis has IPv6 - # Disabled due to slow Travis macOS builds, see #32177 - #- env: CHUTNEY="yes" CHUTNEY_ALLOW_FAILURES="2" SKIP_MAKE_CHECK="yes" - # os: osx + - 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" @@ -84,8 +96,8 @@ matrix: ## test-stem sometimes hangs on Travis - env: TEST_STEM="yes" SKIP_MAKE_CHECK="yes" -## (Linux only) Use the latest Linux image (Ubuntu Trusty) -dist: trusty +## (Linux only) Use a recent Linux image (Ubuntu Bionic) +dist: bionic ## Download our dependencies addons: @@ -140,10 +152,11 @@ addons: ## preventing or diagnosing hangs - timelimit -## (OSX only) Use the default OSX image +## (OSX only) Use a recent macOS image ## See https://docs.travis-ci.com/user/reference/osx#os-x-version -## Default is Xcode 9.4 on macOS 10.13 as of August 2018 -#osx_image: xcode9.4 +## Default is Xcode 9.4 on macOS 10.13 as of October 2019 +## Recent is Xcode 11.2 on macOS 10.14 as of October 2019 +osx_image: xcode11.2 before_install: ## Create empty rust directories for non-Rust builds, so caching succeeds @@ -193,8 +206,8 @@ script: - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then export TOR_SKIP_TEST_REBIND=true; fi - ./autogen.sh - CONFIGURE_FLAGS="$ASCIIDOC_OPTIONS $COVERAGE_OPTIONS $HARDENING_OPTIONS $MODULES_OPTIONS $NSS_OPTIONS $OPENSSL_OPTIONS $RUST_OPTIONS --enable-fatal-warnings --disable-silent-rules" - - echo "Configure flags are $CONFIGURE_FLAGS" - - ./configure $CONFIGURE_FLAGS + - echo "Configure flags are $CONFIGURE_FLAGS CC=\"$CC $C_DIALECT_OPTIONS\"" + - ./configure $CONFIGURE_FLAGS CC="$CC $C_DIALECT_OPTIONS" ## 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 |