Skip to content

chore(release): promote develop → main — R8 installer fixes (stamper + provision --name) → v1.8.2#290

Merged
saadqbal merged 1 commit into
mainfrom
develop
Jul 1, 2026
Merged

chore(release): promote develop → main — R8 installer fixes (stamper + provision --name) → v1.8.2#290
saadqbal merged 1 commit into
mainfrom
develop

Conversation

@saadqbal

@saadqbal saadqbal commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

Promotes #289 (already on develop) to main to cut v1.8.2. Delta vs main is exactly #289's 5 files — nothing else is ahead on develop.

Two P0s that broke the R8 curl | bash install end to end (both found by running the installer, which v1.8.1 never did):

  1. Stamper clobbered install.sh's guardsign-installer-manifest replaced __TRACEBLOC_RELEASE_REF__ globally, rewriting the fail-closed guard to == "v1.8.1" so the stamped installer errored "wasn't stamped" for everyone. Now stamps only /^DEFAULT_REF=/, asserts the guard sentinel survives, and the self-test runs the stamped installer.
  2. provision.sh never passed --nameclient create's output is redirected to the log so it can't prompt and requires --name; every browser-auth install failed at Step 3. Now supplies name(+location) via env → /dev/tty prompt → fail closed.

Chart bumped 1.8.1 → 1.8.2; manifest.sha256 regenerated for the provision.sh change. Verified locally (stamped installer clears the guard; provision.bats 12/12; shellcheck clean). FR gate bypassed via skip-fr-gate (hotfix).

On merge I cut v1.8.2 and verify by running curl | bash through provisioning end to end.

🤖 Generated with Claude Code


Note

Medium Risk
Touches the release supply-chain stamping path and interactive provisioning for browser-auth installs; changes are targeted with regression tests, but a bad release would still block all curl installs until fixed.

Overview
v1.8.2 fixes two P0 regressions that broke curl | bash installs after v1.8.1.

The release workflow’s installer stamper now replaces __TRACEBLOC_RELEASE_REF__ only on the DEFAULT_REF= line, so the fail-closed guard that compares "$REF" to the placeholder is not rewritten to the release tag (which caused every stamped installer to report “wasn’t stamped”). Post-stamp checks assert DEFAULT_REF matches the tag and the guard sentinel is intact; the self-test runs the stamped install.sh and fails if that guard still trips, in addition to the existing mutable-BRANCH negative case.

provision.sh collects machine name (and optional location) via TRACEBLOC_CLIENT_* env, interactive prompts on /dev/tty when available, or a clear error when neither is possible—then passes --name / --location into tracebloc client create, since CLI output is redirected to the log and cannot prompt. Chart version is bumped 1.8.1 → 1.8.2; manifest.sha256 is updated for the provision change; provision.bats adds coverage for argv passthrough and the no-name/non-TTY fatal path.

Reviewed by Cursor Bugbot for commit 5a03236. Bugbot is set up for automated code reviews on this repo. Configure here.

…evelop

fix(installer): two R8 curl|bash install P0s — stamper guard-clobber + provision --name (→ v1.8.2)
@saadqbal saadqbal added the skip-fr-gate Bypass FR gate for this PR (use only for bootstrap or emergencies — visible in audit) label Jul 1, 2026
@saadqbal saadqbal self-assigned this Jul 1, 2026
@saadqbal saadqbal merged commit 71be4ea into main Jul 1, 2026
75 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

skip-fr-gate Bypass FR gate for this PR (use only for bootstrap or emergencies — visible in audit)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants