From 0164d3a4d6d1fa00b526b7c5b8c1cf42f8424863 Mon Sep 17 00:00:00 2001 From: sf-factory-bot Date: Fri, 9 Oct 2026 23:31:27 +0000 Subject: [PATCH 1/3] ci: cross-reference pinned generate toolchain versions (#11) Clarify that protoc and the prost/tonic/prost-serde plugin versions in the generate job must match AGENTS.md, the Makefile and Dockerfile.factory, as the issue asks. --- .github/workflows/build.yml | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) 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 From d868b88c0d6bc6cd10e4c765ef4420a8f188bf5d Mon Sep 17 00:00:00 2001 From: sf-factory-bot Date: Fri, 9 Oct 2026 23:32:37 +0000 Subject: [PATCH 2/3] test: hand-edit generated file to demonstrate CI drift detection (#11) Temporary commit to show the generate job failing on stale examples; reverted in the next commit. --- examples/src/gen/examples/v1/examples.v1.rs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/examples/src/gen/examples/v1/examples.v1.rs b/examples/src/gen/examples/v1/examples.v1.rs index f7fd0ea..d9292a4 100644 --- a/examples/src/gen/examples/v1/examples.v1.rs +++ b/examples/src/gen/examples/v1/examples.v1.rs @@ -202,3 +202,5 @@ include!("examples.v1.tonic.rs"); include!("examples.v1.serde.rs"); include!("examples.v1.mcp.rs"); // @@protoc_insertion_point(module) + +// hand-edit to demonstrate CI drift detection (issue #11) From 81c5e9a38bbb7b7226db26ffd36cf75fe87c4fa5 Mon Sep 17 00:00:00 2001 From: sf-factory-bot Date: Fri, 9 Oct 2026 23:35:22 +0000 Subject: [PATCH 3/3] Revert "test: hand-edit generated file to demonstrate CI drift detection (#11)" This reverts commit d868b88c0d6bc6cd10e4c765ef4420a8f188bf5d. --- examples/src/gen/examples/v1/examples.v1.rs | 2 -- 1 file changed, 2 deletions(-) diff --git a/examples/src/gen/examples/v1/examples.v1.rs b/examples/src/gen/examples/v1/examples.v1.rs index d9292a4..f7fd0ea 100644 --- a/examples/src/gen/examples/v1/examples.v1.rs +++ b/examples/src/gen/examples/v1/examples.v1.rs @@ -202,5 +202,3 @@ include!("examples.v1.tonic.rs"); include!("examples.v1.serde.rs"); include!("examples.v1.mcp.rs"); // @@protoc_insertion_point(module) - -// hand-edit to demonstrate CI drift detection (issue #11)