Merge pull request #3736 from MikeMcQuaid/travis-config-tweaks

.travis.yml: make configuration tweaks.
This commit is contained in:
Mike McQuaid 2018-01-26 22:21:43 +00:00 committed by GitHub
commit ede3d91f0a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 42 additions and 56 deletions

View File

@ -1,10 +1,10 @@
language: ruby language: c
rvm: system
cache: cache:
directories: directories:
- $HOME/.gem/ruby - $HOME/.gem/ruby
- $HOME/Library/Caches/Homebrew/style - $HOME/Library/Caches/Homebrew/style
- $HOME/Library/Caches/Homebrew/tests - $HOME/Library/Caches/Homebrew/tests
- $HOME/Library/Homebrew/vendor/bundle
branches: branches:
only: only:
- master - master
@ -12,33 +12,47 @@ matrix:
fast_finish: true fast_finish: true
include: include:
- os: osx - os: osx
osx_image: xcode9 compiler: clang
osx_image: xcode9.2
- os: linux - os: linux
compiler: gcc
sudo: false sudo: false
before_install: before_install:
- export HOMEBREW_NO_AUTO_UPDATE=1
- export HOMEBREW_DEVELOPER=1
- export HOMEBREW_FORCE_VENDOR_RUBY=1
- if [ "${TRAVIS_OS_NAME}" = "osx" ]; then - if [ "${TRAVIS_OS_NAME}" = "osx" ]; then
MACOS="1";
HOMEBREW_REPOSITORY="$(brew --repo)"; 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"; 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 rm -rf "$HOMEBREW_REPOSITORY";
sudo ln -s "$PWD" "$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 else
umask 022;
git fetch --unshallow;
export PATH="$PWD/bin:$PATH";
HOMEBREW_CORE_TAP_DIR="$(brew --repo "homebrew/core")"; HOMEBREW_CORE_TAP_DIR="$(brew --repo "homebrew/core")";
mkdir -p "$HOMEBREW_CORE_TAP_DIR"; 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")"; 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"; ln -s "$HOMEBREW_TEST_BOT_TAP_DIR/.git" "$HOMEBREW_TEST_BOT_TAP_DIR/Formula" "$HOMEBREW_CORE_TAP_DIR";
fi fi
# can be removed after 1.5.3 is tagged
- if [ "$LINUX" ]; then
export HOMEBREW_FORCE_VENDOR_RUBY=1;
fi
script: script:
- brew test-bot - brew test-bot

View File

@ -69,16 +69,6 @@ then
odie "Cowardly refusing to continue at this prefix: $HOMEBREW_PREFIX" odie "Cowardly refusing to continue at this prefix: $HOMEBREW_PREFIX"
fi 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)" HOMEBREW_SYSTEM="$(uname -s)"
case "$HOMEBREW_SYSTEM" in case "$HOMEBREW_SYSTEM" in
Darwin) HOMEBREW_MACOS="1" ;; Darwin) HOMEBREW_MACOS="1" ;;

View File

@ -44,39 +44,28 @@ module Homebrew
write_path(tap, "README.md", readme) write_path(tap, "README.md", readme)
travis = <<~EOS travis = <<~EOS
language: ruby language: c
os: osx os: osx
env: OSX=10.12 compiler: clang
osx_image: xcode8.3 osx_image: xcode9.2
rvm: system
cache: cache:
directories: directories:
- $HOME/.gem/ruby - $HOME/.gem/ruby
- Library/Homebrew/vendor/bundle - Library/Homebrew/vendor/bundle
branches:
only:
- master
before_install: before_install:
- export TRAVIS_COMMIT="$(git rev-parse --verify -q HEAD)" - sudo chown -R "$USER" "$(brew --repo)"
- if [ -f ".git/shallow" ]; then - travis_retry brew update
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
- HOMEBREW_TAP_DIR="$(brew --repo "$TRAVIS_REPO_SLUG")" - HOMEBREW_TAP_DIR="$(brew --repo "$TRAVIS_REPO_SLUG")"
- mkdir -p "$HOMEBREW_TAP_DIR" - mkdir -p "$HOMEBREW_TAP_DIR"
- rm -rf "$HOMEBREW_TAP_DIR" - rm -rf "$HOMEBREW_TAP_DIR"
- ln -s "$PWD" "$HOMEBREW_TAP_DIR" - ln -s "$PWD" "$HOMEBREW_TAP_DIR"
- export HOMEBREW_DEVELOPER="1"
- ulimit -n 1024
script: script:
- brew test-bot - brew test-bot
notifications:
email:
on_success: never
on_failure: always
EOS EOS
write_path(tap, ".travis.yml", travis) write_path(tap, ".travis.yml", travis)
end end

View File

@ -196,15 +196,8 @@ module Homebrew
end end
def install_gem_setup_path!(name, version = nil, executable = name) def install_gem_setup_path!(name, version = nil, executable = name)
# Respect user's preferences for where gems should be installed. # Match where our bundler gems are.
ENV["GEM_HOME"] = if ENV["HOMEBREW_GEM_HOME"].to_s.empty? ENV["GEM_HOME"] = "#{ENV["HOMEBREW_LIBRARY"]}/Homebrew/vendor/bundle/ruby/#{RbConfig::CONFIG["ruby_version"]}"
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
# Make rubygems notice env changes. # Make rubygems notice env changes.
Gem.clear_paths Gem.clear_paths

View File

@ -2,7 +2,7 @@ setup-ruby-path() {
local vendor_dir local vendor_dir
local vendor_ruby_current_version local vendor_ruby_current_version
local vendor_ruby_path local vendor_ruby_path
local ruby_old_version local ruby_version_new_enough
local minimum_ruby_version="2.3.3" local minimum_ruby_version="2.3.3"
vendor_dir="$HOMEBREW_LIBRARY/Homebrew/vendor" vendor_dir="$HOMEBREW_LIBRARY/Homebrew/vendor"
@ -35,12 +35,12 @@ setup-ruby-path() {
HOMEBREW_RUBY_PATH="$(which ruby)" HOMEBREW_RUBY_PATH="$(which ruby)"
fi fi
if [[ -n "$HOMEBREW_RUBY_PATH" ]] if [[ -n "$HOMEBREW_RUBY_PATH" && -z "$HOMEBREW_FORCE_VENDOR_RUBY" ]]
then 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 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 then
brew vendor-install ruby brew vendor-install ruby
if [[ ! -x "$vendor_ruby_path" ]] if [[ ! -x "$vendor_ruby_path" ]]