name: ci on: push: branches: [main] pull_request: branches: [main] permissions: contents: read concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true jobs: build-test: name: build + vet + guard + race runs-on: ubuntu-latest timeout-minutes: 10 steps: - name: Checkout uses: actions/checkout@v4 - name: Setup Go uses: actions/setup-go@v5 with: go-version: '1.23' cache: true - name: Download modules run: go mod download - name: Build run: go build ./... - name: Vet run: go vet ./... - name: Guard (G1/G6/G11/G12/G13) run: make guard - name: Test (race) run: go test -race -timeout 5m ./...