From 27afc7b3848eaf6d1e4c5c35c3a67f4c9cee1a7c Mon Sep 17 00:00:00 2001 From: Jason Gross Date: Tue, 23 Jan 2018 14:27:56 -0500 Subject: Use travis_retry on apt-get update Script modified from https://unix.stackexchange.com/questions/175146/apt-get-update-exit-status I stuck the code in "install" rather than "before_install" so that the lint target didn't need to be changed. I also haven't touched the targets that add more packages; I'll leave that to someone who knows more about the "&" and "*" syntax being used in the configuration. --- .travis.yml | 2 ++ dev/tools/sudo-apt-get-update.sh | 4 ++++ 2 files changed, 6 insertions(+) create mode 100755 dev/tools/sudo-apt-get-update.sh diff --git a/.travis.yml b/.travis.yml index 8f1f1e699b..b51bf2a272 100644 --- a/.travis.yml +++ b/.travis.yml @@ -212,6 +212,8 @@ before_install: - if [ "${TRAVIS_PULL_REQUEST}" != "false" ]; then echo "Tested commit (followed by parent commits):"; git log -1; for commit in `git log -1 --format="%P"`; do echo; git log -1 $commit; done; fi install: +- if [ "${TRAVIS_OS_NAME}" == "linux" ]; then travis_retry ./dev/tools/sudo-apt-get-update.sh -q; fi +- if [ "${TRAVIS_OS_NAME}" == "linux" ]; then sudo apt-get install -y opam aspcud gcc-multilib; fi - opam init -j ${NJOBS} --compiler=${COMPILER} -n -y - eval $(opam config env) - opam config list diff --git a/dev/tools/sudo-apt-get-update.sh b/dev/tools/sudo-apt-get-update.sh new file mode 100755 index 0000000000..f8bf6bed41 --- /dev/null +++ b/dev/tools/sudo-apt-get-update.sh @@ -0,0 +1,4 @@ +#!/usr/bin/env bash + +(sudo apt-get update "$@" 2>&1 || echo 'E: update failed') | tee /tmp/apt.err +! grep -q '^\(E:\|W: Failed to fetch\)' /tmp/apt.err || exit $? -- cgit v1.2.3 From 15d918ec0f8091de74ceba4031735948a7254d08 Mon Sep 17 00:00:00 2001 From: Jason Gross Date: Tue, 23 Jan 2018 16:20:26 -0500 Subject: Delay installing packages sudo apt-get install will fail on gcc-multilib if apt-get update cannot fetch launchpad, so instead we delay installing these packages. --- .travis.yml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.travis.yml b/.travis.yml index b51bf2a272..1792d96ba3 100644 --- a/.travis.yml +++ b/.travis.yml @@ -20,10 +20,6 @@ addons: apt: sources: - avsm - packages: - - opam - - aspcud - - gcc-multilib env: global: -- cgit v1.2.3 From 05cfa9e92ea08210ae78ec7b6054dce3e2b3ee30 Mon Sep 17 00:00:00 2001 From: Jason Gross Date: Thu, 25 Jan 2018 11:29:02 -0500 Subject: Add a comment referencing travis issue numbers --- .travis.yml | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/.travis.yml b/.travis.yml index 1792d96ba3..712357fc56 100644 --- a/.travis.yml +++ b/.travis.yml @@ -20,6 +20,19 @@ addons: apt: sources: - avsm +## Due to issues like +## https://github.com/travis-ci/travis-ci/issues/8507 , +## https://github.com/travis-ci/travis-ci/issues/9000 , +## https://github.com/travis-ci/travis-ci/issues/9081 , and +## https://github.com/travis-ci/travis-ci/issues/9126 , we get frequent +## failures with using `packages`. Therefore, for most targets, we +## instead invoke `apt-get update` manually with `travis_retry` before +## invoking `apt-get install`, manually, below in the `install:` +## target. +# packages: +# - opam +# - aspcud +# - gcc-multilib env: global: -- cgit v1.2.3