Skip to content

ci: migrate Claude workflow to org reusable (author gate + SHA-pinned bun) #571

ci: migrate Claude workflow to org reusable (author gate + SHA-pinned bun)

ci: migrate Claude workflow to org reusable (author gate + SHA-pinned bun) #571

Workflow file for this run

name: CI
on:
pull_request:
push:
branches:
- main
jobs:
go:
runs-on: ubuntu-latest
steps:
- name: Check out repository
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Set up Go
uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0
with:
go-version-file: go.mod
- name: Install GoReleaser
uses: goreleaser/goreleaser-action@1a80836c5c9d9e5755a25cb59ec6f45a3b5f41a8 # v7.2.1
with:
distribution: goreleaser
version: "~> v2"
install-only: true
- name: Validate release configuration
run: goreleaser check
- name: Run formatting check
run: make fmt-check
- name: Run docs link check
run: make docs-check
- name: Run SQLite readiness smoke test
run: make smoke-sqlite-vec
- name: Run tests
run: make test
- name: Run static analysis
run: make vet
analyzers:
runs-on: ubuntu-latest
steps:
- name: Check out repository
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Set up Go
uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0
with:
go-version-file: go.mod
- name: Add Go bin directory to PATH
run: echo "$(go env GOPATH)/bin" >> "$GITHUB_PATH"
- name: Install static analyzers
run: |
go install honnef.co/go/tools/cmd/staticcheck@v0.7.0
go install golang.org/x/vuln/cmd/govulncheck@v1.1.4
- name: Run analyzer suite
run: make analyze
- name: Run race tests
run: make test-race
macos:
runs-on: macos-latest
steps:
- name: Check out repository
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Set up Go
uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0
with:
go-version-file: go.mod
# fmt-check is platform-independent; run it only in the linux go job.
- name: Run SQLite readiness smoke test
run: make smoke-sqlite-vec
- name: Run tests
run: make test
- name: Run static analysis
run: make vet
docker:
runs-on: ubuntu-latest
steps:
- name: Check out repository
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Build contributor Dockerfile
run: docker build --progress=plain --tag pituitary-dev:${{ github.sha }} .