name: CI on: pull_request: branches: [master] jobs: check: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-go@v5 with: go-version-file: go.mod - name: Build run: go build ./... - name: Vet run: go vet ./... - name: Format check run: | unformatted=$(gofmt -l $(go list -f '{{.Dir}}' ./...)) if [ -n "$unformatted" ]; then echo "These files need gofmt:" echo "$unformatted" exit 1 fi - name: Lint uses: golangci/golangci-lint-action@v7 with: version: v2.4.0 - name: Test (race detector) run: go test -race ./...