name: Go format check
on:
  pull_request:
    types: ['opened', 'synchronize']

jobs:
  run-tests:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7

      - uses: actions/setup-go@cdcb36043654635271a94b9a6d1392de5bb323a7 # v5.0.1
        with:
          go-version-file: ./.go-version

      - name: Run go format
        run: |-
          files=$(gofmt -s -l .)
          if [ -n "$files" ]; then
            echo >&2 "The following file(s) are not gofmt compliant:"
            echo >&2 "$files"
            exit 1
          fi
