Skip to content

binary-release smoke: strip -rc.N from the tag before comparing it to the asset's --version #4275

Description

@noahgift

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.

Found on run 35989369518. Filed by aprender-36.

Activity

  1. added this to the 0.69.4 milestone on Sep 24, 2026
  2. noahgift commented on Sep 25, 2026

    @noahgift
    ContributorAuthor

    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.

  3. modified the milestones: 0.69.4, 0.70.0 on Sep 25, 2026
  4. noahgift commented on Sep 27, 2026

    @noahgift
    ContributorAuthor

    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.

  5. modified the milestones: 0.70.0, 0.71.0, backlog on Oct 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions