workflows/tests: handle system Linuxbrew.
GitHub Actions has started rolling out Linuxbrew to some workers so ensure we can handle whether or not it's present. Cleanup and move things around while we're here.
This commit is contained in:
parent
88fb5ca910
commit
f281cb757c
59
.github/workflows/tests.yml
vendored
59
.github/workflows/tests.yml
vendored
@ -19,42 +19,44 @@ jobs:
|
||||
|
||||
- name: Set up Homebrew PATH
|
||||
run: |
|
||||
if [ "$RUNNER_OS" = "macOS" ]; then
|
||||
echo "::add-path::/usr/local/bin:/usr/bin:/bin"
|
||||
if [ "$RUNNER_OS" = "Linux" ]; then
|
||||
echo "::add-path::/home/linuxbrew/.linuxbrew/bin"
|
||||
else
|
||||
echo "::add-path::/home/linuxbrew/.linuxbrew/bin:/usr/bin:/bin"
|
||||
echo "::add-path::/usr/local/bin"
|
||||
fi
|
||||
|
||||
- name: Set up Homebrew
|
||||
run: |
|
||||
if [ "$RUNNER_OS" = "Linux" ]; then
|
||||
HOMEBREW_REPOSITORY=/home/linuxbrew/.linuxbrew/Homebrew
|
||||
sudo mkdir -p /home/linuxbrew/.linuxbrew
|
||||
cd ..
|
||||
sudo mv "brew" "$HOMEBREW_REPOSITORY"
|
||||
sudo ln -s "$HOMEBREW_REPOSITORY" "brew"
|
||||
cd /home/linuxbrew/.linuxbrew
|
||||
sudo mkdir -p bin etc include lib opt sbin share var/homebrew/linked Cellar
|
||||
sudo ln -s ../Homebrew/bin/brew /home/linuxbrew/.linuxbrew/bin/
|
||||
sudo chown -R "$USER" /home/linuxbrew
|
||||
|
||||
# Install taps needed for 'brew tests'
|
||||
export HOMEBREW_NO_AUTO_UPDATE=1
|
||||
brew tap homebrew/bundle
|
||||
else
|
||||
HOMEBREW_REPOSITORY="$(brew --repo)"
|
||||
sudo mkdir -p "$HOMEBREW_REPOSITORY/Library/Taps"
|
||||
mv "$HOMEBREW_REPOSITORY/Library/Taps" "$PWD/Library"
|
||||
sudo rm -rf "$HOMEBREW_REPOSITORY"
|
||||
sudo ln -s "$PWD" "$HOMEBREW_REPOSITORY"
|
||||
brew update-reset Library/Taps/homebrew/homebrew-core
|
||||
sudo ln -sf "$PWD" "$HOMEBREW_REPOSITORY"
|
||||
|
||||
# Install taps needed for 'brew tests'
|
||||
export HOMEBREW_NO_AUTO_UPDATE=1
|
||||
brew tap homebrew/cask
|
||||
brew tap homebrew/bundle
|
||||
brew tap homebrew/services
|
||||
cd /home/linuxbrew/.linuxbrew
|
||||
sudo mkdir -p bin etc include lib opt sbin share var/homebrew/linked Cellar
|
||||
sudo ln -sf ../Homebrew/bin/brew /home/linuxbrew/.linuxbrew/bin/
|
||||
sudo chown -R "$USER" /home/linuxbrew
|
||||
|
||||
brew update-reset Homebrew/Library/Taps/homebrew/homebrew-core
|
||||
else
|
||||
HOMEBREW_REPOSITORY="$(brew --repo)"
|
||||
|
||||
mv "$HOMEBREW_REPOSITORY/Library/Taps" "$PWD/Library"
|
||||
sudo rm -rf "$HOMEBREW_REPOSITORY"
|
||||
sudo ln -sf "$PWD" "$HOMEBREW_REPOSITORY"
|
||||
|
||||
brew update-reset Library/Taps/homebrew/homebrew-core
|
||||
fi
|
||||
|
||||
- name: Set up Ruby
|
||||
if: matrix.os == 'ubuntu-latest'
|
||||
uses: actions/setup-ruby@v1
|
||||
with:
|
||||
ruby-version: '2.6'
|
||||
|
||||
- name: Run brew config
|
||||
run: brew config
|
||||
|
||||
@ -81,6 +83,17 @@ jobs:
|
||||
sudo chmod -R g-w,o-w /home/linuxbrew /home/runner /opt
|
||||
fi
|
||||
|
||||
- name: Install taps
|
||||
run: |
|
||||
# Install taps needed for 'brew tests' and 'brew man'
|
||||
export HOMEBREW_NO_AUTO_UPDATE=1
|
||||
sudo chown -R "$USER" Library/Taps
|
||||
brew tap homebrew/bundle
|
||||
brew tap homebrew/services
|
||||
if [ "$RUNNER_OS" = "macOS" ]; then
|
||||
brew tap homebrew/cask
|
||||
fi
|
||||
|
||||
- name: Run brew style
|
||||
run: brew style --display-cop-names
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user