name: build on: push: branches: - main pull_request: jobs: test: name: Test & Build runs-on: ubuntu-latest steps: - name: Set up Go uses: actions/setup-go@v5 with: go-version: '>=1.22.0' - name: Check out code into the Go module directory uses: actions/checkout@v4 - name: Run go mod tidy run: | set -e go mod tidy output=$(git status -s) if [ -z "${output}" ]; then exit 0 fi echo 'We wish to maintain a tidy state for go mod. Please run `go mod tidy` on your branch, commit and push again.' echo 'Running `go mod tidy` on this CI test yields with the following changes:' echo "$output" exit 1 - name: Test run: go test -race ./... - name: Lint run: "go vet ./..." - name: Staticcheck uses: dominikh/staticcheck-action@v1.3.0 with: version: "2025.1" install-go: false - name: Build run: go build ./...