name: Autogenerated files check

on:
  pull_request:
    paths:
      - .github/workflows/autogenerated-files.yml
      - README.md
      - completions/**
      - docs/Manpage.md
      - manpages/brew.1

permissions:
  contents: read

env:
  HOMEBREW_DEVELOPER: 1
  HOMEBREW_NO_AUTO_UPDATE: 1

defaults:
  run:
    shell: bash -xeuo pipefail {0}

jobs:
  autogenerated:
    runs-on: ubuntu-latest
    if: github.repository == 'Homebrew/brew'
    steps:
      - name: Set up Homebrew
        id: set-up-homebrew
        uses: Homebrew/actions/setup-homebrew@main
        with:
          core: false
          cask: false
          test-bot: true

      - name: Cache Bundler RubyGems
        uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3
        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: Check for changes to autogenerated files
        id: check
        run: |
          if brew generate-man-completions
          then
            echo "This PR modifies autogenerated files!" >&2
            echo "Please ensure their source files are updated and then run the following:
              brew generate-man-completions" >&2
            exit 1
          else
            exit 0
          fi
