name: Ruby Documentation CI

on:
  push:
    branches:
      - main
      - master
  pull_request:

permissions:
  contents: read

env:
  HOMEBREW_DEVELOPER: 1
  HOMEBREW_NO_AUTO_UPDATE: 1
  HOMEBREW_NO_ENV_HINTS: 1
  HOMEBREW_NO_INSTALL_CLEANUP: 1

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

jobs:
  rubydoc:
    if: github.repository == 'Homebrew/brew'
    runs-on: ubuntu-latest
    env:
      BUNDLE_GEMFILE: ${{ github.workspace }}/rubydoc/Gemfile
    steps:
      - name: Set up Homebrew
        id: set-up-homebrew
        uses: Homebrew/actions/setup-homebrew@main
        with:
          core: false
          cask: false
          test-bot: false

      - name: Checkout Homebrew/rubydoc.brew.sh
        uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
        with:
          repository: Homebrew/rubydoc.brew.sh
          path: rubydoc
          persist-credentials: false

      - name: Install Ruby
        uses: ruby/setup-ruby@472790540115ce5bd69d399a020189a8c87d641f # v1.247.0
        with:
          bundler-cache: true
          working-directory: rubydoc

      - name: Process rubydoc comments
        working-directory: ${{ steps.set-up-homebrew.outputs.repository-path }}/Library/Homebrew
        run: bundle exec yard doc --no-output --fail-on-warning
