andrew/brewdler

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@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@cacc9f1c0b3f4eb8a16a6bb0ed10897b43b9de49 # v1.176.0
      with:
        bundler-cache: true

    - name: Run RSpec tests
      run: bundle exec rspec

    - uses: codecov/codecov-action@5ecb98a3c6b747ed38dc09f787459979aebb39be
      if: always()

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