From 7592b27f43a65519f6126cef7088eec69a14a56a Mon Sep 17 00:00:00 2001 From: Mike McQuaid Date: Fri, 26 Jan 2018 16:58:08 +0000 Subject: [PATCH] travis.yml: general cleanup. - Update Xcode version - Split out platform-specific code so we can see where time is spent - Manually trigger vendor Ruby installation - Use `brew update` to update things - Use `travis_retry` where relevant. --- .travis.yml | 42 ++++++++++++++++++++++++++++-------------- 1 file changed, 28 insertions(+), 14 deletions(-) diff --git a/.travis.yml b/.travis.yml index 241ac12bcc..822af4a22f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,10 +1,10 @@ -language: ruby -rvm: system +language: c cache: directories: - $HOME/.gem/ruby - $HOME/Library/Caches/Homebrew/style - $HOME/Library/Caches/Homebrew/tests + - $HOME/Library/Homebrew/vendor/bundle branches: only: - master @@ -12,33 +12,47 @@ matrix: fast_finish: true include: - os: osx - osx_image: xcode9 + compiler: clang + osx_image: xcode9.2 - os: linux + compiler: gcc sudo: false before_install: - - export HOMEBREW_NO_AUTO_UPDATE=1 - - export HOMEBREW_DEVELOPER=1 - - export HOMEBREW_FORCE_VENDOR_RUBY=1 - if [ "${TRAVIS_OS_NAME}" = "osx" ]; then + MACOS="1"; HOMEBREW_REPOSITORY="$(brew --repo)"; - sudo chown -R "$USER" "$HOMEBREW_REPOSITORY/Library/Taps"; + sudo chown -R "$USER" "$HOMEBREW_REPOSITORY"; + else + LINUX="1"; + export PATH="$PWD/bin:$PATH"; + fi + # umask 022 fixes Linux `brew tests` failures; + - if [ "$LINUX" ]; then + umask 022; + fi + # trigger vendored ruby installation + - brew help + - if [ "$MACOS" ]; then mv "$HOMEBREW_REPOSITORY/Library/Taps" "$PWD/Library"; - git -C Library/Taps/homebrew/homebrew-core fetch --force origin; - git -C Library/Taps/homebrew/homebrew-core checkout --force -B master origin/master; sudo rm -rf "$HOMEBREW_REPOSITORY"; sudo ln -s "$PWD" "$HOMEBREW_REPOSITORY"; - git clone --depth=1 https://github.com/Homebrew/homebrew-test-bot Library/Taps/homebrew/homebrew-test-bot; else - umask 022; - git fetch --unshallow; - export PATH="$PWD/bin:$PATH"; HOMEBREW_CORE_TAP_DIR="$(brew --repo "homebrew/core")"; mkdir -p "$HOMEBREW_CORE_TAP_DIR"; - git clone --depth=1 https://github.com/Homebrew/homebrew-test-bot Library/Taps/homebrew/homebrew-test-bot; + fi + - if [ "$MACOS" ]; then + travis_retry git -C Library/Taps/homebrew/homebrew-core fetch --depth=1 origin; + fi + - travis_retry git clone --depth=1 https://github.com/Homebrew/homebrew-test-bot Library/Taps/homebrew/homebrew-test-bot + - if [ "$LINUX" ]; then HOMEBREW_TEST_BOT_TAP_DIR="$(brew --repo "homebrew/test-bot")"; ln -s "$HOMEBREW_TEST_BOT_TAP_DIR/.git" "$HOMEBREW_TEST_BOT_TAP_DIR/Formula" "$HOMEBREW_CORE_TAP_DIR"; fi + # can be removed after 1.5.3 is tagged + - if [ "$LINUX" ]; then + export HOMEBREW_FORCE_VENDOR_RUBY=1; + fi script: - brew test-bot