Преглед изворни кода

Merge remote-tracking branch 'tor-github/pr/1369' into maint-0.2.9

teor пре 4 година
родитељ
комит
c660f47960
3 измењених фајлова са 30 додато и 34 уклоњено
  1. 24 34
      .travis.yml
  2. 3 0
      changes/ticket30860
  3. 3 0
      changes/ticket31859

+ 24 - 34
.travis.yml

@@ -5,14 +5,12 @@ cache:
 
 compiler:
   - gcc
-  - clang
 
 os:
   - linux
-  - osx
 
-## The build matrix in the following stanza expands into builds for each
-## OS and compiler.
+## We don't use the build matrix cross-product, because it makes too many jobs
+## Instead, we list each job under matrix: include:
 env:
   global:
     ## The Travis CI environment allows us two cores, so let's use both.
@@ -23,47 +21,39 @@ env:
     ## We turn off asciidoc by default, because it's slow
     - ASCIIDOC_OPTIONS="--disable-asciidoc"
   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
     -
 
 matrix:
-  ## include creates builds with gcc, linux
+  ## include creates builds with gcc, linux, unless we override those defaults
   include:
-    ## We include a single coverage build with the best options for coverage
-    - env: COVERAGE_OPTIONS="--enable-coverage" HARDENING_OPTIONS=""
-    ## We only want to check these build option combinations once
-    ## (they shouldn't vary by compiler or OS)
-    ## We run coverage with hardening off, which seems like enough
-    # - env: HARDENING_OPTIONS=""
+    ## We run basic tests on macOS
+    - compiler: clang
+      os: osx
+    ## 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 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"
-    # We also try running a hardened clang build with chutney on Linux.
-    - env: CHUTNEY="yes" SKIP_MAKE_CHECK="yes" CHUTNEY_ALLOW_FAILURES="2"
       compiler: clang
+    ## We include a single coverage build with the best options for coverage
+    - env: COVERAGE_OPTIONS="--enable-coverage" HARDENING_OPTIONS=""
+    ## We run chutney on macOS, because macOS Travis has IPv6
+    - env: CHUTNEY="yes" CHUTNEY_ALLOW_FAILURES="2" SKIP_MAKE_CHECK="yes"
+      os: osx
 
-  ## 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
-  exclude:
-    ## gcc on OSX is less useful, because the default compiler is clang.
-    - compiler: gcc
+  allow_failures:
+    ## macOS chutney is very slow, so we let the build finish before it's done
+    ## We'd like to fast finish, but still eventually show failures.
+    ## But Travis doesn't have that option.
+    - env: CHUTNEY="yes" CHUTNEY_ALLOW_FAILURES="2" SKIP_MAKE_CHECK="yes"
       os: osx
-    ## gcc on Linux with no env is redundant, because all the custom builds use
-    ## gcc on Linux
-    - compiler: gcc
-      os: linux
-      env:
 
 ## (Linux only) Use the latest Linux image (Ubuntu Trusty)
 dist: trusty

+ 3 - 0
changes/ticket30860

@@ -0,0 +1,3 @@
+  o Testing:
+    - Run the chutney IPv6 networks as part of Travis CI.
+      Closes ticket 30860.

+ 3 - 0
changes/ticket31859

@@ -0,0 +1,3 @@
+  o Testing:
+    - Simplify the Travis CI build matrix, and optimise for build time.
+      Closes ticket 31859.