workflows/tests: cache RubyGems.

This should save about a minute for each CI run.
This commit is contained in:
Mike McQuaid 2020-04-27 11:31:21 +01:00
parent bdc7ebf3c7
commit 37d87e3fa3
No known key found for this signature in database
GPG Key ID: 48A898132FD8EE70

View File

@ -47,6 +47,9 @@ jobs:
brew update-reset Library/Taps/homebrew/homebrew-core brew update-reset Library/Taps/homebrew/homebrew-core
cd - cd -
GEMS_HASH=$(shasum -a 256 "$HOMEBREW_REPOSITORY/Library/Homebrew/Gemfile.lock" | cut -f1 -d' ')
echo "::set-output name=gems-hash::$GEMS_HASH"
if [ "$RUNNER_OS" = "Linux" ]; then if [ "$RUNNER_OS" = "Linux" ]; then
sudo chown -R "$USER" "$HOMEBREW_PREFIX" sudo chown -R "$USER" "$HOMEBREW_PREFIX"
fi fi
@ -74,17 +77,21 @@ jobs:
fi fi
brew doctor brew doctor
- name: Cache Bundler RubyGems
id: cache
uses: actions/cache@v1
with:
path: Library/Homebrew/vendor/bundle/
key: ${{ runner.os }}-gems-${{ steps.set-up-homebrew.outputs.gems-hash }}
restore-keys: |
${{ runner.os }}-gems-
- name: Install Bundler RubyGems - name: Install Bundler RubyGems
run: | if: steps.cache.outputs.cache-hit != 'true'
brew install-bundler-gems run: brew install-bundler-gems
# Check for uncommitted gems - name: Check for uncommitted RubyGems
git diff --stat --exit-code Library/Homebrew/vendor/bundle/ruby run: git diff --stat --exit-code Library/Homebrew/vendor/bundle/ruby
if [ "$RUNNER_OS" = "Linux" ]; then
# Fix permissions for 'brew tests'
sudo chmod -R g-w,o-w /home/linuxbrew /home/runner /opt
fi
- name: Install taps - name: Install taps
run: | run: |
@ -100,6 +107,9 @@ jobs:
if [ "$RUNNER_OS" = "macOS" ]; then if [ "$RUNNER_OS" = "macOS" ]; then
brew tap homebrew/cask brew tap homebrew/cask
brew update-reset Library/Taps/homebrew/homebrew-cask brew update-reset Library/Taps/homebrew/homebrew-cask
else
# Fix permissions for 'brew tests'
sudo chmod -R g-w,o-w /home/linuxbrew /home/runner /opt
fi fi
- name: Run brew style - name: Run brew style