Fix release builds failing in the containerized smoke job - #1401
Conversation
The containerized smoke job runs as root against a host-owned workspace, so git rejected it as dubious ownership and scripts/release-version.sh found no manifests. Only the release lane sets release_tag, so no PR run could catch it. Co-authored-by: Michael Neale <14976+michaelneale@users.noreply.github.com> Signed-off-by: Michael Neale <14976+michaelneale@users.noreply.github.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
Included review availability: Your plan provides up to 8 included reviews per hour; 7 remain after this review. 📝 WalkthroughWalkthroughThe smoke workflow adds a container-only step that marks ChangesContainer checkout trust
Estimated code review effort: 1 (Trivial) | ~5 minutes Merge Risk: ⚪ Minimal · up to This change adds the required repository trust configuration only to the containerized smoke path, allowing release manifest discovery to proceed without affecting bare-metal jobs. No actionable merge-blocking risk remains after normal checks and review. Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Release dispatches now get past the smoke job again.
v0.76.0-rc6failed 8 seconds intoinference_smoke_tests / Skippy Inference Smoke Testswith:Cause
#1380 containerized the hosted smoke job (
smoke.ymlcontainer.image). The image'spublicstage runs as root while the Actions workspace is mounted owned by the host runner uid, so git refuses every command in it.scripts/release-version.sh:223enumerates manifests withgit ls-files, gets nothing, and the empty-array guard at:229exits 1.Every other containerized job that shells out to git already adds
git config --global --add safe.directory "$GITHUB_WORKSPACE"—release.ymlhas 8,native-sdk-artifact.ymlandnode-sdk-addon-artifact.ymlone each. The newly containerizedsmoke.ymlhad none.The step is gated
if: inputs.release_tag != '', which is only non-empty on the release lane, so PR and main CI stayed green and could not have caught this.Change
One step in
smoke.yml, beforePrepare dispatched release version, gated onjob.container.id != ''so the bare-metalgpu-nvidiarow is untouched.Validation
Structural audit of
.github/workflows/*.yml: every job that both declares a container image and callsrelease-version.shnow carries the trust step (11 jobs;smoke.yml smoke_testswas the only one missing it).swift-sdk-artifact.ymlcalls the script but does not containerize, so it is unaffected.Runtime proof requires a release dispatch — the next rc6 attempt is the check.
Summary by CodeRabbit