[tor-commits] [tor/maint-0.2.5] Work around Travis CI ptrace regression

nickm at torproject.org nickm at torproject.org
Fri Jan 19 15:19:06 UTC 2018


commit 49de586add6394c7a04c9a982fbe66b185cf4e58
Author: Taylor Yu <catalyst at torproject.org>
Date:   Wed Jan 10 14:52:04 2018 -0600

    Work around Travis CI ptrace regression
    
    Travis CI deployed a change that disables ptrace capabilities in
    container builds, which prevents LeakSanitizer on clang from working
    properly.  Set "sudo: required" to force non-container builds for
    clang and work around this.
---
 .travis.yml | 24 +++++++++++++++++++++---
 1 file changed, 21 insertions(+), 3 deletions(-)

diff --git a/.travis.yml b/.travis.yml
index 59b32dbe4..60f82af3f 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,8 +1,10 @@
 language: c
 
-compiler:
-  - gcc
-  - clang
+## Comment out the compiler list for now to allow an explicit build
+## matrix.
+# compiler:
+#   - gcc
+#   - clang
 
 notifications:
   irc:
@@ -28,6 +30,10 @@ dist: trusty
 
 ## We don't need sudo. (The "apt:" stanza after this allows us to not need sudo;
 ## otherwise, we would need it for getting dependencies.)
+##
+## We override this in the explicit build matrix to work around a
+## Travis CI environment regression
+## https://github.com/travis-ci/travis-ci/issues/9033
 sudo: false
 
 ## (Linux only) Download our dependencies
@@ -61,6 +67,18 @@ matrix:
   ## entire job early and call the whole thing a failure.
   fast_finish: true
 
+  ## Create explicit matrix entries to work around a Travis CI
+  ## environment issue.  Missing keys inherit from the first list
+  ## entry under that key outside the "include" clause.
+  include:
+    - compiler: gcc
+    ## The "sudo: required" forces non-containerized builds, working
+    ## around a Travis CI environment issue: clang LeakAnalyzer fails
+    ## because it requires ptrace and the containerized environment no
+    ## longer allows ptrace.
+    - compiler: clang
+      sudo: required
+
 before_install:
   ## If we're on OSX, homebrew usually needs to updated first
   - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew update ; fi



More information about the tor-commits mailing list