Repository navigation
fix(release): verify container image before merge - #16
Merged
Merged
Conversation
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 join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Summary
timestamp.protoinclude is absentThis fixes the exact failure in release run 32878855855, where
protoccould not findgoogle/protobuf/timestamp.proto.Validation
Containerfilebuild passedwalgit,walgit-server, Git, and Git LFS are presentgit diff --checkactionlint1.7.7 on both changed workflows467ab74983f2b1ed3e6bee116a0a397b3b3b6c1f: PASS, no findingsChange Safety Contract
Preservation boundary
Existing Rust and web builds, runtime image contents, entrypoint behavior, release publishing, SBOM, provenance, attestation, signing, dependency audit, and RustFS contract checks remain unchanged. The authorized change is to fix the release build dependency and enforce the 15-minute CI limit.
Owner and invariant
Containerfileowns release-image build dependencies. It must compile the same locked WalGit source with the protobuf well-known types available. CI must reject an image that cannot build or lacks the runtime tools, and no job may run longer than 15 minutes.Direct and adjacent impact
The change affects only the image builder and GitHub Actions. It adds a builder-only Debian package, a no-push image validation job, the existing quality aggregate dependency, and the release timeout. It does not change runtime code, APIs, object-store behavior, configuration, schemas, or persisted data.
Compatibility and recovery
There is no persisted-contract or mixed-version impact. The added headers remain in the discarded build stage. A revert restores the prior workflows and builder, although that would restore the known release failure. The preferred recovery for timing failure is to split or cache the build within the same 15-minute ceiling, not increase the timeout.
Verification
Local evidence proves that the actual image builds and its runtime tools exist. Pull-request CI proved the hosted build completes within 15 minutes and kept the existing required quality aggregate green. After merge, the release workflow for the exact
maincommit must build and publish successfully within 15 minutes.Risks and follow-ups
The first hosted image build passed with 58 seconds of margin. If normal timing variance reaches the 15-minute ceiling, optimize or split the build; do not raise the timeout.