You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
binary-release smoke: strip -rc.N from the tag before comparing it to the asset's --version #4275
The smoke-cuda and smoke-cpu jobs in .github/workflows/binary-release.yml (lines 617 and 684 at 7ff50ec) require the asset's apr --version to contain ${TAG#v}.
On a prerelease tag such as v0.69.3-rc.1, the binary reports 0.69.3, so the smoke fails on a label mismatch. It is not an asset defect. We don't bump Cargo to a -rc semver, because that breaks the internal =version pins (cop ruling, 2026-09-24).
Fix: compare against the tag with any -rc.N suffix stripped. Also assert that the binary's git sha equals the tag's commit, so an rc asset is still bound to its commit.
Needs a case table: v0.69.3 matches 0.69.3; v0.69.3-rc.1 matches 0.69.3; v0.69.3-rc.1 does not match 0.69.2; a sha mismatch fails.
Picked into batch/0.69.4-epic-4249 @ aeeda2a (PR #4318). The binary-release.yml diff is identical to batch/0.70.0's 2b3cb55 + 8d2cbe2, with no runner/secret/permission changes. Checks: asset_version_check and stamp_rc_version self-tests PASS; a real-tree stamp of HEAD to v0.69.4-rc.1 gives 79/79 packages at rc.1 with cargo --locked, and a wrong-version tag is refused. Cop go given on the conditions that the #4318 quorum reviews binary-release.yml explicitly and the PR merges only on green CI.
Ready for rc.1 on car/0.70.0 @ 1274d04 (verified by aprender-91; no new diff needed).
The substring smoke is gone. Both smoke jobs in binary-release.yml now call scripts/release/asset_version_check.sh TAG COMMIT "$v", and an rc tag tree is stamped by stamp_rc_version.sh before the build.
asset_version_check.sh --self-test: PASS.
Case table on v0.70.0-rc.1 at the car sha:
asset apr --version
exit
apr 0.70.0-rc.1 (<sha>)
0
apr 0.70.0 (<sha>)
1
apr 0.70.0-rc.1 (v0.70.0+no-git)
1
apr 0.70.0-rc.2 (<sha>)
1
apr 0.70.0-rc.1 (<wrong sha>)
1
stamp_rc_version.sh on a git archive of the car tree changed 0.70.0 to 0.70.0-rc.1 (82 manifests, 118 path pins, 81 lock entries). cargo metadata --locked --offline exits 0, and every package reports 0.70.0-rc.1, so the release build's --locked holds.
This issue stays open until car/0.70.0 (#4429) lands. #4429 does not reference #4275, so close this issue by hand when it merges.
evidence for close: #4655 / 989cb01 (on main), how checked:
Fixed by stamping rather than stripping: binary-release.yml runs scripts/release/stamp_rc_version.sh with the tag before building (:177, :342, :505), so an rc asset's --version carries the rc tag.
Each asset is then checked by scripts/release/asset_version_check.sh "$TAG" "$SHA" ... (:397), which also binds the binary to the tag's commit. Its --self-test passes on main.
Activity
chore(roadmap): kind: code on the four rc-automation rows (#4285 #4275 …
fix(release): smoke strips -rc.N and binds the asset to its tag's com…
noahgift commentedon Sep 25, 2026
Picked into batch/0.69.4-epic-4249 @ aeeda2a (PR #4318). The binary-release.yml diff is identical to batch/0.70.0's 2b3cb55 + 8d2cbe2, with no runner/secret/permission changes. Checks: asset_version_check and stamp_rc_version self-tests PASS; a real-tree stamp of HEAD to v0.69.4-rc.1 gives 79/79 packages at rc.1 with cargo --locked, and a wrong-version tag is refused. Cop go given on the conditions that the #4318 quorum reviews binary-release.yml explicitly and the PR merges only on green CI.
fix(release): darwin apr lane stamps the rc version and checks it (#4110
fix(release): smoke the x86_64 wgpu asset too; asset counts stop bein…
fix(release): darwin apr lane stamps the rc version and checks it (#4110
noahgift commentedon Sep 27, 2026
Ready for rc.1 on car/0.70.0 @ 1274d04 (verified by aprender-91; no new diff needed).
The substring smoke is gone. Both smoke jobs in
binary-release.ymlnow callscripts/release/asset_version_check.sh TAG COMMIT "$v", and an rc tag tree is stamped bystamp_rc_version.shbefore the build.asset_version_check.sh --self-test: PASS.Case table on
v0.70.0-rc.1at the car sha:apr --versionapr 0.70.0-rc.1 (<sha>)apr 0.70.0 (<sha>)apr 0.70.0-rc.1 (v0.70.0+no-git)apr 0.70.0-rc.2 (<sha>)apr 0.70.0-rc.1 (<wrong sha>)stamp_rc_version.shon agit archiveof the car tree changed 0.70.0 to 0.70.0-rc.1 (82 manifests, 118 path pins, 81 lock entries).cargo metadata --locked --offlineexits 0, and every package reports 0.70.0-rc.1, so the release build's--lockedholds.This issue stays open until car/0.70.0 (#4429) lands. #4429 does not reference #4275, so close this issue by hand when it merges.
fix(release): run asset_version_check's case table on every PR (#4275)
noahgift commentedon Oct 12, 2026
evidence for close: #4655 / 989cb01 (on main), how checked:
binary-release.ymlrunsscripts/release/stamp_rc_version.shwith the tag before building (:177, :342, :505), so an rc asset's--versioncarries the rc tag.scripts/release/asset_version_check.sh "$TAG" "$SHA" ...(:397), which also binds the binary to the tag's commit. Its--self-testpasses on main.noahgift commentedon Oct 12, 2026
Cop batch close (FLOW-004 drain, ≤43/d): fix verified on main — merged #4655 ; ancestor of origin/main: 989cb01 . Evidence: #4275 (comment)