name: gofmt on: push: branches: - master pull_request: paths: - '.github/workflows/gofmt.yml' - '**.go' jobs: gofmt: name: Run gofmt runs-on: ubuntu-latest steps: - name: Set up Go 1.17 uses: actions/setup-go@v2 with: go-version: 1.17 id: go - name: Check out code into the Go module directory uses: actions/checkout@v2 - uses: actions/cache@v2 with: path: ~/go/pkg/mod key: ${{ runner.os }}-gofmt1.17-${{ hashFiles('**/go.sum') }} restore-keys: | ${{ runner.os }}-gofmt1.17- - name: Install goimports run: | go get golang.org/x/tools/cmd/goimports go build golang.org/x/tools/cmd/goimports - 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