Homebrew/homebrew-bundle

View on GitHub
.github/workflows/tests.yml

Summary

Maintainability
Test Coverage
name: CI
on:
  push:
    branches: master
  pull_request:
permissions:
  contents: read

jobs:
  tests:
    runs-on: ${{ matrix.os }}
    strategy:
      matrix:
        os: [ubuntu-latest, macOS-latest]

    steps:
    - name: Set up Homebrew
      id: set-up-homebrew
      uses: Homebrew/actions/setup-homebrew@master

    - name: Cache Homebrew Bundler RubyGems
      id: cache
      uses: actions/cache@3624ceb22c1c5a301c8db4169662070a689d9ea8 # v4
      with:
        path: ${{ steps.set-up-homebrew.outputs.gems-path }}
        key: ${{ runner.os }}-rubygems-${{ steps.set-up-homebrew.outputs.gems-hash }}
        restore-keys: ${{ runner.os }}-rubygems-

    - name: Install Homebrew Bundler RubyGems
      if: steps.cache.outputs.cache-hit != 'true'
      run: brew install-bundler-gems

    - run: brew test-bot --only-tap-syntax

    - name: Set up Ruby
      uses: ruby/setup-ruby@7bae1d00b5db9166f4f0fc47985a3a5702cb58f0 # v1.197.0
      with:
        bundler-cache: true

    - name: Run RSpec tests
      run: bundle exec rspec

    - uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238
      if: always()

    - name: Test that installing works
      run: |
        echo 'brew "hello"' > ./Brewfile
        brew bundle
        hello