diff options
| author | Mike McQuaid | 2018-01-26 22:21:43 +0000 | 
|---|---|---|
| committer | GitHub | 2018-01-26 22:21:43 +0000 | 
| commit | ede3d91f0ab2b9c1ae8cc86fff45d25e4f9f6e6d (patch) | |
| tree | 8faa18585620ae50b9f53d5701253e36a6861bb0 | |
| parent | 65e940f833ef90b9111055f8772f601ad3b53b8c (diff) | |
| parent | 4abae7f7e964ae2c1cb8ba83f0ac4ebae687c2c1 (diff) | |
| download | brew-ede3d91f0ab2b9c1ae8cc86fff45d25e4f9f6e6d.tar.bz2 | |
Merge pull request #3736 from MikeMcQuaid/travis-config-tweaks
.travis.yml: make configuration tweaks.
| -rw-r--r-- | .travis.yml | 42 | ||||
| -rw-r--r-- | Library/Homebrew/brew.sh | 10 | ||||
| -rw-r--r-- | Library/Homebrew/dev-cmd/tap-new.rb | 27 | ||||
| -rw-r--r-- | Library/Homebrew/utils.rb | 11 | ||||
| -rw-r--r-- | Library/Homebrew/utils/ruby.sh | 8 | 
5 files changed, 42 insertions, 56 deletions
| diff --git a/.travis.yml b/.travis.yml index 241ac12bc..822af4a22 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 diff --git a/Library/Homebrew/brew.sh b/Library/Homebrew/brew.sh index 643952a4a..60952c7fe 100644 --- a/Library/Homebrew/brew.sh +++ b/Library/Homebrew/brew.sh @@ -69,16 +69,6 @@ then    odie "Cowardly refusing to continue at this prefix: $HOMEBREW_PREFIX"  fi -# Save values to use for installing gems -if [[ -n "$GEM_HOME" ]] -then -  export HOMEBREW_GEM_HOME="$GEM_HOME" -fi -if [[ -n "$GEM_PATH" ]] -then -  export HOMEBREW_GEM_PATH="$GEM_PATH" -fi -  HOMEBREW_SYSTEM="$(uname -s)"  case "$HOMEBREW_SYSTEM" in    Darwin) HOMEBREW_MACOS="1" ;; diff --git a/Library/Homebrew/dev-cmd/tap-new.rb b/Library/Homebrew/dev-cmd/tap-new.rb index 1c3bf20eb..38cdb1c2e 100644 --- a/Library/Homebrew/dev-cmd/tap-new.rb +++ b/Library/Homebrew/dev-cmd/tap-new.rb @@ -44,39 +44,28 @@ module Homebrew      write_path(tap, "README.md", readme)      travis = <<~EOS -      language: ruby +      language: c        os: osx -      env: OSX=10.12 -      osx_image: xcode8.3 -      rvm: system +      compiler: clang +      osx_image: xcode9.2        cache:          directories:            - $HOME/.gem/ruby            - Library/Homebrew/vendor/bundle +      branches: +        only: +          - master        before_install: -        - export TRAVIS_COMMIT="$(git rev-parse --verify -q HEAD)" -        - if [ -f ".git/shallow" ]; then -            travis_retry git fetch --unshallow; -          fi -        - HOMEBREW_REPOSITORY="$(brew --repo)" -        - sudo chown -R "$USER" "$HOMEBREW_REPOSITORY" -        - git -C "$HOMEBREW_REPOSITORY" reset --hard origin/master -        - brew update || brew update +        - sudo chown -R "$USER" "$(brew --repo)" +        - travis_retry brew update          - HOMEBREW_TAP_DIR="$(brew --repo "$TRAVIS_REPO_SLUG")"          - mkdir -p "$HOMEBREW_TAP_DIR"          - rm -rf "$HOMEBREW_TAP_DIR"          - ln -s "$PWD" "$HOMEBREW_TAP_DIR" -        - export HOMEBREW_DEVELOPER="1" -        - ulimit -n 1024        script:          - brew test-bot - -      notifications: -        email: -          on_success: never -          on_failure: always      EOS      write_path(tap, ".travis.yml", travis)    end diff --git a/Library/Homebrew/utils.rb b/Library/Homebrew/utils.rb index 773efd2f4..77eae6f69 100644 --- a/Library/Homebrew/utils.rb +++ b/Library/Homebrew/utils.rb @@ -196,15 +196,8 @@ module Homebrew    end    def install_gem_setup_path!(name, version = nil, executable = name) -    # Respect user's preferences for where gems should be installed. -    ENV["GEM_HOME"] = if ENV["HOMEBREW_GEM_HOME"].to_s.empty? -      Gem.user_dir -    else -      ENV["HOMEBREW_GEM_HOME"] -    end -    unless ENV["HOMEBREW_GEM_PATH"].to_s.empty? -      ENV["GEM_PATH"] = ENV["HOMEBREW_GEM_PATH"] -    end +    # Match where our bundler gems are. +    ENV["GEM_HOME"] = "#{ENV["HOMEBREW_LIBRARY"]}/Homebrew/vendor/bundle/ruby/#{RbConfig::CONFIG["ruby_version"]}"      # Make rubygems notice env changes.      Gem.clear_paths diff --git a/Library/Homebrew/utils/ruby.sh b/Library/Homebrew/utils/ruby.sh index b16531e9f..2fb780c65 100644 --- a/Library/Homebrew/utils/ruby.sh +++ b/Library/Homebrew/utils/ruby.sh @@ -2,7 +2,7 @@ setup-ruby-path() {    local vendor_dir    local vendor_ruby_current_version    local vendor_ruby_path -  local ruby_old_version +  local ruby_version_new_enough    local minimum_ruby_version="2.3.3"    vendor_dir="$HOMEBREW_LIBRARY/Homebrew/vendor" @@ -35,12 +35,12 @@ setup-ruby-path() {          HOMEBREW_RUBY_PATH="$(which ruby)"        fi -      if [[ -n "$HOMEBREW_RUBY_PATH" ]] +      if [[ -n "$HOMEBREW_RUBY_PATH" && -z "$HOMEBREW_FORCE_VENDOR_RUBY" ]]        then -        ruby_old_version="$("$HOMEBREW_RUBY_PATH" -rrubygems -e "puts Gem::Version.new('$minimum_ruby_version') > Gem::Version.new(RUBY_VERSION)")" +        ruby_version_new_enough="$("$HOMEBREW_RUBY_PATH" -rrubygems -e "puts Gem::Version.new(RUBY_VERSION.to_s.dup) >= Gem::Version.new('$minimum_ruby_version')")"        fi -      if [[ -z "$HOMEBREW_RUBY_PATH" || "$ruby_old_version" == "true" || -n "$HOMEBREW_FORCE_VENDOR_RUBY" ]] +      if [[ -z "$HOMEBREW_RUBY_PATH" || -n "$HOMEBREW_FORCE_VENDOR_RUBY" || "$ruby_version_new_enough" != "true" ]]        then          brew vendor-install ruby          if [[ ! -x "$vendor_ruby_path" ]] | 
