From 404c76f4ee1dc51c0d200e2b60a6340aadb44e38 Mon Sep 17 00:00:00 2001 From: Matt Caswell Date: Fri, 23 Jun 2017 13:58:49 +0100 Subject: [PATCH] Fix travis clang-3.9 builds Something environmental changed in travis so that it started preferring the ubuntu clang-3.9 version instead of the llvm.org one. This breaks the sanitiser based builds. This change forces travis to de-prioritise the ubuntu clang packages. [extended tests] Reviewed-by: Rich Salz (Merged from https://github.com/openssl/openssl/pull/3759) --- .travis-apt-pin.preferences | 15 +++++++++++++++ .travis.yml | 37 ++++++++----------------------------- 2 files changed, 23 insertions(+), 29 deletions(-) create mode 100644 .travis-apt-pin.preferences diff --git a/.travis-apt-pin.preferences b/.travis-apt-pin.preferences new file mode 100644 index 0000000000..1797bd0414 --- /dev/null +++ b/.travis-apt-pin.preferences @@ -0,0 +1,15 @@ +Package: clang-3.9 +Pin: release o=Ubuntu +Pin-Priority: -1 + +Package: libclang-common-3.9-dev +Pin: release o=Ubuntu +Pin-Priority: -1 + +Package: libclang1-3.9 +Pin: release o=Ubuntu +Pin-Priority: -1 + +Package: libllvm3.9v4 +Pin: release o=Ubuntu +Pin-Priority: -1 diff --git a/.travis.yml b/.travis.yml index b9e12fc3c0..4d6540da0a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -45,13 +45,6 @@ matrix: compiler: gcc-5 env: CONFIG_OPTS="--strict-warnings enable-tls1_3" TESTS="-test_fuzz" COMMENT="Move to the BORINGTEST build when interoperable" - os: linux - addons: - apt: - packages: - - clang-3.9 - sources: - - llvm-toolchain-trusty-3.9 - - ubuntu-toolchain-r-test compiler: clang-3.9 env: CONFIG_OPTS="--strict-warnings no-deprecated" BUILDONLY="yes" - os: linux @@ -83,33 +76,12 @@ matrix: compiler: gcc-5 env: EXTENDED_TEST="yes" CONFIG_OPTS="--debug enable-ssl3 enable-ssl3-method enable-weak-ssl-ciphers enable-external-tests" BORINGSSL_TESTS="yes" CXX="g++-5" TESTS=95 - os: linux - addons: - apt: - packages: - - clang-3.9 - sources: - - llvm-toolchain-trusty-3.9 - - ubuntu-toolchain-r-test compiler: clang-3.9 env: EXTENDED_TEST="yes" CONFIG_OPTS="enable-msan" - os: linux - addons: - apt: - packages: - - clang-3.9 - sources: - - llvm-toolchain-trusty-3.9 - - ubuntu-toolchain-r-test compiler: clang-3.9 env: EXTENDED_TEST="yes" CONFIG_OPTS="no-asm enable-ubsan enable-rc5 enable-md2 enable-aria enable-ssl3 enable-ssl3-method enable-nextprotoneg -fno-sanitize=alignment no-shared -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION" - os: linux - addons: - apt: - packages: - - clang-3.9 - sources: - - llvm-toolchain-trusty-3.9 - - ubuntu-toolchain-r-test compiler: clang-3.9 env: EXTENDED_TEST="yes" CONFIG_OPTS="no-asm enable-asan enable-rc5 enable-md2 enable-aria no-shared -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION" - os: linux @@ -167,7 +139,14 @@ before_script: export CROSS_COMPILE=${CC%%gcc}; unset CC; $srcdir/Configure mingw64 $CONFIG_OPTS -Wno-pedantic-ms-format; else - if which ccache >/dev/null && [ "$CC" != clang-3.9 ]; then + if [ "$CC" == clang-3.9 ]; then + sudo cp .travis-apt-pin.preferences /etc/apt/preferences.d/no-ubuntu-clang; + curl -sSL "http://apt.llvm.org/llvm-snapshot.gpg.key" | sudo -E apt-key add -; + echo "deb http://apt.llvm.org/trusty/ llvm-toolchain-trusty-3.9 main" | sudo tee -a /etc/apt/sources.list > /dev/null; + sudo -E apt-add-repository -y "ppa:ubuntu-toolchain-r/test"; + sudo -E apt-get -yq update; + sudo -E apt-get -yq --no-install-suggests --no-install-recommends --force-yes install clang-3.9; + elif which ccache >/dev/null; then CC="ccache $CC"; fi; $srcdir/config -v $CONFIG_OPTS; -- 2.25.1