name: Run apidiff

on: [ pull_request ]

permissions:
  contents: read

jobs:
  apidiff:
    runs-on: ubuntu-latest
    if: github.base_ref
    steps:
      - name: Install Go
        uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
        with:
          go-version: 1.24.x
      - name: Add GOBIN to PATH
        run: echo "PATH=$(go env GOPATH)/bin:$PATH" >>$GITHUB_ENV
      - name: Install dependencies
        run: go install golang.org/x/exp/cmd/apidiff@latest
      - name: Checkout old code
        uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
        with:
          ref: ${{ github.base_ref }}
          path: "old"
      - name: Checkout new code
        uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
        with:
          path: "new"
      - name: APIDiff
        run: ./_tools/apidiff.sh -d ../old
        working-directory: "new"
