aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMike McQuaid2018-01-26 22:21:43 +0000
committerGitHub2018-01-26 22:21:43 +0000
commitede3d91f0ab2b9c1ae8cc86fff45d25e4f9f6e6d (patch)
tree8faa18585620ae50b9f53d5701253e36a6861bb0
parent65e940f833ef90b9111055f8772f601ad3b53b8c (diff)
parent4abae7f7e964ae2c1cb8ba83f0ac4ebae687c2c1 (diff)
downloadbrew-ede3d91f0ab2b9c1ae8cc86fff45d25e4f9f6e6d.tar.bz2
Merge pull request #3736 from MikeMcQuaid/travis-config-tweaks
.travis.yml: make configuration tweaks.
-rw-r--r--.travis.yml42
-rw-r--r--Library/Homebrew/brew.sh10
-rw-r--r--Library/Homebrew/dev-cmd/tap-new.rb27
-rw-r--r--Library/Homebrew/utils.rb11
-rw-r--r--Library/Homebrew/utils/ruby.sh8
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" ]]