v30.3-roots.1 · Commit 63: [PATCH 63/68] fix(release): restore signed five-platform CI releases
AGENTS.md
Before: AGENTS.md · After: AGENTS.md
File metadata
index 61d32d8ed5c180fd902c58c9a100fb234e51ed6a..3f00d5bc6ed49875d2a8f9715ae08fc467924ff8 100644
Download original patch · Release notes
Diff rows 1–44 of 44. Line numbers refer to the original before/after files.
+ Added− RemovedUnmarked lines are context.
Scroll the code area horizontally to read long lines. The two line-number columns refer to before and after.
AGENTS.md
CHANGED
|
@@ -454,22 +454,28 @@ series contains inherited CRLF files, apply the released mbox with
|
|
|
454
454
|
|
|
455
455
|
Before assigning a permanent release tag:
|
|
456
456
|
|
|
457
|
-
1. Merge the reviewed promotion PR and verify its tree equals the canonical tip.
|
|
458
|
-
2. Dispatch `Release artifacts` from `main` with the future Roots tag and the
|
|
459
|
-
full 40-hex `origin/roots/<core-version>` commit.
|
|
460
|
-
3. Require all five platform builds and independently inspect the packages and
|
|
461
|
-
patch. Assemble and review platform-specific notices and the final asset
|
|
462
|
-
packet using `ci/release/README.md` before tagging. Manual rehearsal must
|
|
463
|
-
create neither a remote tag nor a release.
|
|
464
|
-
4. Re-fetch refs, create one annotated tag at the unchanged canonical tip, run
|
|
465
|
-
the release-source validator, and push only that tag. Never move it.
|
|
466
|
-
5. Permanent tags do not start builds or create a draft. Use
|
|
467
|
-
`ci/release/create-draft.py` with the approved commit, asset manifest and notes
|
|
468
|
-
digests to validate the permanent remote tag and create a new draft. Verify
|
|
469
|
-
downloaded draft packages, patch, checksums, notes and actual signing status
|
|
470
|
-
before publishing the unchanged draft under separate authority.
|
|
471
|
-
6. Repeat tag, asset, checksum, and signature-if-present verification through an
|
|
472
|
-
unauthenticated client after publication.
|
|
457
|
+
1. Complete independent source review and merge the reviewed promotion. Verify
|
|
458
|
+
canonical product equality and enumerate repository-only main exceptions.
|
|
459
|
+
2. A manual `Release artifacts` dispatch may rehearse an absent future tag at
|
|
460
|
+
its full canonical commit. It builds all five platforms and their exact
|
|
461
|
+
runner dependency notices with read-only permissions; it cannot sign or
|
|
462
|
+
create a release.
|
|
463
|
+
3. Review the source, required CI and rehearsal evidence. Keep the canonical
|
|
464
|
+
tip stable. Re-fetch refs, create one annotated tag explicitly at the reviewed
|
|
465
|
+
canonical commit, run the release-source validator and push only that tag.
|
|
466
|
+
4. The tag push builds all five platforms anew, captures installed dependency
|
|
467
|
+
notices in each runner and generates/replays the portable patch. Only the
|
|
468
|
+
tag-only `release` environment job receives the organization signing secret.
|
|
469
|
+
It requires a manifest signature with the checked-in release-key fingerprint,
|
|
470
|
+
verifies exactly eight assets and creates only a new draft. Missing signing
|
|
471
|
+
capability or an existing draft/public release fails; no clobber or deletion.
|
|
472
|
+
5. Independently download all eight draft assets. Verify tag/source, checksums,
|
|
473
|
+
signature trust, archives, notices, patch replay, contributor credit and
|
|
474
|
+
separate Git-tag/platform-code signing disclosures. Public visibility needs
|
|
475
|
+
separate authority after this concrete verification.
|
|
476
|
+
6. Repeat verification through an unauthenticated client after publication.
|
|
477
|
+
Never replace a published tag or asset. Interrupted draft creation requires
|
|
478
|
+
operator inspection, not an automatic create/upload retry.
|
|
473
479
|
|
|
474
480
|
The detailed commands and branch maintenance rules are in
|
|
475
481
|
`contrib/roots/README.md`. Authenticate the official Core tag and its signer
|