name: ci on: push: pull_request: jobs: buf: runs-on: docker container: image: bufbuild/buf:latest steps: - uses: actions/checkout@v4 with: fetch-depth: 0 - name: buf lint run: buf lint - name: buf breaking (against main) run: buf breaking --against '.git#branch=main' if: github.ref != 'refs/heads/main' codegen-check: runs-on: docker container: image: golang:1.25 steps: - uses: actions/checkout@v4 - name: Install buf and protoc plugins run: | go install github.com/bufbuild/buf/cmd/buf@latest go install google.golang.org/protobuf/cmd/protoc-gen-go@latest go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@latest go install github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-grpc-gateway@latest - name: Regenerate and diff run: | export PATH="$PATH:$(go env GOPATH)/bin" buf generate git diff --exit-code -- gen || (echo "::error::gen/ is out of date — run buf generate and commit the result" && exit 1) - name: go build run: go build ./...