name: CI

on:
  push:
    branches: ["main", "develop"]
  pull_request:

jobs:
  test-build:
    runs-on: ubuntu-latest

    steps:
      - name: Checkout
        uses: actions/checkout@v4

      - name: Setup Go
        uses: actions/setup-go@v5
        with:
          go-version: "1.22"
          cache: true

      - name: Go env
        run: |
          go version
          go env

      - name: Vet
        run: go vet ./...

      - name: Test
        run: go test ./... -race -count=1

      - name: Build
        run: go build ./cmd/...

      - name: Quick static checks (optional)
        run: |
          # gofmt check (fails if formatting differs)
          test -z "$(gofmt -l . | head -n 1)"
