@kungfu-tech/buildchain 4.0.2-alpha.0 → 4.0.2-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/architecture/agent-change-map.md +4 -4
- package/architecture/ci-lane-change-budget.json +76 -8
- package/architecture/maintainability-debt.json +41 -115
- package/architecture/maintainability-policy.json +12 -7
- package/architecture/release-tail-contract-inventory.json +4 -4
- package/architecture/v3-v4-live-capability-inventory.json +17 -17
- package/architecture/v4-release-invocation-fixtures.json +119 -0
- package/architecture/v4-release-topology.json +238 -0
- package/contracts/buildchain-v2-residuals-v1.json +0 -9
- package/contracts/fixtures/v4-tail-reseal-v1/valid.json +1 -1
- package/contracts/v4-release-invocation-v1.schema.json +86 -0
- package/dist/site/buildchain-contract.json +9 -9
- package/dist/site/buildchain-site.json +7 -7
- package/dist/site/kfd-claims.json +7 -5
- package/dist/site/kfd-upstream-aggregate.json +1 -1
- package/dist/site/manual-registry.json +1 -1
- package/dist/site/node-api-registry.json +3 -3
- package/dist/site/page-registry.json +2 -2
- package/dist/site/public-surface-audit.json +17 -9
- package/dist/site/publication-authority-registry.json +2 -3
- package/dist/site/publication-registry.json +4 -4
- package/dist/site/site-manifest.json +5 -5
- package/dist/site/workflow-registry.json +19 -11
- package/docs/node-api-reference.md +3 -3
- package/package.json +2 -2
- package/packages/core/dev-delivery-candidate-identity.js +45 -17
- package/packages/core/dev-delivery-provider-heartbeat.js +22 -6
- package/packages/core/dev-delivery-warrant-state.js +12 -28
- package/packages/core/v4-canonical-contracts.js +8 -0
- package/packages/core/v4-floating-consumer-policy.js +4 -1
- package/packages/core/v4-release-invocation.js +356 -0
- package/scripts/audit-publication-control-plane.mjs +0 -1
- package/scripts/check-inventory.mjs +27 -59
- package/scripts/check-maintainability.mjs +13 -5
- package/scripts/check-v3-v4-capability-inventory.mjs +3 -61
- package/scripts/check-v4-floating-consumer-policy-contract.mjs +10 -20
- package/scripts/check-v4-release-topology.mjs +237 -0
- package/scripts/dev-delivery-warrant.mjs +13 -4
- package/scripts/generate-channel-promotion-workflow.mjs +12 -54
- package/scripts/v3-v4-capability-catalog.mjs +107 -0
- package/scripts/v4-declarative-promotion-admission.mjs +4 -1
- package/scripts/capture-package-release-propagation.mjs +0 -263
- package/scripts/publication-commit-evidence.mjs +0 -444
- package/scripts/publish-github-artifact-attestation-evidence.mjs +0 -201
- package/scripts/stage-github-artifact-attestation-inputs.mjs +0 -65
|
@@ -16518,7 +16518,7 @@
|
|
|
16518
16518
|
"evidence": {
|
|
16519
16519
|
"path": ".buildchain/release-impact.json",
|
|
16520
16520
|
"selector": "$",
|
|
16521
|
-
"valueRoot": "sha256:
|
|
16521
|
+
"valueRoot": "sha256:8411804d1efba911b09a0e83494c68affe7cfede5bc5134f12cbede12be1f655"
|
|
16522
16522
|
}
|
|
16523
16523
|
}
|
|
16524
16524
|
},
|
|
@@ -17266,7 +17266,7 @@
|
|
|
17266
17266
|
"evidence": {
|
|
17267
17267
|
"path": "dist/site/node-api-registry.json",
|
|
17268
17268
|
"selector": "exports[export=\"./github-governance-authority\"]",
|
|
17269
|
-
"valueRoot": "sha256:
|
|
17269
|
+
"valueRoot": "sha256:c840ddeacf5eb8da14aee3e6879f0827aa965aa0187aecc36ca776d07bb6cdab"
|
|
17270
17270
|
}
|
|
17271
17271
|
}
|
|
17272
17272
|
},
|
|
@@ -17596,7 +17596,7 @@
|
|
|
17596
17596
|
"evidence": {
|
|
17597
17597
|
"path": "dist/site/node-api-registry.json",
|
|
17598
17598
|
"selector": "exports[export=\"./paper\"]",
|
|
17599
|
-
"valueRoot": "sha256:
|
|
17599
|
+
"valueRoot": "sha256:e86f76742a70d77039c39d9fb106de20c99458ccc07b65fc674328d2a952f819"
|
|
17600
17600
|
}
|
|
17601
17601
|
}
|
|
17602
17602
|
},
|
|
@@ -17706,7 +17706,7 @@
|
|
|
17706
17706
|
"evidence": {
|
|
17707
17707
|
"path": "dist/site/node-api-registry.json",
|
|
17708
17708
|
"selector": "exports[export=\"./publication-control-plane-audit\"]",
|
|
17709
|
-
"valueRoot": "sha256:
|
|
17709
|
+
"valueRoot": "sha256:1bb25a02f8d3ef0148c3e2a4ad9b6a94a841adc1ff1daf94f98d5e34c195fd56"
|
|
17710
17710
|
}
|
|
17711
17711
|
}
|
|
17712
17712
|
},
|
|
@@ -17926,7 +17926,7 @@
|
|
|
17926
17926
|
"evidence": {
|
|
17927
17927
|
"path": "dist/site/node-api-registry.json",
|
|
17928
17928
|
"selector": "exports[export=\"./release-candidate-recovery\"]",
|
|
17929
|
-
"valueRoot": "sha256:
|
|
17929
|
+
"valueRoot": "sha256:131e9c0f108a311b8246d8dfc55ff9d347cb9255162452f392874d6b01acf203"
|
|
17930
17930
|
}
|
|
17931
17931
|
}
|
|
17932
17932
|
},
|
|
@@ -17970,7 +17970,7 @@
|
|
|
17970
17970
|
"evidence": {
|
|
17971
17971
|
"path": "dist/site/node-api-registry.json",
|
|
17972
17972
|
"selector": "exports[export=\"./release-passport\"]",
|
|
17973
|
-
"valueRoot": "sha256:
|
|
17973
|
+
"valueRoot": "sha256:6a7403eb6020c6af989a721021aa6b9715df7db70c9f5da89f2b689c3ba767ae"
|
|
17974
17974
|
}
|
|
17975
17975
|
}
|
|
17976
17976
|
},
|
|
@@ -18168,7 +18168,7 @@
|
|
|
18168
18168
|
"evidence": {
|
|
18169
18169
|
"path": "dist/site/buildchain-contract.json",
|
|
18170
18170
|
"selector": "$",
|
|
18171
|
-
"valueRoot": "sha256:
|
|
18171
|
+
"valueRoot": "sha256:5373a6b746a389305d55d58d93b9aebf1ca61e2b13e32aab309e98f41a89b13c"
|
|
18172
18172
|
}
|
|
18173
18173
|
}
|
|
18174
18174
|
},
|
|
@@ -18256,7 +18256,7 @@
|
|
|
18256
18256
|
"evidence": {
|
|
18257
18257
|
"path": "dist/site/kfd-claims.json",
|
|
18258
18258
|
"selector": "$",
|
|
18259
|
-
"valueRoot": "sha256:
|
|
18259
|
+
"valueRoot": "sha256:94d546cec054e24f53841af5a46808cd452d0005f5bfcf8f7d370711ae446f0b"
|
|
18260
18260
|
}
|
|
18261
18261
|
}
|
|
18262
18262
|
},
|
|
@@ -18278,7 +18278,7 @@
|
|
|
18278
18278
|
"evidence": {
|
|
18279
18279
|
"path": "dist/site/manual-registry.json",
|
|
18280
18280
|
"selector": "$",
|
|
18281
|
-
"valueRoot": "sha256:
|
|
18281
|
+
"valueRoot": "sha256:b446b41f1342623ad5189850985553a9044dd14f3c4a24aa44cfc54db95ce876"
|
|
18282
18282
|
}
|
|
18283
18283
|
}
|
|
18284
18284
|
},
|
|
@@ -18300,7 +18300,7 @@
|
|
|
18300
18300
|
"evidence": {
|
|
18301
18301
|
"path": "dist/site/node-api-registry.json",
|
|
18302
18302
|
"selector": "$",
|
|
18303
|
-
"valueRoot": "sha256:
|
|
18303
|
+
"valueRoot": "sha256:9b173aa7390cc94d24b9a2b5711a367b15771b73773cd8f0a78f5c71ed054701"
|
|
18304
18304
|
}
|
|
18305
18305
|
}
|
|
18306
18306
|
},
|
|
@@ -18322,7 +18322,7 @@
|
|
|
18322
18322
|
"evidence": {
|
|
18323
18323
|
"path": "dist/site/page-registry.json",
|
|
18324
18324
|
"selector": "$",
|
|
18325
|
-
"valueRoot": "sha256:
|
|
18325
|
+
"valueRoot": "sha256:e01f49540ad858f2289ed212bdae9dab01be495f6c57d7d14ab07d3639201d3f"
|
|
18326
18326
|
}
|
|
18327
18327
|
}
|
|
18328
18328
|
},
|
|
@@ -18344,7 +18344,7 @@
|
|
|
18344
18344
|
"evidence": {
|
|
18345
18345
|
"path": "dist/site/public-surface-audit.json",
|
|
18346
18346
|
"selector": "$",
|
|
18347
|
-
"valueRoot": "sha256:
|
|
18347
|
+
"valueRoot": "sha256:dfdf7e6d38ea9b2cfec280831472ba61a825b88578437bc3b4965b61c656e0b1"
|
|
18348
18348
|
}
|
|
18349
18349
|
}
|
|
18350
18350
|
},
|
|
@@ -18564,7 +18564,7 @@
|
|
|
18564
18564
|
"evidence": {
|
|
18565
18565
|
"path": "dist/site/site-manifest.json",
|
|
18566
18566
|
"selector": "$",
|
|
18567
|
-
"valueRoot": "sha256:
|
|
18567
|
+
"valueRoot": "sha256:52413ce389353ea7fd83598a6f5c2ebbb5a88f163cff60ec4227324384d96fd8"
|
|
18568
18568
|
}
|
|
18569
18569
|
}
|
|
18570
18570
|
},
|
|
@@ -18586,7 +18586,7 @@
|
|
|
18586
18586
|
"evidence": {
|
|
18587
18587
|
"path": "dist/site/workflow-registry.json",
|
|
18588
18588
|
"selector": "$",
|
|
18589
|
-
"valueRoot": "sha256:
|
|
18589
|
+
"valueRoot": "sha256:590efe0d07ae20987f36056835f21e2a17fe40c242eb55032776b9bc4c0c7735"
|
|
18590
18590
|
}
|
|
18591
18591
|
}
|
|
18592
18592
|
},
|
|
@@ -68879,7 +68879,7 @@
|
|
|
68879
68879
|
"evidence": {
|
|
68880
68880
|
"path": "architecture/v4-runtime-semantic-closure.json",
|
|
68881
68881
|
"selector": "capability[id=\"publish-transaction\"]",
|
|
68882
|
-
"valueRoot": "sha256:
|
|
68882
|
+
"valueRoot": "sha256:4e24bcc1f070542ed22f3892d6f75f0d437e3242bfdee770c08788eca4407900"
|
|
68883
68883
|
}
|
|
68884
68884
|
}
|
|
68885
68885
|
},
|
|
@@ -102360,9 +102360,9 @@
|
|
|
102360
102360
|
},
|
|
102361
102361
|
"liveV4": {
|
|
102362
102362
|
"branch": "origin/dev/v4/v4.0",
|
|
102363
|
-
"commit": "
|
|
102363
|
+
"commit": "97edd5b93eb67e5bf36ad55726e08231b47b70c0",
|
|
102364
102364
|
"role": "execution-time-protected-target",
|
|
102365
|
-
"tree": "
|
|
102365
|
+
"tree": "05b14410fd3350bc6a621fe2c1bef575fef9b5fd"
|
|
102366
102366
|
},
|
|
102367
102367
|
"priorFamilyV3": {
|
|
102368
102368
|
"branch": "origin/dev/v3/v3.0",
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"contract": "kungfu-buildchain-v4-release-invocation-fixtures/v1",
|
|
4
|
+
"invocations": {
|
|
5
|
+
"alpha": {
|
|
6
|
+
"schema": "kungfu-buildchain-v4-release-invocation/v1",
|
|
7
|
+
"publisher": {
|
|
8
|
+
"repository": "kungfu-systems/buildchain",
|
|
9
|
+
"workflow": ".github/workflows/.release-candidate-promote.yml",
|
|
10
|
+
"workflowSha": "30cbbc46870871a0eacbe952935ea753e473ff25",
|
|
11
|
+
"job": "apply"
|
|
12
|
+
},
|
|
13
|
+
"runtime": {
|
|
14
|
+
"repository": "kungfu-systems/buildchain",
|
|
15
|
+
"commit": "30cbbc46870871a0eacbe952935ea753e473ff25",
|
|
16
|
+
"tree": "b86fea30cb92a32215206f159708a8ea1d10d462"
|
|
17
|
+
},
|
|
18
|
+
"candidate": {
|
|
19
|
+
"repository": "kungfu-systems/kungfu",
|
|
20
|
+
"commit": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
|
21
|
+
"tree": "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
|
|
22
|
+
"version": "4.0.0-alpha.9"
|
|
23
|
+
},
|
|
24
|
+
"target": {
|
|
25
|
+
"channel": "alpha",
|
|
26
|
+
"tag": "v4.0.0-alpha.9",
|
|
27
|
+
"expectedOldSha": "cccccccccccccccccccccccccccccccccccccccc"
|
|
28
|
+
},
|
|
29
|
+
"authority": {
|
|
30
|
+
"policyRoot": "sha256:dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd",
|
|
31
|
+
"qualificationRoot": "sha256:eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee",
|
|
32
|
+
"warrantRoot": "sha256:ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
"stable": {
|
|
36
|
+
"schema": "kungfu-buildchain-v4-release-invocation/v1",
|
|
37
|
+
"publisher": {
|
|
38
|
+
"repository": "kungfu-systems/buildchain",
|
|
39
|
+
"workflow": ".github/workflows/.release-candidate-promote.yml",
|
|
40
|
+
"workflowSha": "30cbbc46870871a0eacbe952935ea753e473ff25",
|
|
41
|
+
"job": "apply"
|
|
42
|
+
},
|
|
43
|
+
"runtime": {
|
|
44
|
+
"repository": "kungfu-systems/buildchain",
|
|
45
|
+
"commit": "30cbbc46870871a0eacbe952935ea753e473ff25",
|
|
46
|
+
"tree": "b86fea30cb92a32215206f159708a8ea1d10d462"
|
|
47
|
+
},
|
|
48
|
+
"candidate": {
|
|
49
|
+
"repository": "kungfu-systems/kungfu",
|
|
50
|
+
"commit": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
|
51
|
+
"tree": "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
|
|
52
|
+
"version": "4.0.0"
|
|
53
|
+
},
|
|
54
|
+
"target": {
|
|
55
|
+
"channel": "stable",
|
|
56
|
+
"tag": "v4.0.0",
|
|
57
|
+
"expectedOldSha": "cccccccccccccccccccccccccccccccccccccccc"
|
|
58
|
+
},
|
|
59
|
+
"authority": {
|
|
60
|
+
"policyRoot": "sha256:dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd",
|
|
61
|
+
"qualificationRoot": "sha256:eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee",
|
|
62
|
+
"warrantRoot": "sha256:ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
},
|
|
66
|
+
"cases": [
|
|
67
|
+
{
|
|
68
|
+
"id": "alpha-fresh",
|
|
69
|
+
"invocation": "alpha",
|
|
70
|
+
"route": { "surface": "alpha", "execution": "fresh" }
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
"id": "alpha-resume",
|
|
74
|
+
"invocation": "alpha",
|
|
75
|
+
"route": { "surface": "alpha", "execution": "resume" }
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
"id": "public-alpha",
|
|
79
|
+
"invocation": "alpha",
|
|
80
|
+
"route": { "surface": "public", "execution": "fresh" }
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
"id": "private-alpha",
|
|
84
|
+
"invocation": "alpha",
|
|
85
|
+
"route": { "surface": "private", "execution": "resume" }
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
"id": "declarative-alpha",
|
|
89
|
+
"invocation": "alpha",
|
|
90
|
+
"route": { "surface": "declarative", "execution": "fresh" }
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
"id": "legacy-alpha",
|
|
94
|
+
"invocation": "alpha",
|
|
95
|
+
"route": { "surface": "legacy-compatible", "execution": "resume" }
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
"id": "stable-fresh",
|
|
99
|
+
"invocation": "stable",
|
|
100
|
+
"route": { "surface": "stable", "execution": "fresh" }
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
"id": "stable-resume",
|
|
104
|
+
"invocation": "stable",
|
|
105
|
+
"route": { "surface": "stable", "execution": "resume" }
|
|
106
|
+
}
|
|
107
|
+
],
|
|
108
|
+
"equivalenceGroups": [
|
|
109
|
+
[
|
|
110
|
+
"alpha-fresh",
|
|
111
|
+
"alpha-resume",
|
|
112
|
+
"public-alpha",
|
|
113
|
+
"private-alpha",
|
|
114
|
+
"declarative-alpha",
|
|
115
|
+
"legacy-alpha"
|
|
116
|
+
],
|
|
117
|
+
["stable-fresh", "stable-resume"]
|
|
118
|
+
]
|
|
119
|
+
}
|
|
@@ -0,0 +1,238 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"contract": "kungfu-buildchain-v4-release-topology/v1",
|
|
4
|
+
"sourceCut": {
|
|
5
|
+
"branch": "dev/v4/v4.0",
|
|
6
|
+
"commit": "30cbbc46870871a0eacbe952935ea753e473ff25",
|
|
7
|
+
"tree": "b86fea30cb92a32215206f159708a8ea1d10d462"
|
|
8
|
+
},
|
|
9
|
+
"enforcement": "converged",
|
|
10
|
+
"closedWorld": {
|
|
11
|
+
"workflowPaths": [
|
|
12
|
+
".github/workflows/.publication-authority.yml",
|
|
13
|
+
".github/workflows/.release-candidate-promote.yml",
|
|
14
|
+
".github/workflows/.release-elastic-beanstalk.yml",
|
|
15
|
+
".github/workflows/.release-new-version.yml",
|
|
16
|
+
".github/workflows/.sam-release.yml",
|
|
17
|
+
".github/workflows/.wheel-release.yml",
|
|
18
|
+
".github/workflows/buildchain-ref-promotion-recovery.yml",
|
|
19
|
+
".github/workflows/buildchain-ref-promotion.yml",
|
|
20
|
+
".github/workflows/npm-publish.yml",
|
|
21
|
+
".github/workflows/paper-release-sealed.yml",
|
|
22
|
+
".github/workflows/paper-release.yml",
|
|
23
|
+
".github/workflows/release-candidate-promote.yml",
|
|
24
|
+
".github/workflows/release-new-version.yml",
|
|
25
|
+
".github/workflows/release-tail.yml",
|
|
26
|
+
".github/workflows/v4-declarative-release-tail-dogfood.yml"
|
|
27
|
+
],
|
|
28
|
+
"unknownTopologyPolicy": "fail-closed"
|
|
29
|
+
},
|
|
30
|
+
"semanticScope": {
|
|
31
|
+
"workflowPaths": [
|
|
32
|
+
".github/workflows/.release-candidate-promote.yml",
|
|
33
|
+
".github/workflows/buildchain-ref-promotion-recovery.yml",
|
|
34
|
+
".github/workflows/buildchain-ref-promotion.yml",
|
|
35
|
+
".github/workflows/release-candidate-promote.yml",
|
|
36
|
+
".github/workflows/v4-declarative-release-tail-dogfood.yml"
|
|
37
|
+
],
|
|
38
|
+
"excludedMechanisms": [
|
|
39
|
+
"Paper product release",
|
|
40
|
+
"npm dry-run",
|
|
41
|
+
"v3 rollback workflows",
|
|
42
|
+
"retired compatibility workflows"
|
|
43
|
+
]
|
|
44
|
+
},
|
|
45
|
+
"baselineMetrics": {
|
|
46
|
+
"workflowCount": 15,
|
|
47
|
+
"jobCount": 38,
|
|
48
|
+
"reusableEdgeCount": 11,
|
|
49
|
+
"mutationRelevantNodeCount": 25,
|
|
50
|
+
"contentsWriteJobCount": 10,
|
|
51
|
+
"oidcWriteJobCount": 9,
|
|
52
|
+
"semanticMutationRelevantNodeCount": 17
|
|
53
|
+
},
|
|
54
|
+
"targetBudgets": {
|
|
55
|
+
"semanticBoundaries": ["QUALIFY", "APPLY", "SETTLE"],
|
|
56
|
+
"maximumMutationRelevantNodeCount": 8,
|
|
57
|
+
"contentsWriteJobCount": 1,
|
|
58
|
+
"oidcWriteJobCount": 1,
|
|
59
|
+
"publisherIdentityCount": 1,
|
|
60
|
+
"runtimeIdentityCount": 1,
|
|
61
|
+
"terminalReceiptAuthorityCount": 1
|
|
62
|
+
},
|
|
63
|
+
"authorityClassification": {
|
|
64
|
+
"publisher": {
|
|
65
|
+
"current": [
|
|
66
|
+
".github/workflows/.release-candidate-promote.yml#legacy-promote",
|
|
67
|
+
".github/workflows/.release-candidate-promote.yml#v4-declarative-promote"
|
|
68
|
+
],
|
|
69
|
+
"target": ".github/workflows/.release-candidate-promote.yml#apply"
|
|
70
|
+
},
|
|
71
|
+
"runtimeSelectors": {
|
|
72
|
+
"discoveryOnly": ["v4-alpha", "v4", "alpha/v4/v4.0"],
|
|
73
|
+
"postAdmissionPolicy": "exact-sha-only"
|
|
74
|
+
},
|
|
75
|
+
"engines": {
|
|
76
|
+
"current": ["legacy-promote", "v4-declarative-promote"],
|
|
77
|
+
"target": "release-transaction"
|
|
78
|
+
},
|
|
79
|
+
"terminalProjections": {
|
|
80
|
+
"current": ["promote", "controller-receipt", "release-tail receipt"],
|
|
81
|
+
"target": "ReleaseReceipt"
|
|
82
|
+
}
|
|
83
|
+
},
|
|
84
|
+
"observedTopology": {
|
|
85
|
+
"jobRecordFields": [
|
|
86
|
+
"id",
|
|
87
|
+
"kind",
|
|
88
|
+
"uses",
|
|
89
|
+
"contentsPermission",
|
|
90
|
+
"oidcPermission",
|
|
91
|
+
"carriers",
|
|
92
|
+
"mutationSignals"
|
|
93
|
+
],
|
|
94
|
+
"workflows": [
|
|
95
|
+
{
|
|
96
|
+
"path": ".github/workflows/.publication-authority.yml",
|
|
97
|
+
"triggers": ["workflow_call"],
|
|
98
|
+
"jobs": [
|
|
99
|
+
"verify|runner|-|read|-|artifactDownload,artifactUpload,jobOutput|-"
|
|
100
|
+
],
|
|
101
|
+
"reusableEdges": []
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
"path": ".github/workflows/.release-candidate-promote.yml",
|
|
105
|
+
"triggers": ["workflow_call"],
|
|
106
|
+
"jobs": [
|
|
107
|
+
"apply|runner|-|write|write|artifactDownload,artifactUpload|contents-write,oidc-write,promotion-runtime",
|
|
108
|
+
"qualify|runner|-|read|-|artifactUpload,jobOutput|-",
|
|
109
|
+
"settle|runner|-|read|-|artifactDownload,artifactUpload,jobOutput|-"
|
|
110
|
+
],
|
|
111
|
+
"reusableEdges": []
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
"path": ".github/workflows/.release-elastic-beanstalk.yml",
|
|
115
|
+
"triggers": ["workflow_call"],
|
|
116
|
+
"jobs": ["retired|runner|-|-|-|-|-"],
|
|
117
|
+
"reusableEdges": []
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
"path": ".github/workflows/.release-new-version.yml",
|
|
121
|
+
"triggers": ["workflow_call"],
|
|
122
|
+
"jobs": ["retired|runner|-|-|-|-|-"],
|
|
123
|
+
"reusableEdges": []
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
"path": ".github/workflows/.sam-release.yml",
|
|
127
|
+
"triggers": ["workflow_call"],
|
|
128
|
+
"jobs": ["retired|runner|-|-|-|-|-"],
|
|
129
|
+
"reusableEdges": []
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
"path": ".github/workflows/.wheel-release.yml",
|
|
133
|
+
"triggers": ["workflow_call"],
|
|
134
|
+
"jobs": ["retired|runner|-|-|-|-|-"],
|
|
135
|
+
"reusableEdges": []
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
"path": ".github/workflows/buildchain-ref-promotion-recovery.yml",
|
|
139
|
+
"triggers": ["workflow_dispatch"],
|
|
140
|
+
"jobs": [
|
|
141
|
+
"resume|reusable-call|kungfu-systems/buildchain/.github/workflows/release-candidate-promote.yml@v4-alpha|write|write|-|contents-write,oidc-write"
|
|
142
|
+
],
|
|
143
|
+
"reusableEdges": [
|
|
144
|
+
"kungfu-systems/buildchain/.github/workflows/release-candidate-promote.yml@v4-alpha"
|
|
145
|
+
]
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
"path": ".github/workflows/buildchain-ref-promotion.yml",
|
|
149
|
+
"triggers": ["workflow_dispatch", "workflow_run:completed"],
|
|
150
|
+
"jobs": [
|
|
151
|
+
"promote|reusable-call|kungfu-systems/buildchain/.github/workflows/.release-candidate-promote.yml@v4-alpha|write|write|-|contents-write,oidc-write",
|
|
152
|
+
"reject-invalid-candidate-recovery|runner|-|read|-|-|-",
|
|
153
|
+
"reject-invalid-durable-recovery|runner|-|read|-|-|-",
|
|
154
|
+
"reject-manual-apply|runner|-|read|-|-|-"
|
|
155
|
+
],
|
|
156
|
+
"reusableEdges": [
|
|
157
|
+
"kungfu-systems/buildchain/.github/workflows/.release-candidate-promote.yml@v4-alpha"
|
|
158
|
+
]
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
"path": ".github/workflows/npm-publish.yml",
|
|
162
|
+
"triggers": ["workflow_dispatch"],
|
|
163
|
+
"jobs": ["dry-run|runner|-|-|-|-|direct-publication-command"],
|
|
164
|
+
"reusableEdges": []
|
|
165
|
+
},
|
|
166
|
+
{
|
|
167
|
+
"path": ".github/workflows/paper-release-sealed.yml",
|
|
168
|
+
"triggers": ["workflow_call"],
|
|
169
|
+
"jobs": [
|
|
170
|
+
"publication-authority|reusable-call|./.github/workflows/.publication-authority.yml|read|-|-|-",
|
|
171
|
+
"publication-candidate|reusable-call|./.github/workflows/publication-artifact.yml|read|-|-|-",
|
|
172
|
+
"publish|runner|-|read|write|artifactDownload,artifactUpload,jobOutput|contents-write,oidc-write,promotion-runtime"
|
|
173
|
+
],
|
|
174
|
+
"reusableEdges": [
|
|
175
|
+
"./.github/workflows/.publication-authority.yml",
|
|
176
|
+
"./.github/workflows/publication-artifact.yml"
|
|
177
|
+
]
|
|
178
|
+
},
|
|
179
|
+
{
|
|
180
|
+
"path": ".github/workflows/paper-release.yml",
|
|
181
|
+
"triggers": ["workflow_call"],
|
|
182
|
+
"jobs": [
|
|
183
|
+
"paper-release|runner|-|write|write|artifactUpload,jobOutput|contents-write,oidc-write,promotion-runtime",
|
|
184
|
+
"publication-authority|reusable-call|./.github/workflows/.publication-authority.yml|read|-|-|-"
|
|
185
|
+
],
|
|
186
|
+
"reusableEdges": ["./.github/workflows/.publication-authority.yml"]
|
|
187
|
+
},
|
|
188
|
+
{
|
|
189
|
+
"path": ".github/workflows/release-candidate-promote.yml",
|
|
190
|
+
"triggers": ["workflow_call"],
|
|
191
|
+
"jobs": [
|
|
192
|
+
"consumer-admission|runner|-|read|-|artifactUpload|-",
|
|
193
|
+
"invoke|reusable-call|kungfu-systems/buildchain/.github/workflows/.release-candidate-promote.yml@v4-alpha|write|write|-|contents-write,oidc-write",
|
|
194
|
+
"resolve-promotion|runner|-|read|-|jobOutput|-"
|
|
195
|
+
],
|
|
196
|
+
"reusableEdges": [
|
|
197
|
+
"kungfu-systems/buildchain/.github/workflows/.release-candidate-promote.yml@v4-alpha"
|
|
198
|
+
]
|
|
199
|
+
},
|
|
200
|
+
{
|
|
201
|
+
"path": ".github/workflows/release-new-version.yml",
|
|
202
|
+
"triggers": ["pull_request:closed"],
|
|
203
|
+
"jobs": ["buildchain-self-release|runner|-|-|-|-|-"],
|
|
204
|
+
"reusableEdges": []
|
|
205
|
+
},
|
|
206
|
+
{
|
|
207
|
+
"path": ".github/workflows/release-tail.yml",
|
|
208
|
+
"triggers": ["workflow_call"],
|
|
209
|
+
"jobs": ["release-tail|runner|-|-|-|artifactUpload|-"],
|
|
210
|
+
"reusableEdges": []
|
|
211
|
+
},
|
|
212
|
+
{
|
|
213
|
+
"path": ".github/workflows/v4-declarative-release-tail-dogfood.yml",
|
|
214
|
+
"triggers": ["workflow_dispatch"],
|
|
215
|
+
"jobs": [
|
|
216
|
+
"publish|reusable-call|kungfu-systems/buildchain/.github/workflows/release-candidate-promote.yml@v4-alpha|-|-|-|-"
|
|
217
|
+
],
|
|
218
|
+
"reusableEdges": [
|
|
219
|
+
"kungfu-systems/buildchain/.github/workflows/release-candidate-promote.yml@v4-alpha"
|
|
220
|
+
]
|
|
221
|
+
}
|
|
222
|
+
],
|
|
223
|
+
"metrics": {
|
|
224
|
+
"workflowCount": 15,
|
|
225
|
+
"jobCount": 25,
|
|
226
|
+
"reusableEdgeCount": 7,
|
|
227
|
+
"mutationRelevantNodeCount": 16,
|
|
228
|
+
"contentsWriteJobCount": 6,
|
|
229
|
+
"oidcWriteJobCount": 6
|
|
230
|
+
},
|
|
231
|
+
"semanticMetrics": {
|
|
232
|
+
"workflowCount": 5,
|
|
233
|
+
"mutationRelevantNodeCount": 8,
|
|
234
|
+
"contentsWriteJobCount": 1,
|
|
235
|
+
"oidcWriteJobCount": 1
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
}
|
|
@@ -16,15 +16,6 @@
|
|
|
16
16
|
"owner": "buildchain-maintainers",
|
|
17
17
|
"sunsetCondition": "Remove after every known caller migrates to the lifecycle version command."
|
|
18
18
|
},
|
|
19
|
-
{
|
|
20
|
-
"path": ".github/workflows/.release-candidate-promote.yml",
|
|
21
|
-
"token": "actions/create-github-app-token@v2",
|
|
22
|
-
"expectedOccurrences": 1,
|
|
23
|
-
"classification": "third-party-action-version",
|
|
24
|
-
"callerStatus": "active",
|
|
25
|
-
"owner": "actions/create-github-app-token maintainers",
|
|
26
|
-
"sunsetCondition": "Upgrade through normal dependency review when a compatible successor is adopted."
|
|
27
|
-
},
|
|
28
19
|
{
|
|
29
20
|
"path": ".github/workflows/.release-docker.yml",
|
|
30
21
|
"token": "workflows v2 Docker release path is retired",
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
"ref": "v4-alpha",
|
|
23
23
|
"sha": "dddddddddddddddddddddddddddddddddddddddd",
|
|
24
24
|
"contractRoot": "sha256:2222222222222222222222222222222222222222222222222222222222222222",
|
|
25
|
-
"consumerPolicyReceiptRoot": "sha256:
|
|
25
|
+
"consumerPolicyReceiptRoot": "sha256:8d8e55a4ae07a57a2a262e138f55148b05916c364b3d086530e1392c982b886f"
|
|
26
26
|
},
|
|
27
27
|
"warrant": {
|
|
28
28
|
"candidateId": "candidate-alpha-2",
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://buildchain.libkungfu.dev/schema/v4-release-invocation-v1.schema.json",
|
|
4
|
+
"title": "Buildchain v4 canonical ReleaseInvocation",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"additionalProperties": false,
|
|
7
|
+
"required": [
|
|
8
|
+
"schema",
|
|
9
|
+
"publisher",
|
|
10
|
+
"runtime",
|
|
11
|
+
"candidate",
|
|
12
|
+
"target",
|
|
13
|
+
"authority"
|
|
14
|
+
],
|
|
15
|
+
"properties": {
|
|
16
|
+
"schema": { "const": "kungfu-buildchain-v4-release-invocation/v1" },
|
|
17
|
+
"publisher": { "$ref": "#/$defs/publisher" },
|
|
18
|
+
"runtime": { "$ref": "#/$defs/runtime" },
|
|
19
|
+
"candidate": { "$ref": "#/$defs/candidate" },
|
|
20
|
+
"target": { "$ref": "#/$defs/target" },
|
|
21
|
+
"authority": { "$ref": "#/$defs/authority" }
|
|
22
|
+
},
|
|
23
|
+
"$defs": {
|
|
24
|
+
"sha": { "type": "string", "pattern": "^[0-9a-f]{40}$" },
|
|
25
|
+
"root": { "type": "string", "pattern": "^sha256:[0-9a-f]{64}$" },
|
|
26
|
+
"publisher": {
|
|
27
|
+
"type": "object",
|
|
28
|
+
"additionalProperties": false,
|
|
29
|
+
"required": ["repository", "workflow", "workflowSha", "job"],
|
|
30
|
+
"properties": {
|
|
31
|
+
"repository": { "const": "kungfu-systems/buildchain" },
|
|
32
|
+
"workflow": {
|
|
33
|
+
"const": ".github/workflows/.release-candidate-promote.yml"
|
|
34
|
+
},
|
|
35
|
+
"workflowSha": { "$ref": "#/$defs/sha" },
|
|
36
|
+
"job": { "const": "apply" }
|
|
37
|
+
}
|
|
38
|
+
},
|
|
39
|
+
"runtime": {
|
|
40
|
+
"type": "object",
|
|
41
|
+
"additionalProperties": false,
|
|
42
|
+
"required": ["repository", "commit", "tree"],
|
|
43
|
+
"properties": {
|
|
44
|
+
"repository": { "const": "kungfu-systems/buildchain" },
|
|
45
|
+
"commit": { "$ref": "#/$defs/sha" },
|
|
46
|
+
"tree": { "$ref": "#/$defs/sha" }
|
|
47
|
+
}
|
|
48
|
+
},
|
|
49
|
+
"candidate": {
|
|
50
|
+
"type": "object",
|
|
51
|
+
"additionalProperties": false,
|
|
52
|
+
"required": ["repository", "commit", "tree", "version"],
|
|
53
|
+
"properties": {
|
|
54
|
+
"repository": { "type": "string", "pattern": "^[ -~]+$" },
|
|
55
|
+
"commit": { "$ref": "#/$defs/sha" },
|
|
56
|
+
"tree": { "$ref": "#/$defs/sha" },
|
|
57
|
+
"version": { "type": "string", "pattern": "^[ -~]+$" }
|
|
58
|
+
}
|
|
59
|
+
},
|
|
60
|
+
"target": {
|
|
61
|
+
"type": "object",
|
|
62
|
+
"additionalProperties": false,
|
|
63
|
+
"required": ["channel", "tag", "expectedOldSha"],
|
|
64
|
+
"properties": {
|
|
65
|
+
"channel": { "enum": ["alpha", "stable"] },
|
|
66
|
+
"tag": {
|
|
67
|
+
"type": "string",
|
|
68
|
+
"pattern": "^v[0-9]+\\.[0-9]+\\.[0-9]+(?:-[0-9A-Za-z.-]+)?$"
|
|
69
|
+
},
|
|
70
|
+
"expectedOldSha": {
|
|
71
|
+
"oneOf": [{ "$ref": "#/$defs/sha" }, { "type": "null" }]
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
},
|
|
75
|
+
"authority": {
|
|
76
|
+
"type": "object",
|
|
77
|
+
"additionalProperties": false,
|
|
78
|
+
"required": ["policyRoot", "qualificationRoot", "warrantRoot"],
|
|
79
|
+
"properties": {
|
|
80
|
+
"policyRoot": { "$ref": "#/$defs/root" },
|
|
81
|
+
"qualificationRoot": { "$ref": "#/$defs/root" },
|
|
82
|
+
"warrantRoot": { "$ref": "#/$defs/root" }
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}
|