@kungfu-tech/buildchain 2.8.8-alpha.0 → 2.8.8-alpha.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/actions/promote-buildchain-ref/README.md +36 -13
- package/dist/site/buildchain-contract.json +5 -5
- package/dist/site/buildchain-site.json +14 -14
- package/dist/site/manual-registry.json +4 -4
- package/dist/site/page-registry.json +10 -10
- package/dist/site/site-manifest.json +4 -4
- package/docs/lifecycle-protocol.md +7 -5
- package/docs/publish-transaction.md +12 -8
- package/docs/release-governance.md +46 -23
- package/docs/reusable-build-surface.md +8 -3
- package/package.json +1 -1
|
@@ -75,11 +75,25 @@ alpha branch or tag. The repository must create the next upstream anchor line
|
|
|
75
75
|
explicitly, then run the normal channel promotion flow for that line.
|
|
76
76
|
|
|
77
77
|
When branch protection requires pull requests, generated version-state commits
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
the
|
|
82
|
-
|
|
78
|
+
must still complete inside the promotion automation. The action updates
|
|
79
|
+
Buildchain-managed channel protection before generated bookkeeping, adds the
|
|
80
|
+
authenticated promotion token user or app to the bypass allowlist, then applies
|
|
81
|
+
the generated version-state commit directly. If GitHub still rejects the direct
|
|
82
|
+
update, promotion fails with a configuration diagnostic instead of opening a
|
|
83
|
+
post-publish human PR.
|
|
84
|
+
|
|
85
|
+
For Buildchain-owned automation, callers may pass
|
|
86
|
+
`branch-protection-bypass-apps`, `branch-protection-bypass-users`, or
|
|
87
|
+
`branch-protection-bypass-teams`. The action still configures managed
|
|
88
|
+
`dev/vN/vN.M`, `alpha/vN/vN.M`, and `release/vN/vN.M` branches with one
|
|
89
|
+
required approving review, strict GitHub Actions checks, admin enforcement,
|
|
90
|
+
conversation resolution, no force pushes, and no deletions; the bypass
|
|
91
|
+
allowance only lets the named automation identity apply generated version-state
|
|
92
|
+
or channel bookkeeping without a second human review after the reviewed channel
|
|
93
|
+
PR has already merged. Direct action calls automatically include the current
|
|
94
|
+
promotion token's authenticated user or app when GitHub exposes it; explicit
|
|
95
|
+
inputs are supplemental allowlist entries for less discoverable release
|
|
96
|
+
authorities.
|
|
83
97
|
|
|
84
98
|
## Publish Transactions
|
|
85
99
|
|
|
@@ -202,7 +216,8 @@ The action outputs `transaction-id`, `transaction-state`,
|
|
|
202
216
|
`release-passport-state-sha` is the durable ref commit after the generated
|
|
203
217
|
`release-passport/*` files have been uploaded into that recovery ref.
|
|
204
218
|
`finalization-needed=true` means publish evidence is valid, but protected branch
|
|
205
|
-
or ref finalization needs a later promotion run.
|
|
219
|
+
or ref finalization needs a later idempotent promotion run. It must not require
|
|
220
|
+
a human version-state PR.
|
|
206
221
|
Set `github-release: "true"` when the semver promotion should also publish the
|
|
207
222
|
exact-tag GitHub Release. After the release transaction reaches `complete` and
|
|
208
223
|
`finalization-needed` is false, the action creates or updates the GitHub Release
|
|
@@ -245,13 +260,14 @@ again, so the consumer-side passport is a complete audit entrypoint. Set
|
|
|
245
260
|
passport generation.
|
|
246
261
|
|
|
247
262
|
Finalization recovery is anchored to the durable transaction, not to a single
|
|
248
|
-
workflow run SHA. After
|
|
249
|
-
channel head can be
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
transaction
|
|
263
|
+
workflow run SHA. After generated version-state bookkeeping is applied, the
|
|
264
|
+
current channel head can be the generated version-state commit or a historical
|
|
265
|
+
merge commit that contains or corresponds to the recorded `release_material_sha`;
|
|
266
|
+
it does not have to equal the original `source_sha` or the transaction
|
|
267
|
+
`release_sha`. Reruns accept exact tags that already point at the transaction
|
|
268
|
+
release/material SHA or the finalized channel head, and continue moving any
|
|
269
|
+
missing floating tags or dev/alpha refs before marking the transaction
|
|
270
|
+
`complete`.
|
|
255
271
|
|
|
256
272
|
Normal reruns accept already-published artifacts only when evidence matches.
|
|
257
273
|
Missing required artifacts can be published on the next run. Conflicting
|
|
@@ -289,6 +305,13 @@ while the reusable build trust gate now checks the source-lock channel HEAD and
|
|
|
289
305
|
merged same-repository PR lineage before heavy build runners start. This action
|
|
290
306
|
still independently rechecks PR lineage, alpha/release tree equivalence, and
|
|
291
307
|
generated version-state verification before moving channel refs and tags.
|
|
308
|
+
The reusable `release-candidate-promote.yml` wrapper defaults
|
|
309
|
+
`branch-protection-bypass-apps` to `github-actions`, so flow-internal promotion
|
|
310
|
+
can complete generated `dev`/`alpha`/`release` bookkeeping while ordinary human
|
|
311
|
+
pushes and PR merges remain governed by the one-review branch protection rule.
|
|
312
|
+
The promotion action also auto-discovers the current token's authenticated user
|
|
313
|
+
or app and adds it to the managed bypass allowlist, so consumers do not have to
|
|
314
|
+
declare the same release authority twice.
|
|
292
315
|
|
|
293
316
|
The tag names intentionally follow the old ABV release semantics:
|
|
294
317
|
exact release tags are `vX.Y.Z`, exact alpha tags are `vX.Y.Z-alpha.N`, floating
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"product": {
|
|
5
5
|
"name": "Buildchain",
|
|
6
6
|
"package": "@kungfu-tech/buildchain",
|
|
7
|
-
"version": "2.8.8-alpha.
|
|
7
|
+
"version": "2.8.8-alpha.2",
|
|
8
8
|
"repository": "https://github.com/kungfu-systems/buildchain"
|
|
9
9
|
},
|
|
10
10
|
"majorLine": "v2",
|
|
@@ -92,7 +92,7 @@
|
|
|
92
92
|
"GitHub Release passport and evidence publication is delegated to promote-buildchain-ref after the semver release transaction completes"
|
|
93
93
|
],
|
|
94
94
|
"breakingDigest": "sha256:403d2fcdb0c5eabe749e89102defad69745f70a1556707bec7831fcc2e9fa8f8",
|
|
95
|
-
"auditDigest": "sha256:
|
|
95
|
+
"auditDigest": "sha256:02d15fd61002e4d3ab8ff279a01592c54b18c7cf4ce4593bb798359024e7eaf1"
|
|
96
96
|
},
|
|
97
97
|
{
|
|
98
98
|
"contractVersion": 1,
|
|
@@ -134,7 +134,7 @@
|
|
|
134
134
|
"semver GitHub Releases are created or updated only after transaction completion, with prerelease/latest metadata derived from the exact tag"
|
|
135
135
|
],
|
|
136
136
|
"breakingDigest": "sha256:347b65aecd38bc671d8f697eabd15254f905b6f745389d7b26d7595a904a720c",
|
|
137
|
-
"auditDigest": "sha256:
|
|
137
|
+
"auditDigest": "sha256:5d94f56a8abbca8cab057b0d0210cf5cafd50b223be635b537dd902c96b19cf2"
|
|
138
138
|
},
|
|
139
139
|
{
|
|
140
140
|
"contractVersion": 1,
|
|
@@ -320,7 +320,7 @@
|
|
|
320
320
|
"manual entries carry source file digests so downstream sites and agents can detect stale hand-written documentation"
|
|
321
321
|
],
|
|
322
322
|
"breakingDigest": "sha256:7d0d2819e3a3e72989d9c57b5efe9d0bc0a79bc0f2c82a0c7b9d6c5a211a91f2",
|
|
323
|
-
"auditDigest": "sha256:
|
|
323
|
+
"auditDigest": "sha256:4ec7c2d40a5761399bbf966fdac099372d7707952f05baec39ae64ae0da703c0"
|
|
324
324
|
},
|
|
325
325
|
{
|
|
326
326
|
"contractVersion": 1,
|
|
@@ -346,5 +346,5 @@
|
|
|
346
346
|
}
|
|
347
347
|
],
|
|
348
348
|
"compatibilityDigest": "sha256:36421b592a782decbfe31a7d8d42d70ce1100a56a2c4f4a0ccc21f0617dc72bf",
|
|
349
|
-
"contractDigest": "sha256:
|
|
349
|
+
"contractDigest": "sha256:fe0883948273f534a07d10e19697d28f2f9931597f09884aeb657efb3fbf9b12"
|
|
350
350
|
}
|