mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
Refactor .travis.yml by introducing travis_retry.sh
Not using official travis_retry.bash, because it's not supporting to modify backoff seconds.0ad8f1886b/lib/travis/build/bash/travis_retry.bash
Not using official `travis_apt_get_update` function because it does not propagate exit status to be used by retries.0ad8f1886b/lib/travis/build/bash/travis_apt_get_update.bash
Co-Authored-By: Nobuyoshi Nakada <nobu@ruby-lang.org>
This commit is contained in:
parent
e6901cea74
commit
330e3f19c3
2 changed files with 66 additions and 79 deletions
132
.travis.yml
132
.travis.yml
|
@ -88,67 +88,51 @@ env:
|
||||||
# sources:
|
# sources:
|
||||||
# - ubuntu-toolchain-r-test
|
# - ubuntu-toolchain-r-test
|
||||||
before_install:
|
before_install:
|
||||||
|
- tool/travis_retry.sh sudo -E apt-add-repository -y "ppa:ubuntu-toolchain-r/test"
|
||||||
|
- tool/travis_retry.sh bash -c "sudo rm -rf '${TRAVIS_ROOT}/var/lib/apt/lists/'* && sudo apt-get update -yq"
|
||||||
- |-
|
- |-
|
||||||
for seconds in 1 25 100 -1; do
|
tool/travis_retry.sh sudo -E apt-get -yq --no-install-suggests --no-install-recommends $travis_apt_get_options install \
|
||||||
sudo -E apt-add-repository -y "ppa:ubuntu-toolchain-r/test" && break
|
gcc-8 \
|
||||||
sleep "$seconds" || exit 1
|
libffi-dev \
|
||||||
done
|
libgdbm-dev \
|
||||||
- |-
|
libgmp-dev \
|
||||||
for seconds in 1 25 100 -1; do
|
libjemalloc-dev \
|
||||||
travis_apt_get_update
|
libncurses5-dev \
|
||||||
|
libncursesw5-dev \
|
||||||
sudo -E apt-get -yq --no-install-suggests --no-install-recommends $travis_apt_get_options install \
|
libreadline6-dev \
|
||||||
gcc-8 \
|
libssl-dev \
|
||||||
libffi-dev \
|
libyaml-dev \
|
||||||
libgdbm-dev \
|
openssl \
|
||||||
libgmp-dev \
|
valgrind \
|
||||||
libjemalloc-dev \
|
zlib1g-dev
|
||||||
libncurses5-dev \
|
|
||||||
libncursesw5-dev \
|
|
||||||
libreadline6-dev \
|
|
||||||
libssl-dev \
|
|
||||||
libyaml-dev \
|
|
||||||
openssl \
|
|
||||||
valgrind \
|
|
||||||
zlib1g-dev \
|
|
||||||
&& break
|
|
||||||
|
|
||||||
sleep "$seconds" || exit 1
|
|
||||||
done
|
|
||||||
|
|
||||||
- &clang-8
|
- &clang-8
|
||||||
compiler: clang-8
|
compiler: clang-8
|
||||||
addons:
|
addons:
|
||||||
apt:
|
apt:
|
||||||
config:
|
# Not doing this manually unlike other sources, because it has been stable.
|
||||||
retries: true
|
|
||||||
sources:
|
sources:
|
||||||
- llvm-toolchain-xenial-8
|
- llvm-toolchain-xenial-8
|
||||||
# `packages` are installed in `before_install` for retries.
|
config:
|
||||||
|
retries: true
|
||||||
before_install:
|
before_install:
|
||||||
|
- tool/travis_retry.sh bash -c "sudo rm -rf '${TRAVIS_ROOT}/var/lib/apt/lists/'* && sudo apt-get update -yq"
|
||||||
- |-
|
- |-
|
||||||
for seconds in 1 25 100 -1; do
|
tool/travis_retry.sh sudo -E apt-get -yq --no-install-suggests --no-install-recommends $travis_apt_get_options install \
|
||||||
travis_apt_get_update
|
clang-8 \
|
||||||
|
llvm-8-tools \
|
||||||
sudo -E apt-get -yq --no-install-suggests --no-install-recommends $travis_apt_get_options install \
|
libffi-dev \
|
||||||
clang-8 \
|
libgdbm-dev \
|
||||||
llvm-8-tools \
|
libgmp-dev \
|
||||||
libffi-dev \
|
libjemalloc-dev \
|
||||||
libgdbm-dev \
|
libncurses5-dev \
|
||||||
libgmp-dev \
|
libncursesw5-dev \
|
||||||
libjemalloc-dev \
|
libreadline6-dev \
|
||||||
libncurses5-dev \
|
libssl-dev \
|
||||||
libncursesw5-dev \
|
libyaml-dev \
|
||||||
libreadline6-dev \
|
openssl \
|
||||||
libssl-dev \
|
valgrind \
|
||||||
libyaml-dev \
|
zlib1g-dev
|
||||||
openssl \
|
|
||||||
valgrind \
|
|
||||||
zlib1g-dev \
|
|
||||||
&& break
|
|
||||||
|
|
||||||
sleep "$seconds" || exit 1
|
|
||||||
done
|
|
||||||
|
|
||||||
# --------
|
# --------
|
||||||
|
|
||||||
|
@ -290,35 +274,25 @@ env:
|
||||||
# sources:
|
# sources:
|
||||||
# - ubuntu-toolchain-r-test
|
# - ubuntu-toolchain-r-test
|
||||||
before_install:
|
before_install:
|
||||||
|
- tool/travis_retry.sh sudo -E apt-add-repository -y "ppa:ubuntu-toolchain-r/test"
|
||||||
|
- tool/travis_retry.sh bash -c "sudo rm -rf '${TRAVIS_ROOT}/var/lib/apt/lists/'* && sudo apt-get update -yq"
|
||||||
- |-
|
- |-
|
||||||
for seconds in 1 25 100 -1; do
|
tool/travis_retry.sh sudo -E apt-get -yq --no-install-suggests --no-install-recommends $travis_apt_get_options install \
|
||||||
sudo -E apt-add-repository -y "ppa:ubuntu-toolchain-r/test" && break
|
gcc-8-multilib \
|
||||||
sleep "$seconds" || exit 1
|
libffi-dev:i386 \
|
||||||
done
|
libffi6:i386 \
|
||||||
- |-
|
libgdbm-dev:i386 \
|
||||||
for seconds in 1 25 100 -1; do
|
libgdbm3:i386 \
|
||||||
travis_apt_get_update
|
libncurses5-dev:i386 \
|
||||||
|
libncurses5:i386 \
|
||||||
sudo -E apt-get -yq --no-install-suggests --no-install-recommends $travis_apt_get_options install \
|
libncursesw5-dev:i386 \
|
||||||
gcc-8-multilib \
|
libreadline6-dev:i386 \
|
||||||
libffi-dev:i386 \
|
libreadline6:i386 \
|
||||||
libffi6:i386 \
|
libssl-dev:i386 \
|
||||||
libgdbm-dev:i386 \
|
libssl1.0.0:i386 \
|
||||||
libgdbm3:i386 \
|
linux-libc-dev:i386 \
|
||||||
libncurses5-dev:i386 \
|
zlib1g-dev:i386 \
|
||||||
libncurses5:i386 \
|
zlib1g:i386
|
||||||
libncursesw5-dev:i386 \
|
|
||||||
libreadline6-dev:i386 \
|
|
||||||
libreadline6:i386 \
|
|
||||||
libssl-dev:i386 \
|
|
||||||
libssl1.0.0:i386 \
|
|
||||||
linux-libc-dev:i386 \
|
|
||||||
zlib1g-dev:i386 \
|
|
||||||
zlib1g:i386 \
|
|
||||||
&& break
|
|
||||||
|
|
||||||
sleep "$seconds" || exit 1
|
|
||||||
done
|
|
||||||
|
|
||||||
- &pedanticism
|
- &pedanticism
|
||||||
name: -std=c99 -pedantic
|
name: -std=c99 -pedantic
|
||||||
|
|
13
tool/travis_retry.sh
Executable file
13
tool/travis_retry.sh
Executable file
|
@ -0,0 +1,13 @@
|
||||||
|
#!/bin/sh -eu
|
||||||
|
# The modified version of `travis_retry` to support custom backoffs, which is used by .travis.yml.
|
||||||
|
# https://github.com/travis-ci/travis-build/blob/master/lib/travis/build/bash/travis_retry.bash
|
||||||
|
|
||||||
|
for sleep in 0 ${WAITS:- 1 25 100}; do
|
||||||
|
sleep "$sleep"
|
||||||
|
|
||||||
|
echo "+ $@"
|
||||||
|
if "$@"; then
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
exit 1
|
Loading…
Add table
Add a link
Reference in a new issue