From b8819e98f011998f2f7069319a573eb140869c3b Mon Sep 17 00:00:00 2001 From: Mike McQuaid Date: Tue, 21 Apr 2020 13:03:40 +0100 Subject: [PATCH] workflows/tests: allow missing system Linuxbrew. If it's not there: setup Linuxbrew but reuse the checkout. --- .github/workflows/tests.yml | 29 +++++++++++++++++++++++------ 1 file changed, 23 insertions(+), 6 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 4460bc666a..c3a5088e7b 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -24,19 +24,36 @@ jobs: - name: Set up Homebrew run: | - cd $(brew --repo) - rm -rf $GITHUB_WORKSPACE - ln -s $PWD $GITHUB_WORKSPACE - git fetch --tags origin ${{github.sha}} + if which brew &>/dev/null; then + HOMEBREW_REPOSITORY="$(brew --repo)" + else + HOMEBREW_PREFIX=/home/linuxbrew/.linuxbrew + HOMEBREW_REPOSITORY="$HOMEBREW_PREFIX/Homebrew" + sudo mkdir -p "$HOMEBREW_REPOSITORY/Library/Taps" + git -C "$HOMEBREW_REPOSITORY" init + git -C "$HOMEBREW_REPOSITORY" remote add origin "https://github.com/$GITHUB_REPOSITORY" + + cd "$HOMEBREW_PREFIX" + sudo mkdir -p bin etc include lib opt sbin share var/homebrew/linked Cellar + sudo ln -sf ../Homebrew/bin/brew "$HOMEBREW_PREFIX/bin/" + cd - + fi + + cd "$HOMEBREW_REPOSITORY" + rm -rf "$GITHUB_WORKSPACE" + ln -s "$HOMEBREW_REPOSITORY" "$GITHUB_WORKSPACE" + git fetch --tags origin "${{github.sha}}" git checkout --force -B master FETCH_HEAD brew update-reset Library/Taps/homebrew/homebrew-core + cd - + if [ "$RUNNER_OS" = "Linux" ]; then - sudo chown -R "$USER" $(brew --prefix) + sudo chown -R "$USER" "$HOMEBREW_PREFIX" fi - name: Set up Ruby if: matrix.os == 'ubuntu-latest' - uses: actions/setup-ruby@v1 + uses: actions/setup-ruby@master with: ruby-version: '2.6'