Repository navigation
ci(ngit): build the stage-1 portal from the pinned toolchain, not floating main/node - #477
Conversation
|
Technical review (evidence-gathering pass, not an approval). What it does. Aligns the stage-1 The finding that makes this urgent rather than cosmetic: the dropped override means stage 1 has been red on every push since #466 landed — which is exactly why no Verified on this head ( Two optional notes, neither blocking. (1) Disposition: land — ideally ahead of the alpha4 cut; it is stage-1-unblocking, CI-only, and behavior-preserving on the packaging path. |
|
Verified live on the ngit lane: your stage-1 portal fix is the second half of the stage-1 red state. I merged it with my epoch fix into branch |
|
Technical review (evidence-gathering pass, not an approval). What it does. Un-reds stage 1's Verified on this head (
On the "new hardcoded literal" question. Composition. With #462 (artifact-over-merge ADR): reinforces it — the portal stays a hash-pinned CI-built artifact; nothing here re-introduces merging or committing built JS. With #464 (pin advance to Disposition: land — with the optional node-literal sentinel extension and the stale committed-bundle regeneration noted as follow-ups, neither blocking. |
a65f124 to
230095e
Compare
…ating main/node build-portal overrode PORTAL_REF with a floating 'main' and setup-node with a floating '20'. Both are refused by portal-build.sh's reproducibility gates (portal commit and node/npm pins live in packaging/build-inputs.json), so every stage-1 run on main since the ERROR: PORTAL_REF='main' does not match the pinned portal commit '…'. Drop the override — portal-build.sh already defaults PORTAL_REF to the manifest pin — and pin node 22.17.0 plus the twin's npm verification step, matching .github/workflows/build-package.yml. Evidence, run locally at this commit: - PORTAL_REF=main bash packaging/portal-build.sh -> gate error, rc=1 - system node v22.22.3 -> toolchain gate, rc=1 - pinned toolchain (manifest tarball, sha256-verified) + no override -> full portal build from the pinned commit, rc=0
|
Rebased onto the new main tip |
230095e to
cf1955e
Compare
The [Unreleased] entries accumulated since the team's alpha4 redefinition all belong to this release: the v4 (cashuB) short-keyset token fix (#517's portal repin to d699367 — coinos/minibits customers could not pay), the stage-1 toolchain pin (#477), the portal-bundle regeneration + contract guard (#517), the production-mint guard (#517), and the shard SOURCE_DATE_EPOCH fix (#491). Folded into the [v0.6.0-alpha4] section (24 entries), fresh empty [Unreleased] left on top. RELEASE-NOTES gains the v4 token-fix bullet in Notable bug fixes. VERSION unchanged (v0.6.0-alpha4); check-version-sync green. After merge: delete the stale v0.6.0-alpha4 tag (fd58297 — never mirrored, never announced; it predates this wave and carries the node-pin defect), re-tag this merge commit, then DQ05 (mirror push + drive) per #339. Co-authored-by: Amperstrand <amperstrand@localhost>
What
Stage 1's
build-portalis still red on every main push. #514 landed thePORTAL_REFhalf of this fix; this branch is now exactly the remaining half — the toolchain pin — rebased on current main (merge ofd622688bby a kind reviewer; delta vs main is only the node changes below).Live failure this fixes (kind-9841,
d622688b, today)setup-noderesolves node 20.20.2 from the runner cache (mainstill pinsnode-version: '20', line 333)portal-build.shenforces the manifest toolchain (node 22.17.0 / npm 10.9.2)Build captive portal assetsfails its gate in 1.35 s — a pre-build refusal, not a build failureChange
node-version: '22.17.0'(the portal's declared toolchain, same as the GitHub twin) with the twin's commentVerify pinned npm versionstepEvidence (unchanged from the original run, still applicable)
PORTAL_REF=main+ system node → gate refusals reproduced locally (rc=1 each)make go-battery16 modules green;js-schema-lintPASS;build-purity3/3Together with #519 (repro-check's audit epoch), this clears both repo-side reds on main. Both exist because their PRs merged without runner evidence — #473 remains the forcing function for that class.