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 - name: Set up Homebrew PATH
run: | run: |
if [ "$RUNNER_OS" = "macOS" ]; then if [ "$RUNNER_OS" = "Linux" ]; then
echo "::add-path::/usr/local/bin:/usr/bin:/bin" echo "::add-path::/home/linuxbrew/.linuxbrew/bin"
else else
echo "::add-path::/home/linuxbrew/.linuxbrew/bin:/usr/bin:/bin" echo "::add-path::/usr/local/bin"
fi fi
- name: Set up Homebrew - name: Set up Homebrew
run: | run: |
if [ "$RUNNER_OS" = "Linux" ]; then if [ "$RUNNER_OS" = "Linux" ]; then
HOMEBREW_REPOSITORY=/home/linuxbrew/.linuxbrew/Homebrew 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' sudo mkdir -p "$HOMEBREW_REPOSITORY/Library/Taps"
export HOMEBREW_NO_AUTO_UPDATE=1
brew tap homebrew/bundle
else
HOMEBREW_REPOSITORY="$(brew --repo)"
mv "$HOMEBREW_REPOSITORY/Library/Taps" "$PWD/Library" mv "$HOMEBREW_REPOSITORY/Library/Taps" "$PWD/Library"
sudo rm -rf "$HOMEBREW_REPOSITORY" sudo rm -rf "$HOMEBREW_REPOSITORY"
sudo ln -s "$PWD" "$HOMEBREW_REPOSITORY" sudo ln -sf "$PWD" "$HOMEBREW_REPOSITORY"
brew update-reset Library/Taps/homebrew/homebrew-core
# Install taps needed for 'brew tests' cd /home/linuxbrew/.linuxbrew
export HOMEBREW_NO_AUTO_UPDATE=1 sudo mkdir -p bin etc include lib opt sbin share var/homebrew/linked Cellar
brew tap homebrew/cask sudo ln -sf ../Homebrew/bin/brew /home/linuxbrew/.linuxbrew/bin/
brew tap homebrew/bundle sudo chown -R "$USER" /home/linuxbrew
brew tap homebrew/services
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 fi
- name: Set up Ruby
if: matrix.os == 'ubuntu-latest'
uses: actions/setup-ruby@v1
with:
ruby-version: '2.6'
- name: Run brew config - name: Run brew config
run: brew config run: brew config
@ -81,6 +83,17 @@ jobs:
sudo chmod -R g-w,o-w /home/linuxbrew /home/runner /opt sudo chmod -R g-w,o-w /home/linuxbrew /home/runner /opt
fi 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 - name: Run brew style
run: brew style --display-cop-names run: brew style --display-cop-names