diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..8cae493 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,39 @@ +name: CI / Test + +# Runs on every PR touching Go code, and on every push to main. +# Mirrors the test job from release.yml so PRs are validated independently +# of the release workflow. Uses Go 1.25 to match release.yml. + +on: + push: + branches: [main] + paths: + - '**.go' + - 'go.mod' + - 'go.sum' + - '.github/workflows/ci.yml' + pull_request: + paths: + - '**.go' + - 'go.mod' + - 'go.sum' + - '.github/workflows/ci.yml' + +permissions: + contents: read + +jobs: + test: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-go@v5 + with: + go-version: '1.25' + cache: true + - name: Tidy + run: go mod tidy && git diff --exit-code go.sum + - name: Vet + run: go vet ./... + - name: Test + run: go test -race -count=1 ./...