Repository navigation
Split conformance CI into parallel server/client matrix - #5
Merged
Merged
Conversation
Two changes: 1. Drop `apt-get install protobuf-compiler` (14s). connectrpc-conformance has no build.rs and checked-in generated code; nothing in its dep tree invokes protoc. The only workspace crate that does is tests/streaming (via connectrpc-build), which -p connectrpc-conformance does not pull. 2. Matrix server/client so the suites run in parallel. The server suite (~20s, 1192 tests) finishes in the shadow of the client suite (~94s, 2580 tests). Each matrix entry pays the build again, but only builds its own binary via --bin. Timings from run 23173511743 (serial): 9s setup + 14s apt + 50s build + 20s server + 94s client + 6s post = 193s. Projected matrix: max(9+build+20+6, 9+build+94+6) = ~159s. Drops to lower if the per-bin --release build caches well. The two matrix entries surface as separate required checks (Conformance (server) and Conformance (client)), so ruleset 13913375 needs its required_status_checks updated after merge - replace `Conformance` with the two new names.
iainmcgin
marked this pull request as ready for review
March 17, 2026 17:53
asacamano
approved these changes
Mar 17, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Changes
Drop
apt-get install protobuf-compiler(14s).connectrpc-conformanceuses checked-in generated code - nobuild.rs, noconnectrpc-buildin its dep tree, nothing invokes protoc.Matrix server/client so the suites run in parallel. Each entry also builds only its own binary via
--bin.Timings (from run 23173511743)
apt-get protoc14sThe server suite finishes in the shadow of the client suite.
Post-merge follow-up
The two matrix entries will surface as separate checks:
Conformance (server)andConformance (client). Ruleset 13913375 currently requiresConformance; after merge, update itsrequired_status_checksto replace that with the two new names (same GET/edit/PUT pattern as the case-sensitivity fix earlier).Separate open question
The 50s build with a warm Swatinem cache is surprisingly slow - a full hit should be 5-10s. Worth investigating separately (cache key invalidation? something uncacheable in the build?) since that would help every job, not just conformance.