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:
Mike McQuaid 2020-04-17 16:20:35 +01:00
parent 88fb5ca910
commit f281cb757c
No known key found for this signature in database
GPG Key ID: 48A898132FD8EE70

View File

@ -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