build: Introduce "min" version of CI builder #30694
Merged
+137
−74
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.
Adds a "min" flavor of the CI builder image which is ~1/10th the size of the full image. Because our Bazel build is fully hermetic, it already pulls in the necessary toolchains and thus the image we use can be quite small. The "min" image can be fetched in ~30 seconds, whereas the full image takes ~2 minutes and 30 seconds. This should save about 4 minutes end-to-end in CI because both the initial mkpipeline step and the Build steps will each save 2 minutes.
Similarly most CI jobs just run other Docker images built by the initial step, so they also can use this "min" image, which should save another 2 minutes.
Motivation
Reduce CI time by ~4 minutes
Checklist
$T ⇔ Proto$T
mapping (possibly in a backwards-incompatible way), then it is tagged with aT-proto
label.