@kungfu-tech/buildchain 2.13.0 → 2.14.0-alpha.1
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 +3 -3
- package/bin/buildchain.mjs +13 -0
- package/dist/site/buildchain-contract.json +24 -19
- package/dist/site/buildchain-site.json +38 -33
- package/dist/site/capability-registry.json +1 -1
- package/dist/site/cli-registry.json +12 -0
- package/dist/site/controller-registry.json +6 -2
- package/dist/site/kfd-claims.json +21 -8
- package/dist/site/kfd-upstream-aggregate.json +1 -1
- package/dist/site/manual-registry.json +9 -9
- package/dist/site/node-api-registry.json +5 -5
- package/dist/site/page-registry.json +25 -20
- package/dist/site/public-surface-audit.json +27 -6
- package/dist/site/publication-registry.json +4 -4
- package/dist/site/site-manifest.json +13 -13
- package/dist/site/workflow-registry.json +2 -1
- package/docs/MAP.md +2 -1
- package/docs/cli.md +19 -0
- package/docs/publication-authority.md +24 -0
- package/docs/publish-transaction.md +2 -2
- package/docs/release-flow.md +2 -1
- package/docs/release-governance.md +50 -3
- package/docs/release-propagation.md +9 -0
- package/docs/versioning.md +1 -0
- package/docs/web-surface-deployments.md +18 -4
- package/package.json +2 -2
- package/packages/core/index.js +8 -0
- package/packages/core/publication-authority.js +52 -2
- package/packages/core/release-line-bootstrap.js +5 -0
- package/packages/core/web-surface-publication-candidate.js +162 -0
- package/scripts/assemble-web-surface-publication-admission.mjs +204 -0
- package/scripts/check-action-bundles.mjs +50 -0
- package/scripts/dev-merge-queue.mjs +257 -0
- package/scripts/generate-site-bundle.mjs +2 -0
- package/scripts/verify-web-surface-publication-capability.mjs +78 -0
- package/scripts/web-surface-production-decision.mjs +138 -0
|
@@ -83,15 +83,15 @@ explicitly, then run the normal channel promotion flow for that line.
|
|
|
83
83
|
When branch protection requires pull requests, generated version-state commits
|
|
84
84
|
still run through promotion automation first. The action updates
|
|
85
85
|
Buildchain-managed channel protection before generated bookkeeping, adds the
|
|
86
|
-
authenticated promotion token user or app to the bypass allowlist, creates
|
|
87
|
-
configured required check on the exact generated version-state commit, then
|
|
86
|
+
authenticated promotion token user or app to the bypass allowlist, creates
|
|
87
|
+
every configured required check on the exact generated version-state commit, then
|
|
88
88
|
tries to apply that commit directly. If GitHub still rejects release
|
|
89
89
|
finalization bookkeeping, Buildchain creates or reuses a same-repository
|
|
90
90
|
`buildchain/version-state/*` PR based on the current target channel head and
|
|
91
91
|
returns `finalization-needed=true`; a later idempotent promotion run can resume
|
|
92
92
|
from the durable transaction state. Strict alpha promotion still fails with a
|
|
93
93
|
configuration diagnostic instead of opening a post-publish human PR. Reusable
|
|
94
|
-
wrapper callers should allow `checks: write` so the generated
|
|
94
|
+
wrapper callers should allow `checks: write` so the generated checks are owned by
|
|
95
95
|
GitHub Actions and matches the managed branch protection rule.
|
|
96
96
|
|
|
97
97
|
Stable promotion also protects concurrent development work. The reusable
|
package/bin/buildchain.mjs
CHANGED
|
@@ -185,6 +185,10 @@ function usage() {
|
|
|
185
185
|
buildchain inspect release --passport <file-or-url> [--json]
|
|
186
186
|
buildchain inspect artifact <subject> [--passport <file-or-url>] [--npm-registry <url>] [--json]
|
|
187
187
|
buildchain doctor [--cwd <dir>] [--require-publish-source-lock] [--json]
|
|
188
|
+
buildchain dev merge-queue --repository <owner/repo> --branch <dev/vN/vN.M>
|
|
189
|
+
--workflow <required-workflow.yml>... [--cwd <dir>]
|
|
190
|
+
[--check-response-timeout-minutes <n>]
|
|
191
|
+
[--max-entries-to-build <n>] [--apply]
|
|
188
192
|
buildchain log <info|warn|error> --event <name> [--phase <phase>]
|
|
189
193
|
[--component <name>] [--source <name>] [--attribute key=value]...
|
|
190
194
|
[--path <jsonl>] [--json]
|
|
@@ -1385,6 +1389,15 @@ async function main(argv = process.argv.slice(2)) {
|
|
|
1385
1389
|
return;
|
|
1386
1390
|
}
|
|
1387
1391
|
|
|
1392
|
+
if (command === "dev") {
|
|
1393
|
+
const [subcommand = "", ...devArgs] = args;
|
|
1394
|
+
if (subcommand !== "merge-queue") {
|
|
1395
|
+
throw new Error("usage: buildchain dev merge-queue --repository <owner/repo> --branch <dev/vN/vN.M> --workflow <path>...");
|
|
1396
|
+
}
|
|
1397
|
+
runScript("dev-merge-queue.mjs", devArgs);
|
|
1398
|
+
return;
|
|
1399
|
+
}
|
|
1400
|
+
|
|
1388
1401
|
if (command === "log") {
|
|
1389
1402
|
const [levelOrSubcommand = "info", ...logArgs] = args;
|
|
1390
1403
|
if (levelOrSubcommand === "summary") {
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"product": {
|
|
5
5
|
"name": "Buildchain",
|
|
6
6
|
"package": "@kungfu-tech/buildchain",
|
|
7
|
-
"version": "2.
|
|
7
|
+
"version": "2.14.0-alpha.1",
|
|
8
8
|
"repository": "https://github.com/kungfu-systems/buildchain"
|
|
9
9
|
},
|
|
10
10
|
"majorLine": "v2",
|
|
@@ -203,7 +203,7 @@
|
|
|
203
203
|
"channel-aware artifact host facts are checked against the deploy plan before adapter side effects"
|
|
204
204
|
],
|
|
205
205
|
"breakingDigest": "sha256:da569f90374e878948e3d5160ed9929338ce0572473ca8ee54867b0fe1aaeace",
|
|
206
|
-
"auditDigest": "sha256:
|
|
206
|
+
"auditDigest": "sha256:d9aa7c4c2b30e741d0e24274307ecafc840f3db64dc46103bd30c09e54c4c47e"
|
|
207
207
|
},
|
|
208
208
|
{
|
|
209
209
|
"contractVersion": 1,
|
|
@@ -269,7 +269,7 @@
|
|
|
269
269
|
"semver GitHub Releases are created or updated only after transaction completion, with prerelease/latest metadata derived from the public release tag"
|
|
270
270
|
],
|
|
271
271
|
"breakingDigest": "sha256:a59f0910e6df842e7699139472e5dd69ac2fdd7f7213bf2cb346d1d622556874",
|
|
272
|
-
"auditDigest": "sha256:
|
|
272
|
+
"auditDigest": "sha256:1dadbe655476a33323749a80a30daa624d8ffa60b7b452d45d920fd94a1a317c"
|
|
273
273
|
},
|
|
274
274
|
{
|
|
275
275
|
"contractVersion": 1,
|
|
@@ -437,7 +437,7 @@
|
|
|
437
437
|
"README badge block checks and writes are generated from machine-readable repository facts"
|
|
438
438
|
],
|
|
439
439
|
"breakingDigest": "sha256:90a73892b2d6c214048448d5f45df75639bdf7b7e8fefd9c596e04b087407bcc",
|
|
440
|
-
"auditDigest": "sha256:
|
|
440
|
+
"auditDigest": "sha256:da02a9a5dd23c28317010ac52ad75e1d99262e09beedc58993fb46568ea90f46"
|
|
441
441
|
},
|
|
442
442
|
{
|
|
443
443
|
"contractVersion": 1,
|
|
@@ -527,7 +527,7 @@
|
|
|
527
527
|
"manual entries carry source file digests so downstream sites and agents can detect stale hand-written documentation"
|
|
528
528
|
],
|
|
529
529
|
"breakingDigest": "sha256:7d0d2819e3a3e72989d9c57b5efe9d0bc0a79bc0f2c82a0c7b9d6c5a211a91f2",
|
|
530
|
-
"auditDigest": "sha256:
|
|
530
|
+
"auditDigest": "sha256:32e2353d96a70c0334f6b56508b8689de0e5c5a89eb5789aebcc456e1613ed1e"
|
|
531
531
|
},
|
|
532
532
|
{
|
|
533
533
|
"contractVersion": 1,
|
|
@@ -549,7 +549,7 @@
|
|
|
549
549
|
"agents can discover supported Node APIs without importing internal file paths"
|
|
550
550
|
],
|
|
551
551
|
"breakingDigest": "sha256:48f925608d3e2131d90936b07dc2a30341204cae3e6e785c0f77d61ad755c945",
|
|
552
|
-
"auditDigest": "sha256:
|
|
552
|
+
"auditDigest": "sha256:749a7207d0b71b3d9f5f4a2d4b23c3f92c9ebdb2c3ce41b38869327f9b43fd5b"
|
|
553
553
|
},
|
|
554
554
|
{
|
|
555
555
|
"contractVersion": 1,
|
|
@@ -600,7 +600,7 @@
|
|
|
600
600
|
"controllerDescriptor": {
|
|
601
601
|
"contract": "buildchain.controller-descriptor/v1",
|
|
602
602
|
"digest": "sha256:373723a73d188194d389dee04c394d3b79cb0c016a370f2f5d0f60979a02ed48",
|
|
603
|
-
"registryDigest": "sha256:
|
|
603
|
+
"registryDigest": "sha256:266928038838e26ba1350c70d78290723ddb2fd209b66ab1afab776d948a379b",
|
|
604
604
|
"inputClassifications": {
|
|
605
605
|
"buildchain-ref": {
|
|
606
606
|
"classification": "included",
|
|
@@ -747,7 +747,7 @@
|
|
|
747
747
|
"controllerDescriptor": {
|
|
748
748
|
"contract": "buildchain.controller-descriptor/v1",
|
|
749
749
|
"digest": "sha256:367be236280f2597ffefc49680feb106b4cf9e8f5fb9420713351f075a168c4a",
|
|
750
|
-
"registryDigest": "sha256:
|
|
750
|
+
"registryDigest": "sha256:266928038838e26ba1350c70d78290723ddb2fd209b66ab1afab776d948a379b",
|
|
751
751
|
"inputClassifications": {
|
|
752
752
|
"BUILDCHAIN_ARTIFACT_RELAY_S3_DOWNLOAD_ROLE_ARN": {
|
|
753
753
|
"classification": "redacted",
|
|
@@ -1113,7 +1113,7 @@
|
|
|
1113
1113
|
"controllerDescriptor": {
|
|
1114
1114
|
"contract": "buildchain.controller-descriptor/v1",
|
|
1115
1115
|
"digest": "sha256:2e113607af3cb0a17b4da64b8758652a4bee4a162656ce7256a8e06de3d4cf2f",
|
|
1116
|
-
"registryDigest": "sha256:
|
|
1116
|
+
"registryDigest": "sha256:266928038838e26ba1350c70d78290723ddb2fd209b66ab1afab776d948a379b",
|
|
1117
1117
|
"inputClassifications": {
|
|
1118
1118
|
"BUILDCHAIN_ARTIFACT_RELAY_S3_DOWNLOAD_ROLE_ARN": {
|
|
1119
1119
|
"classification": "redacted",
|
|
@@ -1443,7 +1443,7 @@
|
|
|
1443
1443
|
"controllerDescriptor": {
|
|
1444
1444
|
"contract": "buildchain.controller-descriptor/v1",
|
|
1445
1445
|
"digest": "sha256:29569f4b754595792a16742d1c4c63838b54601674a2cb6c96261a72c962dece",
|
|
1446
|
-
"registryDigest": "sha256:
|
|
1446
|
+
"registryDigest": "sha256:266928038838e26ba1350c70d78290723ddb2fd209b66ab1afab776d948a379b",
|
|
1447
1447
|
"inputClassifications": {
|
|
1448
1448
|
"artifact-name": {
|
|
1449
1449
|
"classification": "included",
|
|
@@ -1601,6 +1601,7 @@
|
|
|
1601
1601
|
"publication-admission-json",
|
|
1602
1602
|
"publication-control-plane-audit-json",
|
|
1603
1603
|
"publication-expected-json",
|
|
1604
|
+
"publication-gate-aggregate-json",
|
|
1604
1605
|
"publication-runner-provenance-json",
|
|
1605
1606
|
"publication-used-nonces-json",
|
|
1606
1607
|
"release-feedback-actor-privacy",
|
|
@@ -1612,8 +1613,8 @@
|
|
|
1612
1613
|
],
|
|
1613
1614
|
"controllerDescriptor": {
|
|
1614
1615
|
"contract": "buildchain.controller-descriptor/v1",
|
|
1615
|
-
"digest": "sha256:
|
|
1616
|
-
"registryDigest": "sha256:
|
|
1616
|
+
"digest": "sha256:7e6283c8fbeab7a680bae57c9ab9c8eb94aab7400d3ee01c5b9dfdd03f149edb",
|
|
1617
|
+
"registryDigest": "sha256:266928038838e26ba1350c70d78290723ddb2fd209b66ab1afab776d948a379b",
|
|
1617
1618
|
"inputClassifications": {
|
|
1618
1619
|
"artifact-path": {
|
|
1619
1620
|
"classification": "digest-only",
|
|
@@ -1739,6 +1740,10 @@
|
|
|
1739
1740
|
"classification": "digest-only",
|
|
1740
1741
|
"source": "workflow-call-input"
|
|
1741
1742
|
},
|
|
1743
|
+
"publication-gate-aggregate-json": {
|
|
1744
|
+
"classification": "digest-only",
|
|
1745
|
+
"source": "workflow-call-input"
|
|
1746
|
+
},
|
|
1742
1747
|
"publication-runner-provenance-json": {
|
|
1743
1748
|
"classification": "digest-only",
|
|
1744
1749
|
"source": "workflow-call-input"
|
|
@@ -1780,7 +1785,7 @@
|
|
|
1780
1785
|
"missing receipts are non-qualifying and must not be represented as a successful controller run"
|
|
1781
1786
|
],
|
|
1782
1787
|
"breakingDigest": "sha256:f14825324a16b51c2e9ed708ebe64e1932e05b6d5e0866f83aea8439decb4a27",
|
|
1783
|
-
"auditDigest": "sha256:
|
|
1788
|
+
"auditDigest": "sha256:d9aa7c4c2b30e741d0e24274307ecafc840f3db64dc46103bd30c09e54c4c47e"
|
|
1784
1789
|
},
|
|
1785
1790
|
{
|
|
1786
1791
|
"contractVersion": 1,
|
|
@@ -1845,7 +1850,7 @@
|
|
|
1845
1850
|
"controllerDescriptor": {
|
|
1846
1851
|
"contract": "buildchain.controller-descriptor/v1",
|
|
1847
1852
|
"digest": "sha256:6b132790b9798e8a5dfbe095701d8e024c160a08bc7c4bd477ee79feef7a9cfd",
|
|
1848
|
-
"registryDigest": "sha256:
|
|
1853
|
+
"registryDigest": "sha256:266928038838e26ba1350c70d78290723ddb2fd209b66ab1afab776d948a379b",
|
|
1849
1854
|
"inputClassifications": {
|
|
1850
1855
|
"artifact-name": {
|
|
1851
1856
|
"classification": "included",
|
|
@@ -2026,7 +2031,7 @@
|
|
|
2026
2031
|
"controllerDescriptor": {
|
|
2027
2032
|
"contract": "buildchain.controller-descriptor/v1",
|
|
2028
2033
|
"digest": "sha256:0613ea545fe2d630f34e665c8e6fe99df3f5333d75051a7176e9cf991e494f59",
|
|
2029
|
-
"registryDigest": "sha256:
|
|
2034
|
+
"registryDigest": "sha256:266928038838e26ba1350c70d78290723ddb2fd209b66ab1afab776d948a379b",
|
|
2030
2035
|
"inputClassifications": {
|
|
2031
2036
|
"artifact-name": {
|
|
2032
2037
|
"classification": "included",
|
|
@@ -2300,7 +2305,7 @@
|
|
|
2300
2305
|
"controllerDescriptor": {
|
|
2301
2306
|
"contract": "buildchain.controller-descriptor/v1",
|
|
2302
2307
|
"digest": "sha256:2507d132710f66d3ae6ffdb18f5e66172707b8e0f9ad9e888f7422fdacc99133",
|
|
2303
|
-
"registryDigest": "sha256:
|
|
2308
|
+
"registryDigest": "sha256:266928038838e26ba1350c70d78290723ddb2fd209b66ab1afab776d948a379b",
|
|
2304
2309
|
"inputClassifications": {
|
|
2305
2310
|
"BUILDCHAIN_ISSUE_APP_ID": {
|
|
2306
2311
|
"classification": "redacted",
|
|
@@ -2633,7 +2638,7 @@
|
|
|
2633
2638
|
"controllerDescriptor": {
|
|
2634
2639
|
"contract": "buildchain.controller-descriptor/v1",
|
|
2635
2640
|
"digest": "sha256:9b9f9a2320c4349903d72ee46e329211b5538ed5ebebaa93559df4eafb835997",
|
|
2636
|
-
"registryDigest": "sha256:
|
|
2641
|
+
"registryDigest": "sha256:266928038838e26ba1350c70d78290723ddb2fd209b66ab1afab776d948a379b",
|
|
2637
2642
|
"inputClassifications": {
|
|
2638
2643
|
"buildchain-ref": {
|
|
2639
2644
|
"classification": "included",
|
|
@@ -2700,9 +2705,9 @@
|
|
|
2700
2705
|
"missing receipts are non-qualifying and must not be represented as a successful controller run"
|
|
2701
2706
|
],
|
|
2702
2707
|
"breakingDigest": "sha256:d7a1f15990ce8bd13149474888232c7d4451dd2a49bebf4d4ce1336695da430e",
|
|
2703
|
-
"auditDigest": "sha256:
|
|
2708
|
+
"auditDigest": "sha256:2750630ae675352b601dd6cb6a987df14bf11029fcf02aa54638b4fcdcb7590e"
|
|
2704
2709
|
}
|
|
2705
2710
|
],
|
|
2706
2711
|
"compatibilityDigest": "sha256:af162b86ab4506e9b5f1d3c59b41f3fd57fbad79ff4d749a7f12ff16460517f8",
|
|
2707
|
-
"contractDigest": "sha256:
|
|
2712
|
+
"contractDigest": "sha256:e155fe8cce9a0ea11f7f586665243bd07c59fdba7c170665d746d794fdf97fc2"
|
|
2708
2713
|
}
|