name: CI on: push: branches: - '**' tags: - 'v*' pull_request: jobs: test: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Setup Go uses: actions/setup-go@v5 with: go-version-file: go.mod check-latest: true - name: Go version run: go version - name: Vet run: go vet ./... - name: Test run: go test -race ./... - name: Bench (smoke) run: go test -bench=. -run=^$ ./... runner-init: name: Runner Init (on release tag) runs-on: ubuntu-latest if: startsWith(github.ref, 'refs/tags/v') steps: - name: Checkout uses: actions/checkout@v4 - name: Setup Go uses: actions/setup-go@v5 with: go-version-file: go.mod check-latest: true - name: Warm module cache run: go mod download - name: Verify build and tests run: | go vet ./... go test -race ./...