From 09484b944993f4b8d0a43ecedabeb2c86f889b77 Mon Sep 17 00:00:00 2001
From: Taylor Yu <catalyst@torproject.org>
Date: Wed, 28 Feb 2018 12:28:45 -0600
Subject: [PATCH] Document how to allow partial Travis failures

Add some commented-out allow_failures clauses to make it easier to
temporarily allow less-critical sub-builds to fail while still
reporting success.
---
 .travis.yml | 24 ++++++++++++++++++++----
 1 file changed, 20 insertions(+), 4 deletions(-)

diff --git a/.travis.yml b/.travis.yml
index 60f82af3f9..3f125f2756 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -62,10 +62,26 @@ env:
     - MAKEFLAGS="-j 2"
 
 matrix:
-  ## If one build in the matrix fails (e.g. if building withour Rust and Clang
-  ## fails, but building with Rust and GCC is still going), then cancel the
-  ## entire job early and call the whole thing a failure.
-  fast_finish: true
+  ## 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
+
+  ## Uncomment the appropriate lines below to allow the build to
+  ## report success even if some less-critical sub-builds fail and it
+  ## seems likely to take a while for someone to fix it.  Currently
+  ## Travis CI doesn't distinguish "all builds succeeded" from "some
+  ## non-required sub-builds failed" except on the individual build's
+  ## page, which makes it somewhat annoying to detect from the
+  ## branches and build history pages.  See
+  ## https://github.com/travis-ci/travis-ci/issues/8716
+  allow_failures:
+    # - env: RUST_OPTIONS="--enable-rust" TOR_RUST_DEPENDENCIES=true
+    # - env: RUST_OPTIONS="--enable-rust --enable-cargo-online-mode
+    # - compiler: clang
 
   ## Create explicit matrix entries to work around a Travis CI
   ## environment issue.  Missing keys inherit from the first list
-- 
GitLab