name: Publish to Homebrew

on:
  repository_dispatch:
    types: [ release-created ]

permissions:
  contents: read

jobs:
  homebrew-publish:
    runs-on: ubuntu-latest
    steps:
    - name: Set up Homebrew
      id: set-up-homebrew
      uses: Homebrew/actions/setup-homebrew@24a0b15df658487e137fcd20fba32757d41a9411 # master

    - name: Cache Homebrew Bundler RubyGems
      id: cache
      uses: actions/cache@v4.3.0
      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

    - name: Bump formulae
      uses: Homebrew/actions/bump-packages@24a0b15df658487e137fcd20fba32757d41a9411 # master
      continue-on-error: true
      with:
        # Custom GitHub access token with only the 'public_repo' scope enabled
        token: ${{secrets.HOMEBREW_ACCESS_TOKEN}}
        # Bump only these formulae if outdated
        formulae: |
          topgrade
