Browse Source

Merge remote-tracking branch 'teor/ticket27252-032' into maint-0.3.2

Nick Mathewson 5 years ago
parent
commit
c3a750486c
3 changed files with 29 additions and 4 deletions
  1. 18 4
      .travis.yml
  2. 6 0
      changes/ticket27252
  3. 5 0
      changes/ticket27252-032

+ 18 - 4
.travis.yml

@@ -37,7 +37,7 @@ env:
     ## and it's going to take a while for them to be fixed. See:
     ##   https:/trac.torproject.org/projects/tor/ticket/25386
     ##   https:/trac.torproject.org/projects/tor/ticket/26398
-    - RUST_OPTIONS="--enable-rust --enable-cargo-online-mode" HARDENING_OPTIONS=""
+    - RUST_OPTIONS="--enable-rust" RUST_DEPENDENCIES=true HARDENING_OPTIONS=""
 
 matrix:
   ## include creates builds with gcc, linux, sudo: false
@@ -50,10 +50,10 @@ matrix:
     # - env: HARDENING_OPTIONS=""
     ## We check asciidoc with distcheck, to make sure we remove doc products
     - env: DISTCHECK="yes" ASCIIDOC_OPTIONS=""
-    ## Check rust offline without hardening (see above), or distcheck
+    ## Check rust online without hardening (see above), and without distcheck
     ## Distcheck doesn't work with rust in 0.3.2
     ## TOR_RUST_DEPENDENCIES is spelt RUST_DEPENDENCIES in 0.3.2
-    - env: RUST_OPTIONS="--enable-rust" RUST_DEPENDENCIES=true HARDENING_OPTIONS=""
+    - env: RUST_OPTIONS="--enable-rust --enable-cargo-online-mode" HARDENING_OPTIONS=""
 
   ## Uncomment to allow the build to report success (with non-required
   ## sub-builds continuing to run) if all required sub-builds have
@@ -70,9 +70,23 @@ matrix:
     ## Clang doesn't work in containerized builds, see below.
     - compiler: clang
       sudo: false
-    ## We also exclude non-containerized gcc, because they're slow and redundant.
+    ## Non-containerized gcc are slow and redundant.
     - compiler: gcc
       sudo: required
+    ## gcc on OSX is less useful, because the default compiler is clang.
+    - compiler: gcc
+      os: osx
+    ## gcc on Linux with no env is redundant, because all the custom builds use
+    ## gcc on Linux
+    - compiler: gcc
+      os: linux
+      env:
+    ## offline rust builds for gcc on Linux are redundant, because we do an
+    ## online rust build for gcc on Linux
+    - compiler: gcc
+      os: linux
+      ## TOR_RUST_DEPENDENCIES is spelt RUST_DEPENDENCIES in 0.3.2
+      env: RUST_OPTIONS="--enable-rust" RUST_DEPENDENCIES=true HARDENING_OPTIONS=""
 
 ## We don't need sudo. (The "apt:" stanza after this allows us to not need
 ## sudo; otherwise, we would need it for getting dependencies.)

+ 6 - 0
changes/ticket27252

@@ -0,0 +1,6 @@
+  o Minor features (continuous integration):
+    - Skip gcc on OSX in Travis CI, it's rarely used.
+      Skip a duplicate hardening-off build in Travis on Tor 0.2.9.
+      Skip gcc on Linux with default settings, because all the non-default
+      builds use gcc on Linux.
+      Implements ticket 27252.

+ 5 - 0
changes/ticket27252-032

@@ -0,0 +1,5 @@
+  o Minor features (continuous integration):
+    - Only run one online rust build in Travis, to reduce network errors.
+      Skip offline rust builds on Travis for Linux gcc, because they're
+      redundant.
+      Implements ticket 27252.