[tor-commits] [tor/master] Merge branch 'bug31859_041' into bug31859_master

teor at torproject.org teor at torproject.org
Thu Oct 17 04:52:53 UTC 2019


commit 58746ad9ca4599fa40d6709228f79fbafaeb4976
Merge: 53116ca0b e5dda7f66
Author: teor <teor at torproject.org>
Date:   Wed Oct 2 00:20:38 2019 +1000

    Merge branch 'bug31859_041' into bug31859_master
    
    Merge master's RUST_VERSION="nightly" into the macOS Rust job
    from bug31859_041.
    
    Drop master's RUST_VERSION="beta", because we only have two
    Rust jobs now.

 .travis.yml         | 87 +++++++++++++++++++++++------------------------------
 changes/ticket30860 |  3 ++
 changes/ticket31859 |  3 ++
 3 files changed, 43 insertions(+), 50 deletions(-)

diff --cc .travis.yml
index 94d9bf9cc,909a3d28d..ec3827d31
--- a/.travis.yml
+++ b/.travis.yml
@@@ -29,53 -27,56 +27,58 @@@ env
      - HARDENING_OPTIONS="--enable-expensive-hardening"
      ## We turn off asciidoc by default, because it's slow
      - ASCIIDOC_OPTIONS="--disable-asciidoc"
 +    ## Our default rust version is the minimum supported version
 +    - RUST_VERSION="1.31.0"
    matrix:
-     ## We want to use each build option at least once
-     ##
-     ## We don't list default variable values, because we set the defaults
-     ## in global (or the default is unset)
+     ## This matrix entry is required, but it doesn't actually create any jobs
      -
-     ## TOR_RUST_DEPENDENCIES is spelt RUST_DEPENDENCIES in 0.3.2
-     - RUST_OPTIONS="--enable-rust" TOR_RUST_DEPENDENCIES=true
  
  matrix:
-   ## include creates builds with gcc, linux
+   ## include creates builds with gcc, linux, unless we override those defaults
    include:
+     ## We run basic tests on macOS
+     - compiler: clang
+       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
+     - env: CHUTNEY="yes" CHUTNEY_ALLOW_FAILURES="2" 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 only want to check these build option combinations once
-     ## (they shouldn't vary by compiler or OS)
-     ## We run rust and coverage with hardening off, which seems like enough
-     # - env: HARDENING_OPTIONS=""
+     ## 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 also try running a hardened clang build with chutney on Linux.
-     - env: CHUTNEY="yes" SKIP_MAKE_CHECK="yes" CHUTNEY_ALLOW_FAILURES="2"
+     ## We check disable module dirauth
+     - env: MODULES_OPTIONS="--disable-module-dirauth"
+     ## We run rust on macOS, because we have seen macOS rust failures before
 -    - env: RUST_OPTIONS="--enable-rust --enable-cargo-online-mode"
++    - env: RUST_VERSION="nightly" RUST_OPTIONS="--enable-rust --enable-cargo-online-mode"
        compiler: clang
-     # We clone our stem repo and run `make test-stem`
+       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"
-     ## Check rust online with distcheck, to make sure we remove rust products
-     - env: DISTCHECK="yes" RUST_VERSION="beta" RUST_OPTIONS="--enable-rust --enable-cargo-online-mode"
-     ## Check disable module dirauth with and without rust
-     - env: MODULES_OPTIONS="--disable-module-dirauth" RUST_VERSION="nightly" RUST_OPTIONS="--enable-rust" TOR_RUST_DEPENDENCIES=true
-     - env: MODULES_OPTIONS="--disable-module-dirauth"
-     ## Check NSS
-     - env: NSS_OPTIONS="--enable-nss"
  
-   ## Uncomment to allow the build to report success (with non-required
-   ## sub-builds continuing to run) if all required sub-builds have
-   ## succeeded.  This is somewhat buggy currently: it can cause
-   ## duplicate notifications and prematurely report success if a
-   ## single sub-build has succeeded.  See
-   ## https://github.com/travis-ci/travis-ci/issues/1696
-   # fast_finish: true
+   ## Allow the build to report success (with non-required sub-builds
+   ## continuing to run) if all required sub-builds have succeeded.
+   fast_finish: true
  
-   ## Careful! We use global envs, which makes it hard to exclude or
-   ## 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
    allow_failures:
+     ## 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_OPTIONS="--enable-rust --enable-cargo-online-mode"
+       compiler: clang
+       os: osx
+     - env: CHUTNEY="yes" CHUTNEY_ALLOW_FAILURES="2" SKIP_MAKE_CHECK="yes"
+       os: osx
      ## test-stem sometimes hangs on Travis
      - env: TEST_STEM="yes" SKIP_MAKE_CHECK="yes"
  





More information about the tor-commits mailing list