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
|
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
|
||||||
|
@ -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" ;;
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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" ]]
|
||||||
|
Loading…
x
Reference in New Issue
Block a user