@kungfu-tech/buildchain 2.14.18-alpha.1 → 2.14.18-alpha.10
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/README.md +1 -0
- package/actions/promote-buildchain-ref/README.md +33 -30
- package/bin/buildchain.mjs +16 -4
- package/dist/site/buildchain-contract.json +86 -31
- package/dist/site/buildchain-site.json +88 -27
- package/dist/site/capability-registry.json +6 -5
- package/dist/site/cli-registry.json +12 -0
- package/dist/site/controller-registry.json +50 -6
- package/dist/site/kfd-claims.json +110 -21
- package/dist/site/kfd-upstream-aggregate.json +1 -1
- package/dist/site/manual-registry.json +21 -6
- package/dist/site/node-api-registry.json +19 -6
- package/dist/site/page-registry.json +70 -17
- package/dist/site/public-surface-audit.json +130 -23
- package/dist/site/publication-authority-registry.json +21 -1
- package/dist/site/publication-registry.json +4 -4
- package/dist/site/release-provenance.json +1 -0
- package/dist/site/site-manifest.json +18 -10
- package/dist/site/workflow-registry.json +62 -16
- package/docs/MAP.md +3 -1
- package/docs/github-governance-authority.md +267 -0
- package/docs/lifecycle-protocol.md +10 -10
- package/docs/publish-transaction.md +73 -4
- package/docs/release-governance.md +38 -24
- package/docs/reusable-build-surface.md +29 -11
- package/docs/web-surface-deployments.md +46 -0
- package/package.json +2 -1
- package/packages/core/buildchain-kfd-claims.js +2 -0
- package/packages/core/buildchain-publication-authority.js +1 -0
- package/packages/core/controller-evidence.js +1 -1
- package/packages/core/github-governance-authority.js +1312 -0
- package/packages/core/index.js +22 -0
- package/packages/core/publication-control-plane-audit.js +4 -1
- package/scripts/audit-github-governance.mjs +474 -0
- package/scripts/audit-publication-control-plane.mjs +41 -5
- package/scripts/check-inventory.mjs +8 -0
- package/scripts/generate-channel-promotion-workflow.mjs +3 -0
- package/scripts/generate-site-bundle.mjs +5 -0
- package/scripts/installer-publication.mjs +351 -0
- package/scripts/publication-commit-evidence.mjs +158 -0
- package/scripts/reconcile-github-governance.mjs +549 -0
- package/scripts/release-candidate-resolver.mjs +53 -0
- package/scripts/web-surface-core.mjs +127 -14
package/README.md
CHANGED
|
@@ -362,6 +362,7 @@ npm pack --dry-run --json --registry=https://registry.npmjs.org/
|
|
|
362
362
|
- [Documentation map](docs/MAP.md)
|
|
363
363
|
- [Product mechanism](docs/product-mechanism.md)
|
|
364
364
|
- [Release Passport and binary distribution](docs/release-passport.md)
|
|
365
|
+
- [GitHub governance authority](docs/github-governance-authority.md)
|
|
365
366
|
- [Binary distribution details](docs/binary-distribution.md)
|
|
366
367
|
- [Toolkit observability](docs/toolkit-observability.md)
|
|
367
368
|
- [Site bundle contract](docs/site-bundle-contract.md)
|
|
@@ -82,17 +82,18 @@ explicitly, then run the normal channel promotion flow for that line.
|
|
|
82
82
|
|
|
83
83
|
When branch protection requires pull requests, generated version-state commits
|
|
84
84
|
still run through promotion automation first. The action updates
|
|
85
|
-
Buildchain-managed channel protection before generated bookkeeping,
|
|
86
|
-
|
|
85
|
+
Buildchain-managed channel protection before generated bookkeeping, admits only
|
|
86
|
+
the exact `github-actions` App to the target-bound bypass allowlist, creates
|
|
87
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
|
-
from the durable transaction state. Strict alpha
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
92
|
+
from the durable transaction state. Strict alpha uses the same protected
|
|
93
|
+
version-state PR recovery for its target and dev bookkeeping, and does not move
|
|
94
|
+
tags until those provider-enforced transactions land. Reusable wrapper callers
|
|
95
|
+
should allow `checks: write` so the generated checks are owned by GitHub Actions
|
|
96
|
+
and match the managed branch protection rule.
|
|
96
97
|
|
|
97
98
|
Stable promotion also protects concurrent development work. The reusable
|
|
98
99
|
wrapper checks out the exact current `dev/vN/vN.M` head as a reconciliation
|
|
@@ -104,17 +105,23 @@ This prevents generated projections from an older release tree from replacing
|
|
|
104
105
|
capabilities that reached dev while the release was in progress.
|
|
105
106
|
|
|
106
107
|
For Buildchain-owned automation, callers may pass
|
|
107
|
-
`branch-protection-bypass-apps
|
|
108
|
-
|
|
108
|
+
`branch-protection-bypass-apps: github-actions`. The action rejects every other
|
|
109
|
+
App slug and all user or team bypass actors. It configures managed
|
|
109
110
|
`dev/vN/vN.M`, `alpha/vN/vN.M`, and `release/vN/vN.M` branches with one
|
|
110
|
-
required approving review,
|
|
111
|
+
required approving review, Code Owner review, stale-review dismissal,
|
|
112
|
+
latest-push approval, exact App-bound GitHub Actions checks, admin enforcement,
|
|
111
113
|
conversation resolution, no force pushes, and no deletions; the bypass
|
|
112
114
|
allowance only lets the named automation identity apply generated version-state
|
|
113
115
|
or channel bookkeeping without a second human review after the reviewed channel
|
|
114
|
-
PR has already merged.
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
116
|
+
PR has already merged.
|
|
117
|
+
|
|
118
|
+
GitHub may return either `403` or a deliberately opaque `404` when a
|
|
119
|
+
non-administrator token reads the full branch-protection endpoint. In that
|
|
120
|
+
case, promotion reads the provider's branch summary and accepts only an
|
|
121
|
+
already-protected branch that enforces the exact required check for everyone.
|
|
122
|
+
It does not interpret the opaque response as missing protection or try to
|
|
123
|
+
rewrite policy with a developer token. The independent publication-authority
|
|
124
|
+
audit remains responsible for the complete read-only governance proof.
|
|
118
125
|
|
|
119
126
|
## Publish Transactions
|
|
120
127
|
|
|
@@ -125,7 +132,7 @@ trusted channel workflow:
|
|
|
125
132
|
- uses: kungfu-systems/buildchain/actions/promote-buildchain-ref@v2
|
|
126
133
|
with:
|
|
127
134
|
token: ${{ secrets.BUILDCHAIN_PROMOTION_TOKEN }}
|
|
128
|
-
generated-ref-update-token: ${{
|
|
135
|
+
generated-ref-update-token: ${{ github.token }}
|
|
129
136
|
sha: ${{ github.sha }}
|
|
130
137
|
target-ref: release/v2/v2.0
|
|
131
138
|
publish-transaction: "true"
|
|
@@ -406,26 +413,22 @@ governance semantics:
|
|
|
406
413
|
with either the `verification-command` input or `buildchain.toml`
|
|
407
414
|
`lifecycle.verify` before any tags or channel refs move.
|
|
408
415
|
|
|
409
|
-
The promotion workflow
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
`dev/*`, `alpha/*`, or `release/*` with one required review should configure
|
|
420
|
-
`BUILDCHAIN_PROMOTION_TOKEN` as the bypass-capable release authority, so
|
|
421
|
-
post-publish dev/alpha/release bookkeeping completes without a human PR.
|
|
416
|
+
The reusable promotion workflow keeps governance reads, generated status checks,
|
|
417
|
+
and generated ref updates on the run-scoped `github.token`. When branch
|
|
418
|
+
protection rejects generated bookkeeping, it supplies `BUILDCHAIN_PROMOTION_TOKEN`
|
|
419
|
+
only through `generated-pull-request-token` so the same-repository recovery PR can
|
|
420
|
+
be listed or created without broadening the governance client. Protected branch
|
|
421
|
+
review and check rules guard human channel merges, while the reusable build trust
|
|
422
|
+
gate checks the source-lock channel HEAD and merged same-repository PR lineage
|
|
423
|
+
before heavy build runners start. This action still independently rechecks PR
|
|
424
|
+
lineage, alpha/release tree equivalence, and generated version-state verification
|
|
425
|
+
before moving channel refs and tags.
|
|
422
426
|
The reusable `release-candidate-promote.yml` wrapper defaults
|
|
423
427
|
`branch-protection-bypass-apps` to `github-actions`, so flow-internal promotion
|
|
424
428
|
can complete generated `dev`/`alpha`/`release` bookkeeping while ordinary human
|
|
425
429
|
pushes and PR merges remain governed by the one-review branch protection rule.
|
|
426
|
-
The promotion action
|
|
427
|
-
|
|
428
|
-
declare the same release authority twice.
|
|
430
|
+
The promotion action rejects alternate App slugs and every user or team bypass,
|
|
431
|
+
so the mutation path cannot widen the authority descriptor.
|
|
429
432
|
|
|
430
433
|
The tag names intentionally follow the old ABV release semantics:
|
|
431
434
|
exact release tags are `vX.Y.Z`, exact alpha tags are `vX.Y.Z-alpha.N`, floating
|
package/bin/buildchain.mjs
CHANGED
|
@@ -148,6 +148,7 @@ function usage() {
|
|
|
148
148
|
buildchain release-governance reconcile --repository <owner/repo>
|
|
149
149
|
--branch <dev|alpha|release/vN/vN.N>
|
|
150
150
|
--candidate-sha <sha> [--apply] [--json]
|
|
151
|
+
buildchain github-governance <plan|apply|rollback|protection-policy-plan|ruleset-policy-plan> ...
|
|
151
152
|
buildchain release <inspect|recover|finalize|abort> ...
|
|
152
153
|
buildchain transaction inspect ...
|
|
153
154
|
buildchain collect github-release --tag <tag> [--repository <owner/repo>]
|
|
@@ -184,6 +185,8 @@ function usage() {
|
|
|
184
185
|
--publication-evidence-json <file-or-json>
|
|
185
186
|
[--expected-json <file-or-json>] [--used-nonce <nonce>]... [--json]
|
|
186
187
|
buildchain audit publication-control-plane --repository <owner/repo> --branch <protected-branch>
|
|
188
|
+
buildchain audit github-governance [--organization <owner>] [--repository <owner/repo>]
|
|
189
|
+
[--output <file>] [--require-qualifying] [--json]
|
|
187
190
|
[--source-sha <merged-branch-sha>] [--workflow-repository <owner/repo>]
|
|
188
191
|
[--workflow <path>] [--workflow-ref <sha-or-ref>]
|
|
189
192
|
[--job <id>] [--environment <name>] [--package <name>]
|
|
@@ -2024,11 +2027,15 @@ async function main(argv = process.argv.slice(2)) {
|
|
|
2024
2027
|
|
|
2025
2028
|
if (command === "audit") {
|
|
2026
2029
|
const [subcommand = "", ...auditArgs] = args;
|
|
2027
|
-
if (subcommand
|
|
2028
|
-
|
|
2030
|
+
if (subcommand === "publication-control-plane") {
|
|
2031
|
+
runScript("audit-publication-control-plane.mjs", auditArgs);
|
|
2032
|
+
return;
|
|
2029
2033
|
}
|
|
2030
|
-
|
|
2031
|
-
|
|
2034
|
+
if (subcommand === "github-governance") {
|
|
2035
|
+
runScript("audit-github-governance.mjs", auditArgs);
|
|
2036
|
+
return;
|
|
2037
|
+
}
|
|
2038
|
+
throw new Error("usage: buildchain audit <publication-control-plane|github-governance> ...");
|
|
2032
2039
|
}
|
|
2033
2040
|
|
|
2034
2041
|
if (command === "explain") {
|
|
@@ -2149,6 +2156,11 @@ async function main(argv = process.argv.slice(2)) {
|
|
|
2149
2156
|
return;
|
|
2150
2157
|
}
|
|
2151
2158
|
|
|
2159
|
+
if (command === "github-governance") {
|
|
2160
|
+
runScript("reconcile-github-governance.mjs", args);
|
|
2161
|
+
return;
|
|
2162
|
+
}
|
|
2163
|
+
|
|
2152
2164
|
if (command === "badges") {
|
|
2153
2165
|
await runReadmeBadgesCli(args);
|
|
2154
2166
|
return;
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"product": {
|
|
5
5
|
"name": "Buildchain",
|
|
6
6
|
"package": "@kungfu-tech/buildchain",
|
|
7
|
-
"version": "2.14.18-alpha.
|
|
7
|
+
"version": "2.14.18-alpha.10",
|
|
8
8
|
"repository": "https://github.com/kungfu-systems/buildchain"
|
|
9
9
|
},
|
|
10
10
|
"majorLine": "v2",
|
|
@@ -50,7 +50,7 @@
|
|
|
50
50
|
"retryable GitHub fallback fetches use a bounded attempt budget before exact source SHA and tree verification"
|
|
51
51
|
],
|
|
52
52
|
"breakingDigest": "sha256:a6a35370d6b0d0f46e1b2712dcc01961fe53c2febde95409a27a485c10a36650",
|
|
53
|
-
"auditDigest": "sha256:
|
|
53
|
+
"auditDigest": "sha256:1e1386b49f8f3ea813f8157afb96cecec7609b6efe01f07895c893c097b1ed66"
|
|
54
54
|
},
|
|
55
55
|
{
|
|
56
56
|
"contractVersion": 1,
|
|
@@ -89,7 +89,7 @@
|
|
|
89
89
|
"alpha and stable channel selections use separate consumer contract locks by default"
|
|
90
90
|
],
|
|
91
91
|
"breakingDigest": "sha256:c4597dfa89e1a58f1023905092b849644f5c080abf150aeba9c7e1cd5ed43962",
|
|
92
|
-
"auditDigest": "sha256:
|
|
92
|
+
"auditDigest": "sha256:1f29079465cb11004db3f1a6ec4f37b1900fdd90d3278d8d0bacb223757bffa5"
|
|
93
93
|
},
|
|
94
94
|
{
|
|
95
95
|
"contractVersion": 1,
|
|
@@ -170,7 +170,7 @@
|
|
|
170
170
|
"GitHub Release passport and evidence publication is delegated to promote-buildchain-ref after the semver release transaction completes"
|
|
171
171
|
],
|
|
172
172
|
"breakingDigest": "sha256:1f476fb9a4854b362c4b24cef89a3c7675d7d63baf3bc828d7b8ae7d2787cead",
|
|
173
|
-
"auditDigest": "sha256:
|
|
173
|
+
"auditDigest": "sha256:5a5cbec0b5382c34101623ed11f264797b618920d8c98c78e0d14af9f07a1f6b"
|
|
174
174
|
},
|
|
175
175
|
{
|
|
176
176
|
"contractVersion": 1,
|
|
@@ -212,7 +212,7 @@
|
|
|
212
212
|
"promotion reuses PR-stage release-candidate artifacts and does not run the heavy native build matrix"
|
|
213
213
|
],
|
|
214
214
|
"breakingDigest": "sha256:aa30f22e3af0a89841310bdbdc900844dd95a66974db173fa140a71bbd7e82c0",
|
|
215
|
-
"auditDigest": "sha256:
|
|
215
|
+
"auditDigest": "sha256:ba3117f22b343d5f18cd48d327bffaa8ed442cb6150b6c2f95d091808cd009a7"
|
|
216
216
|
},
|
|
217
217
|
{
|
|
218
218
|
"contractVersion": 1,
|
|
@@ -256,7 +256,7 @@
|
|
|
256
256
|
"channel-aware artifact host facts are checked against the deploy plan before adapter side effects"
|
|
257
257
|
],
|
|
258
258
|
"breakingDigest": "sha256:da569f90374e878948e3d5160ed9929338ce0572473ca8ee54867b0fe1aaeace",
|
|
259
|
-
"auditDigest": "sha256:
|
|
259
|
+
"auditDigest": "sha256:063dfe24e1ccdd95b4ffbf89a154aa71197c8bd1cb98b4705d8663917c026366"
|
|
260
260
|
},
|
|
261
261
|
{
|
|
262
262
|
"contractVersion": 1,
|
|
@@ -327,7 +327,7 @@
|
|
|
327
327
|
"sha256:a59f0910e6df842e7699139472e5dd69ac2fdd7f7213bf2cb346d1d622556874"
|
|
328
328
|
],
|
|
329
329
|
"breakingDigest": "sha256:6147c0a8d5c36bfaa6021871574e1fc28192a3f1b8cfdae4d24ef3059ac1ebda",
|
|
330
|
-
"auditDigest": "sha256:
|
|
330
|
+
"auditDigest": "sha256:c23298988d29d6dbf99c65fd7d5567d704f012cc7a061c46a848c26814cab4b9"
|
|
331
331
|
},
|
|
332
332
|
{
|
|
333
333
|
"contractVersion": 1,
|
|
@@ -551,7 +551,7 @@
|
|
|
551
551
|
"README badge block checks and writes are generated from machine-readable repository facts"
|
|
552
552
|
],
|
|
553
553
|
"breakingDigest": "sha256:90a73892b2d6c214048448d5f45df75639bdf7b7e8fefd9c596e04b087407bcc",
|
|
554
|
-
"auditDigest": "sha256:
|
|
554
|
+
"auditDigest": "sha256:a6f8915ef3ade05f04efff98c1723f7562e2b4fc83dcdb1e7decead0e5ac7533"
|
|
555
555
|
},
|
|
556
556
|
{
|
|
557
557
|
"contractVersion": 1,
|
|
@@ -641,7 +641,7 @@
|
|
|
641
641
|
"manual entries carry source file digests so downstream sites and agents can detect stale hand-written documentation"
|
|
642
642
|
],
|
|
643
643
|
"breakingDigest": "sha256:7d0d2819e3a3e72989d9c57b5efe9d0bc0a79bc0f2c82a0c7b9d6c5a211a91f2",
|
|
644
|
-
"auditDigest": "sha256:
|
|
644
|
+
"auditDigest": "sha256:29b45afe77400b5b38872574cdf7ccfcf8abc93b7f78ad32d994a6636a4f9f68"
|
|
645
645
|
},
|
|
646
646
|
{
|
|
647
647
|
"contractVersion": 1,
|
|
@@ -663,7 +663,7 @@
|
|
|
663
663
|
"agents can discover supported Node APIs without importing internal file paths"
|
|
664
664
|
],
|
|
665
665
|
"breakingDigest": "sha256:48f925608d3e2131d90936b07dc2a30341204cae3e6e785c0f77d61ad755c945",
|
|
666
|
-
"auditDigest": "sha256:
|
|
666
|
+
"auditDigest": "sha256:4572769775450f49fa37a72e6dda211eea0af0a4dd73ad1d188dbb34782a35a9"
|
|
667
667
|
},
|
|
668
668
|
{
|
|
669
669
|
"contractVersion": 1,
|
|
@@ -714,7 +714,7 @@
|
|
|
714
714
|
"controllerDescriptor": {
|
|
715
715
|
"contract": "buildchain.controller-descriptor/v1",
|
|
716
716
|
"digest": "sha256:373723a73d188194d389dee04c394d3b79cb0c016a370f2f5d0f60979a02ed48",
|
|
717
|
-
"registryDigest": "sha256:
|
|
717
|
+
"registryDigest": "sha256:15fdbedc9c0a2b51104e854300d1725bcab76b11cebde61f53a70a49fe43966b",
|
|
718
718
|
"inputClassifications": {
|
|
719
719
|
"buildchain-ref": {
|
|
720
720
|
"classification": "included",
|
|
@@ -830,6 +830,7 @@
|
|
|
830
830
|
"checkout-cache-mode",
|
|
831
831
|
"checkout-cache-reference-repository-template",
|
|
832
832
|
"checkout-cache-timeout-seconds",
|
|
833
|
+
"credential-island-caller-owned",
|
|
833
834
|
"credential-island-environment",
|
|
834
835
|
"credential-island-macos-app-path",
|
|
835
836
|
"credential-island-macos-platform-id",
|
|
@@ -871,8 +872,8 @@
|
|
|
871
872
|
],
|
|
872
873
|
"controllerDescriptor": {
|
|
873
874
|
"contract": "buildchain.controller-descriptor/v1",
|
|
874
|
-
"digest": "sha256:
|
|
875
|
-
"registryDigest": "sha256:
|
|
875
|
+
"digest": "sha256:a06607b6ebd3fb00b77519098c81d6fb5e9943ec268aebb1e5fdbefef6e598ad",
|
|
876
|
+
"registryDigest": "sha256:15fdbedc9c0a2b51104e854300d1725bcab76b11cebde61f53a70a49fe43966b",
|
|
876
877
|
"inputClassifications": {
|
|
877
878
|
"BUILDCHAIN_ARTIFACT_RELAY_S3_DOWNLOAD_ROLE_ARN": {
|
|
878
879
|
"classification": "redacted",
|
|
@@ -1010,6 +1011,10 @@
|
|
|
1010
1011
|
"classification": "digest-only",
|
|
1011
1012
|
"source": "workflow-call-input"
|
|
1012
1013
|
},
|
|
1014
|
+
"credential-island-caller-owned": {
|
|
1015
|
+
"classification": "included",
|
|
1016
|
+
"source": "workflow-call-input"
|
|
1017
|
+
},
|
|
1013
1018
|
"credential-island-environment": {
|
|
1014
1019
|
"classification": "digest-only",
|
|
1015
1020
|
"source": "workflow-call-input"
|
|
@@ -1174,7 +1179,7 @@
|
|
|
1174
1179
|
"missing receipts are non-qualifying and must not be represented as a successful controller run"
|
|
1175
1180
|
],
|
|
1176
1181
|
"breakingDigest": "sha256:30745921541e9b0f70475bb2178c2559f6aef248f6680670ccd44d8c5a69a6b1",
|
|
1177
|
-
"auditDigest": "sha256:
|
|
1182
|
+
"auditDigest": "sha256:1e1386b49f8f3ea813f8157afb96cecec7609b6efe01f07895c893c097b1ed66"
|
|
1178
1183
|
},
|
|
1179
1184
|
{
|
|
1180
1185
|
"contractVersion": 1,
|
|
@@ -1249,6 +1254,7 @@
|
|
|
1249
1254
|
"checkout-cache-mode",
|
|
1250
1255
|
"checkout-cache-reference-repository-template",
|
|
1251
1256
|
"checkout-cache-timeout-seconds",
|
|
1257
|
+
"credential-island-caller-owned",
|
|
1252
1258
|
"credential-island-environment",
|
|
1253
1259
|
"credential-island-macos-app-path",
|
|
1254
1260
|
"credential-island-macos-platform-id",
|
|
@@ -1290,8 +1296,8 @@
|
|
|
1290
1296
|
],
|
|
1291
1297
|
"controllerDescriptor": {
|
|
1292
1298
|
"contract": "buildchain.controller-descriptor/v1",
|
|
1293
|
-
"digest": "sha256:
|
|
1294
|
-
"registryDigest": "sha256:
|
|
1299
|
+
"digest": "sha256:4fc6c33bf5b429f8087ac752d5cf2a19f4a1cc30db01aae927a28cee1cf924f0",
|
|
1300
|
+
"registryDigest": "sha256:15fdbedc9c0a2b51104e854300d1725bcab76b11cebde61f53a70a49fe43966b",
|
|
1295
1301
|
"inputClassifications": {
|
|
1296
1302
|
"BUILDCHAIN_ARTIFACT_RELAY_S3_DOWNLOAD_ROLE_ARN": {
|
|
1297
1303
|
"classification": "redacted",
|
|
@@ -1441,6 +1447,10 @@
|
|
|
1441
1447
|
"classification": "digest-only",
|
|
1442
1448
|
"source": "workflow-call-input"
|
|
1443
1449
|
},
|
|
1450
|
+
"credential-island-caller-owned": {
|
|
1451
|
+
"classification": "included",
|
|
1452
|
+
"source": "workflow-call-input"
|
|
1453
|
+
},
|
|
1444
1454
|
"credential-island-environment": {
|
|
1445
1455
|
"classification": "digest-only",
|
|
1446
1456
|
"source": "workflow-call-input"
|
|
@@ -1602,7 +1612,7 @@
|
|
|
1602
1612
|
"missing receipts are non-qualifying and must not be represented as a successful controller run"
|
|
1603
1613
|
],
|
|
1604
1614
|
"breakingDigest": "sha256:d40dd05d7e07473d4b2dc1b62fbb0ed6f06449b4d3a7c44a2e8014313e3c0273",
|
|
1605
|
-
"auditDigest": "sha256:
|
|
1615
|
+
"auditDigest": "sha256:1f29079465cb11004db3f1a6ec4f37b1900fdd90d3278d8d0bacb223757bffa5"
|
|
1606
1616
|
},
|
|
1607
1617
|
{
|
|
1608
1618
|
"contractVersion": 1,
|
|
@@ -1661,7 +1671,7 @@
|
|
|
1661
1671
|
"controllerDescriptor": {
|
|
1662
1672
|
"contract": "buildchain.controller-descriptor/v1",
|
|
1663
1673
|
"digest": "sha256:29569f4b754595792a16742d1c4c63838b54601674a2cb6c96261a72c962dece",
|
|
1664
|
-
"registryDigest": "sha256:
|
|
1674
|
+
"registryDigest": "sha256:15fdbedc9c0a2b51104e854300d1725bcab76b11cebde61f53a70a49fe43966b",
|
|
1665
1675
|
"inputClassifications": {
|
|
1666
1676
|
"artifact-name": {
|
|
1667
1677
|
"classification": "included",
|
|
@@ -1797,6 +1807,7 @@
|
|
|
1797
1807
|
"buildchain-ref",
|
|
1798
1808
|
"buildchain-repository",
|
|
1799
1809
|
"fail-on-release-pr-error",
|
|
1810
|
+
"github-governance-receipt-json",
|
|
1800
1811
|
"node-version",
|
|
1801
1812
|
"preview-apply",
|
|
1802
1813
|
"preview-aws-role-arn",
|
|
@@ -1831,8 +1842,8 @@
|
|
|
1831
1842
|
],
|
|
1832
1843
|
"controllerDescriptor": {
|
|
1833
1844
|
"contract": "buildchain.controller-descriptor/v1",
|
|
1834
|
-
"digest": "sha256:
|
|
1835
|
-
"registryDigest": "sha256:
|
|
1845
|
+
"digest": "sha256:65cc01e6d2b622277d67237e4811e82d24d2289d55c2f7d2dfb72325c610b2ea",
|
|
1846
|
+
"registryDigest": "sha256:15fdbedc9c0a2b51104e854300d1725bcab76b11cebde61f53a70a49fe43966b",
|
|
1836
1847
|
"inputClassifications": {
|
|
1837
1848
|
"artifact-path": {
|
|
1838
1849
|
"classification": "digest-only",
|
|
@@ -1870,6 +1881,10 @@
|
|
|
1870
1881
|
"classification": "included",
|
|
1871
1882
|
"source": "workflow-call-input"
|
|
1872
1883
|
},
|
|
1884
|
+
"github-governance-receipt-json": {
|
|
1885
|
+
"classification": "digest-only",
|
|
1886
|
+
"source": "workflow-call-input"
|
|
1887
|
+
},
|
|
1873
1888
|
"node-version": {
|
|
1874
1889
|
"classification": "included",
|
|
1875
1890
|
"source": "workflow-call-input"
|
|
@@ -2003,7 +2018,7 @@
|
|
|
2003
2018
|
"missing receipts are non-qualifying and must not be represented as a successful controller run"
|
|
2004
2019
|
],
|
|
2005
2020
|
"breakingDigest": "sha256:f14825324a16b51c2e9ed708ebe64e1932e05b6d5e0866f83aea8439decb4a27",
|
|
2006
|
-
"auditDigest": "sha256:
|
|
2021
|
+
"auditDigest": "sha256:063dfe24e1ccdd95b4ffbf89a154aa71197c8bd1cb98b4705d8663917c026366"
|
|
2007
2022
|
},
|
|
2008
2023
|
{
|
|
2009
2024
|
"contractVersion": 1,
|
|
@@ -2068,7 +2083,7 @@
|
|
|
2068
2083
|
"controllerDescriptor": {
|
|
2069
2084
|
"contract": "buildchain.controller-descriptor/v1",
|
|
2070
2085
|
"digest": "sha256:6b132790b9798e8a5dfbe095701d8e024c160a08bc7c4bd477ee79feef7a9cfd",
|
|
2071
|
-
"registryDigest": "sha256:
|
|
2086
|
+
"registryDigest": "sha256:15fdbedc9c0a2b51104e854300d1725bcab76b11cebde61f53a70a49fe43966b",
|
|
2072
2087
|
"inputClassifications": {
|
|
2073
2088
|
"artifact-name": {
|
|
2074
2089
|
"classification": "included",
|
|
@@ -2220,6 +2235,7 @@
|
|
|
2220
2235
|
"buildchain-ref",
|
|
2221
2236
|
"buildchain-repository",
|
|
2222
2237
|
"dry-run",
|
|
2238
|
+
"github-governance-receipt-json",
|
|
2223
2239
|
"github-release",
|
|
2224
2240
|
"github-release-notes",
|
|
2225
2241
|
"github-release-title",
|
|
@@ -2248,8 +2264,8 @@
|
|
|
2248
2264
|
],
|
|
2249
2265
|
"controllerDescriptor": {
|
|
2250
2266
|
"contract": "buildchain.controller-descriptor/v1",
|
|
2251
|
-
"digest": "sha256:
|
|
2252
|
-
"registryDigest": "sha256:
|
|
2267
|
+
"digest": "sha256:6d71409659fbf8543c7e520b0c493d8afe86bdf60286b860bb917f0041ebc173",
|
|
2268
|
+
"registryDigest": "sha256:15fdbedc9c0a2b51104e854300d1725bcab76b11cebde61f53a70a49fe43966b",
|
|
2253
2269
|
"inputClassifications": {
|
|
2254
2270
|
"artifact-name": {
|
|
2255
2271
|
"classification": "included",
|
|
@@ -2299,6 +2315,10 @@
|
|
|
2299
2315
|
"classification": "included",
|
|
2300
2316
|
"source": "workflow-call-input"
|
|
2301
2317
|
},
|
|
2318
|
+
"github-governance-receipt-json": {
|
|
2319
|
+
"classification": "digest-only",
|
|
2320
|
+
"source": "workflow-call-input"
|
|
2321
|
+
},
|
|
2302
2322
|
"github-release": {
|
|
2303
2323
|
"classification": "included",
|
|
2304
2324
|
"source": "workflow-call-input"
|
|
@@ -2408,7 +2428,7 @@
|
|
|
2408
2428
|
"missing receipts are non-qualifying and must not be represented as a successful controller run"
|
|
2409
2429
|
],
|
|
2410
2430
|
"breakingDigest": "sha256:0eb318df455ef9cb737a7c2515a2411b685d34ed0bde7b5f5b173a7a42513114",
|
|
2411
|
-
"auditDigest": "sha256:
|
|
2431
|
+
"auditDigest": "sha256:fd939f9dcce745f3e1b8063b68715460cb8e1af6d2b813a96b37a741740122b9"
|
|
2412
2432
|
},
|
|
2413
2433
|
{
|
|
2414
2434
|
"contractVersion": 1,
|
|
@@ -2457,6 +2477,9 @@
|
|
|
2457
2477
|
"BUILDCHAIN_ISSUE_APP_PRIVATE_KEY",
|
|
2458
2478
|
"BUILDCHAIN_ISSUE_TOKEN",
|
|
2459
2479
|
"BUILDCHAIN_PROMOTION_TOKEN",
|
|
2480
|
+
"BUILDCHAIN_PUBLICATION_COMMIT_SIGNING_KEY",
|
|
2481
|
+
"BUILDCHAIN_PUBLICATION_COMMIT_TOKEN",
|
|
2482
|
+
"KUNGFU_GOVERNANCE_AUDITOR_APP_PRIVATE_KEY",
|
|
2460
2483
|
"allow-repository",
|
|
2461
2484
|
"artifact-name",
|
|
2462
2485
|
"artifact-patterns",
|
|
@@ -2473,8 +2496,10 @@
|
|
|
2473
2496
|
"buildchain-repository",
|
|
2474
2497
|
"channel",
|
|
2475
2498
|
"dry-run",
|
|
2499
|
+
"github-governance-receipt-json",
|
|
2476
2500
|
"github-release",
|
|
2477
2501
|
"github-release-notes",
|
|
2502
|
+
"github-release-payload-patterns",
|
|
2478
2503
|
"github-release-title",
|
|
2479
2504
|
"package-manager",
|
|
2480
2505
|
"promotion-contract-lock-digest",
|
|
@@ -2491,6 +2516,8 @@
|
|
|
2491
2516
|
"publication-admission-json",
|
|
2492
2517
|
"publication-auto-admission",
|
|
2493
2518
|
"publication-auto-no-gate",
|
|
2519
|
+
"publication-commit-command",
|
|
2520
|
+
"publication-commit-evidence-path",
|
|
2494
2521
|
"publication-consumer-predicate-id",
|
|
2495
2522
|
"publication-consumer-qualification-command",
|
|
2496
2523
|
"publication-control-plane-audit-json",
|
|
@@ -2537,8 +2564,8 @@
|
|
|
2537
2564
|
],
|
|
2538
2565
|
"controllerDescriptor": {
|
|
2539
2566
|
"contract": "buildchain.controller-descriptor/v1",
|
|
2540
|
-
"digest": "sha256:
|
|
2541
|
-
"registryDigest": "sha256:
|
|
2567
|
+
"digest": "sha256:98e2676d01470992d7b4ca9c2a1e12b0e6c816c0586a8e8e1736f4b58a1360a9",
|
|
2568
|
+
"registryDigest": "sha256:15fdbedc9c0a2b51104e854300d1725bcab76b11cebde61f53a70a49fe43966b",
|
|
2542
2569
|
"inputClassifications": {
|
|
2543
2570
|
"BUILDCHAIN_ISSUE_APP_ID": {
|
|
2544
2571
|
"classification": "redacted",
|
|
@@ -2556,6 +2583,18 @@
|
|
|
2556
2583
|
"classification": "redacted",
|
|
2557
2584
|
"source": "workflow-call-secret"
|
|
2558
2585
|
},
|
|
2586
|
+
"BUILDCHAIN_PUBLICATION_COMMIT_SIGNING_KEY": {
|
|
2587
|
+
"classification": "redacted",
|
|
2588
|
+
"source": "workflow-call-secret"
|
|
2589
|
+
},
|
|
2590
|
+
"BUILDCHAIN_PUBLICATION_COMMIT_TOKEN": {
|
|
2591
|
+
"classification": "redacted",
|
|
2592
|
+
"source": "workflow-call-secret"
|
|
2593
|
+
},
|
|
2594
|
+
"KUNGFU_GOVERNANCE_AUDITOR_APP_PRIVATE_KEY": {
|
|
2595
|
+
"classification": "redacted",
|
|
2596
|
+
"source": "workflow-call-secret"
|
|
2597
|
+
},
|
|
2559
2598
|
"allow-repository": {
|
|
2560
2599
|
"classification": "included",
|
|
2561
2600
|
"source": "workflow-call-input"
|
|
@@ -2620,6 +2659,10 @@
|
|
|
2620
2659
|
"classification": "included",
|
|
2621
2660
|
"source": "workflow-call-input"
|
|
2622
2661
|
},
|
|
2662
|
+
"github-governance-receipt-json": {
|
|
2663
|
+
"classification": "digest-only",
|
|
2664
|
+
"source": "workflow-call-input"
|
|
2665
|
+
},
|
|
2623
2666
|
"github-release": {
|
|
2624
2667
|
"classification": "included",
|
|
2625
2668
|
"source": "workflow-call-input"
|
|
@@ -2628,6 +2671,10 @@
|
|
|
2628
2671
|
"classification": "digest-only",
|
|
2629
2672
|
"source": "workflow-call-input"
|
|
2630
2673
|
},
|
|
2674
|
+
"github-release-payload-patterns": {
|
|
2675
|
+
"classification": "included",
|
|
2676
|
+
"source": "workflow-call-input"
|
|
2677
|
+
},
|
|
2631
2678
|
"github-release-title": {
|
|
2632
2679
|
"classification": "included",
|
|
2633
2680
|
"source": "workflow-call-input"
|
|
@@ -2692,6 +2739,14 @@
|
|
|
2692
2739
|
"classification": "included",
|
|
2693
2740
|
"source": "workflow-call-input"
|
|
2694
2741
|
},
|
|
2742
|
+
"publication-commit-command": {
|
|
2743
|
+
"classification": "digest-only",
|
|
2744
|
+
"source": "workflow-call-input"
|
|
2745
|
+
},
|
|
2746
|
+
"publication-commit-evidence-path": {
|
|
2747
|
+
"classification": "digest-only",
|
|
2748
|
+
"source": "workflow-call-input"
|
|
2749
|
+
},
|
|
2695
2750
|
"publication-consumer-predicate-id": {
|
|
2696
2751
|
"classification": "included",
|
|
2697
2752
|
"source": "workflow-call-input"
|
|
@@ -2873,7 +2928,7 @@
|
|
|
2873
2928
|
"missing receipts are non-qualifying and must not be represented as a successful controller run"
|
|
2874
2929
|
],
|
|
2875
2930
|
"breakingDigest": "sha256:015d8de793adbd4c539416be7d7512e18cc92097e629b0203fa06d2c183e98bd",
|
|
2876
|
-
"auditDigest": "sha256:
|
|
2931
|
+
"auditDigest": "sha256:ba3117f22b343d5f18cd48d327bffaa8ed442cb6150b6c2f95d091808cd009a7"
|
|
2877
2932
|
},
|
|
2878
2933
|
{
|
|
2879
2934
|
"contractVersion": 1,
|
|
@@ -2934,7 +2989,7 @@
|
|
|
2934
2989
|
"controllerDescriptor": {
|
|
2935
2990
|
"contract": "buildchain.controller-descriptor/v1",
|
|
2936
2991
|
"digest": "sha256:f97656a8df0758c8e404d5b7c387529256a1ec45d1748f8efb6847a3256b1216",
|
|
2937
|
-
"registryDigest": "sha256:
|
|
2992
|
+
"registryDigest": "sha256:15fdbedc9c0a2b51104e854300d1725bcab76b11cebde61f53a70a49fe43966b",
|
|
2938
2993
|
"inputClassifications": {
|
|
2939
2994
|
"buildchain-ref": {
|
|
2940
2995
|
"classification": "included",
|
|
@@ -3057,7 +3112,7 @@
|
|
|
3057
3112
|
"controllerDescriptor": {
|
|
3058
3113
|
"contract": "buildchain.controller-descriptor/v1",
|
|
3059
3114
|
"digest": "sha256:b6f53563c0adc859bc586c05fce560a5094d7d9666438d63c5fd3e1fc4774555",
|
|
3060
|
-
"registryDigest": "sha256:
|
|
3115
|
+
"registryDigest": "sha256:15fdbedc9c0a2b51104e854300d1725bcab76b11cebde61f53a70a49fe43966b",
|
|
3061
3116
|
"inputClassifications": {}
|
|
3062
3117
|
},
|
|
3063
3118
|
"guarantees": [
|
|
@@ -3071,5 +3126,5 @@
|
|
|
3071
3126
|
}
|
|
3072
3127
|
],
|
|
3073
3128
|
"compatibilityDigest": "sha256:df13c3b8066068925ce847b31002201d533034d10d342542422db3a665c10475",
|
|
3074
|
-
"contractDigest": "sha256:
|
|
3129
|
+
"contractDigest": "sha256:f762f013ae69bdf5f313c1801408be47af9e7d0270c28de7ecd040aa3483f99d"
|
|
3075
3130
|
}
|