From f281cb757c6c5e21532cd0d4a9f1b92ad5857ded Mon Sep 17 00:00:00 2001 From: Mike McQuaid Date: Fri, 17 Apr 2020 16:20:35 +0100 Subject: [PATCH] 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. --- .github/workflows/tests.yml | 59 ++++++++++++++++++++++--------------- 1 file changed, 36 insertions(+), 23 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 5863f20f39..c4f3b91e9d 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -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