diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index b1f5e32..74e2822 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -40,16 +40,21 @@ jobs: - name: Set up Rust run: rustup show - # Pinned to match AGENTS.md / Dockerfile.factory: protoc 29.3, - # protoc-gen-prost 0.5.0, protoc-gen-tonic 0.5.0 and - # protoc-gen-prost-serde 0.4.0. If these drift from the committed - # examples/src/gen/ output, this job fails below. + # protoc 29.3 must match the version pinned in AGENTS.md, the Makefile + # and Dockerfile.factory (the factory image). If this job's toolchain + # drifts from those, it will disagree with the committed + # examples/src/gen/ output and fail below. - name: Set up protoc uses: arduino/setup-protoc@v3 with: version: "29.3" repo-token: ${{ secrets.GITHUB_TOKEN }} + # protoc-gen-prost 0.5.0, protoc-gen-tonic 0.5.0 and + # protoc-gen-prost-serde 0.4.0 must likewise match AGENTS.md, the + # Makefile and Dockerfile.factory. In Go, drift between the pinned + # plugin versions and the ones used to produce the committed generated + # code was a recurring source of spurious diffs. - name: Install prost/tonic/serde protoc plugins run: | cargo install --locked protoc-gen-prost@0.5.0 protoc-gen-tonic@0.5.0 protoc-gen-prost-serde@0.4.0