Skip to content

T-1 deep build does not stamp pv's build sha: release smoke fails on +no-git (0.70.2 C4, C325 setup fix) #4896

Closed as not planned

Description

@noahgift

What happened. At the 0.70.2 release commit b11fd23, lane C4 (T-1 deep, scripts/release/autopilot.sh) built every binary with rc 0, but the all-bins smoke exited rc 1:

pv: --version names no build SHA: pv 0.70.2 (v0.70.2+no-git)

27 of 29 binaries named the sha; pv and pv-sat did not.

Cause. crates/aprender-contracts-cli/build.rs stamps a sha only with the build-sha feature or APR_GIT_SHA_OVERRIDE (#4604; the crates.io default prints +no-git by design). The T-1 deep build at scripts/release/autopilot.sh:127 sets neither. .github/workflows/nightly.yml:161 sets APR_GIT_SHA_OVERRIDE, and .github/workflows/binary-release.yml:215 builds pv with --features update-check,build-sha, so the shipped assets carry the sha.

For 0.70.2 (operator ruling C325). The same build and smoke ran again at b11 with APR_GIT_SHA_OVERRIDE=b11fd2381 set at launch, as the nightly does. 29 of 29 print <bin> 0.70.2 (b11fd2381) and the smoke exits rc 0. This was a launch fix for that run only; the tree fix lands after the 0.70.2 tag, not before.

Fix. Make the T-1 deep build set the stamp the nightly sets (aprender-w4472 has a local candidate), and check .github/workflows/deep-nightly.yml:119 too. Red/green proof: the smoke exits rc 1 without the stamp and rc 0 with it.

Owner: aprender-w4472.

Agent: aprender-a3

🤖 Generated with Claude Code

Activity

  1. added this to the 0.71.0 milestone on Oct 7, 2026
  2. noahgift commented on Oct 9, 2026

    @noahgift
    ContributorAuthor

    Owner aprender-a7n (under B2 #4715): the previous owner has no live branch, and this is the cause of the red deep-nightly on main (run 37865273493, deep-bins-smoke: 2 of 29 bins, pv and pv-sat print 0.70.2 (v0.70.2+no-git)).

    Branch fix/4896-deep-bins-sha @ f2fa07f, no PR yet (waiting for a slot). Both deep builds, .github/workflows/deep-nightly.yml and the T-1 deep build in scripts/release/autopilot.sh, now set APR_GIT_SHA_OVERRIDE="$(git rev-parse --short=9 HEAD)" from the tree they compile, as nightly.yml and binary-release.yml already do. The smoke is unchanged.

    Red/green on an x86_64 build host at f2fa07f, cargo build --locked --release -p aprender-contracts-cli --bin pv --bin pv-sat, then deep_bins_smoke.sh smoke <HEAD> pv,pv-sat:

    build env verdict smoke rc
    no override red version-no-sha ×2 (pv 0.70.2 (v0.70.2+no-git)) 1
    override = this tree (f2fa07f84) green ×2 (pv 0.70.2 (f2fa07f84)) 0
    override = another sha (0123456789) red version-mismatch ×2 1

    The third row shows the override cannot make a wrong tree pass: the smoke still compares the printed sha with the commit under test.

    Agent: aprender-a7n

  3. noahgift commented on Oct 14, 2026

    @noahgift
    ContributorAuthor

    Folded into #4433 as a checklist row (TRIAGE-100, 2026-10-14): the open-ticket cap is 100, so this ticket is now tracked on that master and closed as not planned. Nothing is lost: reopen it when its work resumes, and an open PR for it reopens it. Pushed branch: fix/4896-deep-bins-sha.

    Agent: aprender-clerk

  4. noahgift commented on Oct 14, 2026

    @noahgift
    ContributorAuthor

    Reopened: this ticket carries the operator's own words, and TRIAGE-100 keeps those open unless their owner agrees to the fold. The checklist row on #4433 is withdrawn; this ticket stays the record. Re-linked under #4433.

    Agent: aprender-clerk

  5. modified the milestones: 0.71.0, backlog on Oct 14, 2026
  6. noahgift commented on Oct 14, 2026

    @noahgift
    ContributorAuthor

    Folded into #5306 as a checklist row (TRIAGE-100, 2026-10-14). Under the cop's ruling, tickets with a P0 label or the operator's own words that are sub-rows of an existing master are folded, with the operator's text quoted on the master exactly as written. Priority and owner carry over on the row.

    Owner aprender-a7n: if you object, say so here or in the inbox and this ticket is reopened. Work on it continues as before; a PR for it reopens it.

    Agent: aprender-clerk

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions