@kungfu-tech/buildchain 3.0.1-alpha.4 → 3.0.1-alpha.6
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/dist/site/buildchain-contract.json +52 -22
- package/dist/site/buildchain-site.json +7 -7
- package/dist/site/controller-registry.json +28 -4
- package/dist/site/kfd-claims.json +11 -5
- package/dist/site/kfd-upstream-aggregate.json +1 -1
- package/dist/site/manual-registry.json +1 -1
- package/dist/site/page-registry.json +2 -2
- package/dist/site/public-surface-audit.json +11 -5
- package/dist/site/publication-registry.json +4 -4
- package/dist/site/site-manifest.json +5 -5
- package/dist/site/workflow-registry.json +9 -3
- package/docs/reusable-build-surface.md +18 -0
- package/package.json +1 -1
- package/scripts/generate-channel-build-workflow.mjs +4 -3
|
@@ -100,6 +100,7 @@
|
|
|
100
100
|
"checkout-cache-mode",
|
|
101
101
|
"checkout-cache-reference-repository-template",
|
|
102
102
|
"checkout-cache-timeout-seconds",
|
|
103
|
+
"control-runner-json",
|
|
103
104
|
"credential-island-caller-owned",
|
|
104
105
|
"credential-island-environment",
|
|
105
106
|
"credential-island-macos-app-path",
|
|
@@ -140,7 +141,7 @@
|
|
|
140
141
|
"verify-command",
|
|
141
142
|
"working-directory"
|
|
142
143
|
],
|
|
143
|
-
"inputCount":
|
|
144
|
+
"inputCount": 66,
|
|
144
145
|
"secrets": [
|
|
145
146
|
"BUILDCHAIN_ARTIFACT_RELAY_S3_DOWNLOAD_ROLE_ARN",
|
|
146
147
|
"BUILDCHAIN_ARTIFACT_RELAY_S3_ROLE_ARN",
|
|
@@ -226,6 +227,7 @@
|
|
|
226
227
|
"artifact-retention-days",
|
|
227
228
|
"buildchain-ref",
|
|
228
229
|
"buildchain-repository",
|
|
230
|
+
"cargo-registry-index",
|
|
229
231
|
"checkout-cache-fallback",
|
|
230
232
|
"checkout-cache-fetch-attempts",
|
|
231
233
|
"checkout-cache-github-timeout-seconds",
|
|
@@ -243,13 +245,16 @@
|
|
|
243
245
|
"platforms-json",
|
|
244
246
|
"require-trusted-event",
|
|
245
247
|
"runner-preset",
|
|
248
|
+
"rust-toolchain",
|
|
249
|
+
"rustup-dist-server",
|
|
250
|
+
"rustup-update-root",
|
|
246
251
|
"shifu-cache-profile-digest",
|
|
247
252
|
"shifu-cache-profile-ref",
|
|
248
253
|
"source-ref",
|
|
249
254
|
"untrusted-policy",
|
|
250
255
|
"working-directory"
|
|
251
256
|
],
|
|
252
|
-
"inputCount":
|
|
257
|
+
"inputCount": 30,
|
|
253
258
|
"secrets": [],
|
|
254
259
|
"secretCount": 0,
|
|
255
260
|
"outputs": [
|
|
@@ -914,6 +919,7 @@
|
|
|
914
919
|
"checkout-cache-mode",
|
|
915
920
|
"checkout-cache-reference-repository-template",
|
|
916
921
|
"checkout-cache-timeout-seconds",
|
|
922
|
+
"control-runner-json",
|
|
917
923
|
"credential-island-caller-owned",
|
|
918
924
|
"credential-island-environment",
|
|
919
925
|
"credential-island-macos-app-path",
|
|
@@ -954,7 +960,7 @@
|
|
|
954
960
|
"verify-command",
|
|
955
961
|
"working-directory"
|
|
956
962
|
],
|
|
957
|
-
"inputCount":
|
|
963
|
+
"inputCount": 69,
|
|
958
964
|
"secrets": [
|
|
959
965
|
"BUILDCHAIN_ARTIFACT_RELAY_S3_DOWNLOAD_ROLE_ARN",
|
|
960
966
|
"BUILDCHAIN_ARTIFACT_RELAY_S3_ROLE_ARN",
|
|
@@ -1151,6 +1151,24 @@ with:
|
|
|
1151
1151
|
Do not set `require-trusted-event: false` for workflows that use self-hosted
|
|
1152
1152
|
runners or secrets.
|
|
1153
1153
|
|
|
1154
|
+
The build matrix and the workflow control plane are routed independently. The
|
|
1155
|
+
matrix continues to use `runner-preset` and `platforms-json`. Consumers with a
|
|
1156
|
+
governed runner may also move channel resolution, trust evaluation, contract
|
|
1157
|
+
resolution, controller evidence, artifact transfer, and aggregation off the
|
|
1158
|
+
default GitHub-hosted runner:
|
|
1159
|
+
|
|
1160
|
+
```yaml
|
|
1161
|
+
with:
|
|
1162
|
+
control-runner-json: '["self-hosted","agent-120"]'
|
|
1163
|
+
runner-preset: custom
|
|
1164
|
+
platforms-json: '[{"id":"linux-x64","name":"Linux x64","runner":"[\"self-hosted\",\"agent-120\"]"}]'
|
|
1165
|
+
```
|
|
1166
|
+
|
|
1167
|
+
`control-runner-json` is additive and defaults to `["ubuntu-24.04"]`. Keep
|
|
1168
|
+
`require-trusted-event: true` whenever either runner input selects
|
|
1169
|
+
`self-hosted`; a self-hosted control plane must not be exposed to untrusted fork
|
|
1170
|
+
events or arbitrary caller-controlled workflow code.
|
|
1171
|
+
|
|
1154
1172
|
`require-trusted-event` controls access to build runners. It does not override
|
|
1155
1173
|
the publish gate: pull requests remain non-publishing events.
|
|
1156
1174
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kungfu-tech/buildchain",
|
|
3
|
-
"version": "3.0.1-alpha.
|
|
3
|
+
"version": "3.0.1-alpha.6",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "Buildchain Release Passport, release governance, CLI toolkit, and site facts.",
|
|
6
6
|
"repository": "https://github.com/kungfu-systems/buildchain",
|
|
@@ -93,7 +93,7 @@ function routerControllerPlanJob() {
|
|
|
93
93
|
return ` controller-plan:
|
|
94
94
|
name: Plan channel router controller evidence
|
|
95
95
|
needs: resolve-channel
|
|
96
|
-
runs-on:
|
|
96
|
+
runs-on: \${{ fromJSON(inputs.control-runner-json) }}
|
|
97
97
|
outputs:
|
|
98
98
|
controller-plan-artifact: \${{ steps.names.outputs.controller-plan-artifact }}
|
|
99
99
|
controller-plan-json: \${{ steps.plan.outputs.controller-plan-json }}
|
|
@@ -156,7 +156,7 @@ function routerControllerReceiptJob() {
|
|
|
156
156
|
- controller-plan
|
|
157
157
|
- build
|
|
158
158
|
if: \${{ always() && needs.controller-plan.result == 'success' }}
|
|
159
|
-
runs-on:
|
|
159
|
+
runs-on: \${{ fromJSON(inputs.control-runner-json) }}
|
|
160
160
|
outputs:
|
|
161
161
|
controller-receipt-artifact: \${{ steps.names.outputs.controller-receipt-artifact }}
|
|
162
162
|
controller-receipt-json: \${{ steps.receipt.outputs.controller-receipt-json }}
|
|
@@ -218,7 +218,7 @@ function routerAggregateJob() {
|
|
|
218
218
|
- build
|
|
219
219
|
- controller-receipt
|
|
220
220
|
if: \${{ always() }}
|
|
221
|
-
runs-on:
|
|
221
|
+
runs-on: \${{ fromJSON(inputs.control-runner-json) }}
|
|
222
222
|
steps:
|
|
223
223
|
- name: Enforce public channel router aggregate
|
|
224
224
|
shell: bash
|
|
@@ -295,6 +295,7 @@ function bindRouterCheckoutToWorkflowSha(workflow) {
|
|
|
295
295
|
|
|
296
296
|
export function generateChannelBuildWorkflow(source) {
|
|
297
297
|
const generated = bindRouterCheckoutToWorkflowSha(generateChannelBuildWorkflowBase(source))
|
|
298
|
+
.replaceAll("runs-on: ubuntu-24.04", "runs-on: ${{ fromJSON(inputs.control-runner-json) }}")
|
|
298
299
|
.replace(
|
|
299
300
|
"\npermissions:\n contents: read\n",
|
|
300
301
|
"\npermissions:\n actions: read\n contents: read\n",
|