Merge pull request #3736 from MikeMcQuaid/travis-config-tweaks
.travis.yml: make configuration tweaks.
This commit is contained in:
commit
ede3d91f0a
42
.travis.yml
42
.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
|
||||
|
@ -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" ;;
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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" ]]
|
||||
|
Loading…
x
Reference in New Issue
Block a user