build(deps): Bump int128/wait-for-workflows-action from 1.76.0 to 1.82.0 in the github-actions group #29
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: CI | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| # Cancel superseded runs on the same ref (e.g. force-pushes to a PR). | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| permissions: | |
| contents: read | |
| jobs: | |
| test: | |
| name: test (${{ matrix.os }}) | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: [ubuntu-latest, macos-latest] | |
| runs-on: ${{ matrix.os }} | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: actions/setup-go@v6 | |
| with: | |
| go-version-file: go.mod | |
| cache: true | |
| - name: Check formatting | |
| run: | | |
| unformatted=$(gofmt -l .) | |
| if [ -n "$unformatted" ]; then | |
| echo "These files are not gofmt-clean:" | |
| echo "$unformatted" | |
| exit 1 | |
| fi | |
| - name: Vet | |
| run: go vet ./... | |
| - name: Build | |
| run: go build ./... | |
| - name: Test | |
| run: go test ./... -count=1 | |
| # Per-PR race tier: full suite (NOT -short — the -short gate skips the | |
| # highest-value concurrency tests: TestParallelBuilderStress, | |
| # TestParallelBuilderConcurrentBuilds, TestRapidOpenClose). A single full | |
| # run is ~2 min; deeper stress (repeat + GOMAXPROCS variation) runs on | |
| # merge to main via race-stress.yml. | |
| race: | |
| name: race (full) | |
| runs-on: ubuntu-latest | |
| env: | |
| # Remember more prior accesses so races with longer gaps still report. | |
| GORACE: history_size=2 | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: actions/setup-go@v6 | |
| with: | |
| go-version-file: go.mod | |
| cache: true | |
| - name: Test (race) | |
| run: go test -race -count=1 -timeout 15m ./... | |
| lint: | |
| name: golangci-lint | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: actions/setup-go@v6 | |
| with: | |
| go-version-file: go.mod | |
| # golangci-lint-action manages its own analysis cache. | |
| cache: false | |
| - uses: golangci/golangci-lint-action@v9 | |
| with: | |
| version: v2.12.2 | |
| govulncheck: | |
| name: govulncheck | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: actions/setup-go@v6 | |
| with: | |
| go-version-file: go.mod | |
| cache: true | |
| - name: Vulnerability scan | |
| run: go run golang.org/x/vuln/cmd/govulncheck@latest ./... |