name: gofmt
on:
  push:
    branches:
      - master
  pull_request:
    paths:
      - '.github/workflows/gofmt.yml'
      - '**.go'
jobs:

  gofmt:
    name: Run gofmt
    runs-on: ubuntu-latest
    steps:

    - uses: actions/checkout@v4

    - uses: actions/setup-go@v5
      with:
        go-version: '1.22'
        check-latest: true

    - name: Install goimports
      run: |
        go install golang.org/x/tools/cmd/goimports@latest

    - name: gofmt
      run: |
        if [ "$(find . -iname '*.go' | grep -v '\.pb\.go$' | xargs goimports -l)" ]
        then
          find . -iname '*.go' | grep -v '\.pb\.go$' | xargs goimports -d
          exit 1
        fi
