@intentius/chant 0.124.40 → 0.124.41
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/__fixtures__/oidc-emulator.d.ts +49 -0
- package/dist/__fixtures__/oidc-emulator.d.ts.map +1 -0
- package/dist/__fixtures__/oidc-emulator.js +89 -0
- package/dist/ci-handover.d.ts +117 -0
- package/dist/ci-handover.d.ts.map +1 -0
- package/dist/ci-handover.js +217 -0
- package/dist/ci-identity.d.ts +190 -0
- package/dist/ci-identity.d.ts.map +1 -0
- package/dist/ci-identity.js +219 -0
- package/dist/cli/handlers/approve.d.ts +2 -1
- package/dist/cli/handlers/approve.d.ts.map +1 -1
- package/dist/cli/handlers/approve.js +20 -6
- package/dist/cli/handlers/build.d.ts.map +1 -1
- package/dist/cli/handlers/build.js +15 -1
- package/dist/cli/handlers/fan-out.js +16 -3
- package/dist/cli/handlers/gate-resume.d.ts +3 -0
- package/dist/cli/handlers/gate-resume.d.ts.map +1 -1
- package/dist/cli/handlers/gate-resume.js +15 -2
- package/dist/cli/handlers/lock.d.ts +8 -0
- package/dist/cli/handlers/lock.d.ts.map +1 -0
- package/dist/cli/handlers/lock.js +197 -0
- package/dist/cli/handlers/pr-env.d.ts +34 -0
- package/dist/cli/handlers/pr-env.d.ts.map +1 -0
- package/dist/cli/handlers/pr-env.js +436 -0
- package/dist/cli/handlers/pr.d.ts +74 -0
- package/dist/cli/handlers/pr.d.ts.map +1 -1
- package/dist/cli/handlers/pr.js +503 -53
- package/dist/cli/handlers/promote.d.ts.map +1 -1
- package/dist/cli/handlers/promote.js +9 -0
- package/dist/cli/handlers/query.d.ts +6 -0
- package/dist/cli/handlers/query.d.ts.map +1 -0
- package/dist/cli/handlers/query.js +80 -0
- package/dist/cli/main.d.ts.map +1 -1
- package/dist/cli/main.js +41 -2
- package/dist/cli/parse-args.d.ts.map +1 -1
- package/dist/cli/parse-args.js +31 -2
- package/dist/cli/registry.d.ts +12 -2
- package/dist/cli/registry.d.ts.map +1 -1
- package/dist/components/fan-out-run.d.ts +28 -0
- package/dist/components/fan-out-run.d.ts.map +1 -1
- package/dist/components/fan-out-run.js +27 -3
- package/dist/components/pr-environment.d.ts +298 -0
- package/dist/components/pr-environment.d.ts.map +1 -0
- package/dist/components/pr-environment.js +406 -0
- package/dist/components/pr-hooks.d.ts +66 -0
- package/dist/components/pr-hooks.d.ts.map +1 -0
- package/dist/components/pr-hooks.js +119 -0
- package/dist/components/pr-pipeline.d.ts +72 -2
- package/dist/components/pr-pipeline.d.ts.map +1 -1
- package/dist/components/pr-pipeline.js +96 -5
- package/dist/components/pr-policy.d.ts +109 -0
- package/dist/components/pr-policy.d.ts.map +1 -0
- package/dist/components/pr-policy.js +150 -0
- package/dist/components/pr-run.d.ts.map +1 -1
- package/dist/components/pr-run.js +5 -3
- package/dist/gate-decision.d.ts +15 -2
- package/dist/gate-decision.d.ts.map +1 -1
- package/dist/gate-decision.js +17 -2
- package/dist/gate-policy.d.ts +140 -0
- package/dist/gate-policy.d.ts.map +1 -0
- package/dist/gate-policy.js +242 -0
- package/dist/lifecycle/gate-checkpoint.d.ts +1 -1
- package/dist/lifecycle/gate-checkpoint.js +1 -1
- package/dist/{workspace/trust → lifecycle}/gate-seal.d.ts +1 -1
- package/dist/lifecycle/gate-seal.d.ts.map +1 -0
- package/dist/lifecycle/query.d.ts +68 -0
- package/dist/lifecycle/query.d.ts.map +1 -0
- package/dist/lifecycle/query.js +246 -0
- package/dist/lifecycle/run-ledger.d.ts +13 -0
- package/dist/lifecycle/run-ledger.d.ts.map +1 -1
- package/dist/lifecycle/run-ledger.js +16 -0
- package/dist/lifecycle/target-lock.d.ts +97 -0
- package/dist/lifecycle/target-lock.d.ts.map +1 -0
- package/dist/lifecycle/target-lock.js +286 -0
- package/dist/op/activities/activity-contracts.d.ts +30 -0
- package/dist/op/activities/activity-contracts.d.ts.map +1 -1
- package/dist/op/activities/activity-contracts.js +26 -0
- package/dist/op/activities/index.d.ts +2 -0
- package/dist/op/activities/index.d.ts.map +1 -1
- package/dist/op/activities/index.js +4 -0
- package/dist/op/activities/review-agent.d.ts +137 -0
- package/dist/op/activities/review-agent.d.ts.map +1 -0
- package/dist/op/activities/review-agent.js +266 -0
- package/dist/op/builders.d.ts +9 -0
- package/dist/op/builders.d.ts.map +1 -1
- package/dist/op/builders.js +11 -0
- package/dist/op/cron.d.ts +8 -0
- package/dist/op/cron.d.ts.map +1 -1
- package/dist/op/cron.js +51 -0
- package/dist/op/gate-approval.d.ts +20 -13
- package/dist/op/gate-approval.d.ts.map +1 -1
- package/dist/op/gate-approval.js +13 -18
- package/dist/op/gate-quorum.d.ts +131 -0
- package/dist/op/gate-quorum.d.ts.map +1 -0
- package/dist/op/gate-quorum.js +183 -0
- package/dist/op/gate-resume.d.ts +4 -2
- package/dist/op/gate-resume.d.ts.map +1 -1
- package/dist/op/gate-resume.js +5 -4
- package/dist/op/gate-review.js +1 -1
- package/dist/op/gate.d.ts +32 -4
- package/dist/op/gate.d.ts.map +1 -1
- package/dist/op/gate.js +40 -24
- package/dist/op/index.d.ts +6 -4
- package/dist/op/index.d.ts.map +1 -1
- package/dist/op/index.js +4 -3
- package/dist/op/local-executor.d.ts.map +1 -1
- package/dist/op/local-executor.js +9 -3
- package/dist/op/op-waves-run.d.ts +62 -1
- package/dist/op/op-waves-run.d.ts.map +1 -1
- package/dist/op/op-waves-run.js +190 -11
- package/dist/op/op-waves.d.ts +55 -3
- package/dist/op/op-waves.d.ts.map +1 -1
- package/dist/op/op-waves.js +63 -8
- package/dist/op/schedule-overdue.d.ts +57 -0
- package/dist/op/schedule-overdue.d.ts.map +1 -0
- package/dist/op/schedule-overdue.js +138 -0
- package/dist/override-gate.d.ts +2 -2
- package/dist/override-gate.d.ts.map +1 -1
- package/dist/override-gate.js +1 -1
- package/dist/pr-forge.d.ts +36 -0
- package/dist/pr-forge.d.ts.map +1 -1
- package/dist/pr-forge.js +82 -0
- package/dist/pr-loop.d.ts +90 -1
- package/dist/pr-loop.d.ts.map +1 -1
- package/dist/pr-loop.js +77 -3
- package/dist/pr-post.d.ts +72 -0
- package/dist/pr-post.d.ts.map +1 -0
- package/dist/pr-post.js +134 -0
- package/dist/wave-blocked.d.ts +79 -0
- package/dist/wave-blocked.d.ts.map +1 -0
- package/dist/wave-blocked.js +245 -0
- package/dist/wave-engine.d.ts +6 -0
- package/dist/wave-engine.d.ts.map +1 -1
- package/dist/wave-engine.js +2 -0
- package/dist/wave-runtime.mjs +242 -242
- package/dist/workspace/__fixtures__/two-member-workspace.d.ts +1 -0
- package/dist/workspace/__fixtures__/two-member-workspace.d.ts.map +1 -1
- package/dist/workspace/__fixtures__/two-member-workspace.js +1 -1
- package/dist/workspace/ci-branches.d.ts +51 -0
- package/dist/workspace/ci-branches.d.ts.map +1 -0
- package/dist/workspace/ci-branches.js +69 -0
- package/dist/workspace/ci-cloud-identity.d.ts +11 -0
- package/dist/workspace/ci-cloud-identity.d.ts.map +1 -0
- package/dist/workspace/ci-cloud-identity.js +24 -0
- package/dist/workspace/ci-locks.d.ts +12 -0
- package/dist/workspace/ci-locks.d.ts.map +1 -0
- package/dist/workspace/ci-locks.js +6 -0
- package/dist/workspace/ci-run.d.ts +17 -1
- package/dist/workspace/ci-run.d.ts.map +1 -1
- package/dist/workspace/ci-run.js +64 -3
- package/dist/workspace/declaration.d.ts +63 -0
- package/dist/workspace/declaration.d.ts.map +1 -1
- package/dist/workspace/declaration.js +72 -1
- package/dist/workspace/declaration.schema.json +147 -0
- package/dist/workspace/identity-gate-rule.d.ts +1 -1
- package/dist/workspace/identity-gate-rule.d.ts.map +1 -1
- package/dist/workspace/identity-gate-rule.js +1 -1
- package/dist/workspace/identity.d.ts +1 -1
- package/dist/workspace/identity.d.ts.map +1 -1
- package/dist/workspace/lineage-upgrade.d.ts.map +1 -1
- package/dist/workspace/lineage-upgrade.js +8 -5
- package/dist/workspace/member-pipeline.d.ts +6 -0
- package/dist/workspace/member-pipeline.d.ts.map +1 -1
- package/dist/workspace/member-pipeline.js +23 -0
- package/dist/workspace/pr-report.schema.json +73 -2
- package/dist/workspace/security.d.ts.map +1 -1
- package/dist/workspace/security.js +4 -0
- package/dist/workspace/status-gates.d.ts +3 -2
- package/dist/workspace/status-gates.d.ts.map +1 -1
- package/dist/workspace/status-gates.js +8 -7
- package/dist/workspace/status.d.ts.map +1 -1
- package/dist/workspace/status.js +4 -1
- package/dist/workspace/trust/seal.d.ts +2 -2
- package/dist/workspace/trust/seal.d.ts.map +1 -1
- package/dist/workspace/trust/seal.js +2 -2
- package/package.json +1 -1
- package/src/__fixtures__/oidc-emulator.ts +118 -0
- package/src/ci-handover.test.ts +209 -0
- package/src/ci-handover.ts +237 -0
- package/src/ci-identity.test.ts +201 -0
- package/src/ci-identity.ts +310 -0
- package/src/cli/handlers/approve.ts +18 -5
- package/src/cli/handlers/build.ts +15 -1
- package/src/cli/handlers/fan-out.ts +17 -4
- package/src/cli/handlers/gate-resume.ts +16 -2
- package/src/cli/handlers/lock.test.ts +98 -0
- package/src/cli/handlers/lock.ts +202 -0
- package/src/cli/handlers/operator.test.ts +3 -1
- package/src/cli/handlers/pr-env.ts +462 -0
- package/src/cli/handlers/pr-waves-blocked.test.ts +247 -0
- package/src/cli/handlers/pr.test.ts +184 -0
- package/src/cli/handlers/pr.ts +496 -59
- package/src/cli/handlers/promote.ts +9 -0
- package/src/cli/handlers/query.ts +78 -0
- package/src/cli/main.ts +41 -2
- package/src/cli/parse-args.ts +23 -2
- package/src/cli/registry.ts +12 -2
- package/src/components/fan-out-run.ts +39 -2
- package/src/components/fan-out-waves.test.ts +45 -1
- package/src/components/pr-environment.test.ts +249 -0
- package/src/components/pr-environment.ts +538 -0
- package/src/components/pr-hooks.test.ts +118 -0
- package/src/components/pr-hooks.ts +157 -0
- package/src/components/pr-pipeline.ts +130 -5
- package/src/components/pr-policy.test.ts +145 -0
- package/src/components/pr-policy.ts +211 -0
- package/src/components/pr-run.ts +5 -2
- package/src/gate-decision-bundle.test.ts +4 -3
- package/src/gate-decision.ts +39 -2
- package/src/gate-policy-bundle.test.ts +28 -0
- package/src/gate-policy.test.ts +162 -0
- package/src/gate-policy.ts +298 -0
- package/src/lifecycle/gate-checkpoint.ts +1 -1
- package/src/{workspace/trust → lifecycle}/gate-seal.ts +1 -1
- package/src/lifecycle/query.test.ts +91 -0
- package/src/lifecycle/query.ts +315 -0
- package/src/lifecycle/run-ledger.ts +18 -0
- package/src/lifecycle/target-lock.test.ts +195 -0
- package/src/lifecycle/target-lock.ts +347 -0
- package/src/op/activities/activity-contracts.ts +31 -0
- package/src/op/activities/index.ts +6 -0
- package/src/op/activities/review-agent.test.ts +240 -0
- package/src/op/activities/review-agent.ts +355 -0
- package/src/op/builders.ts +13 -0
- package/src/op/cron.ts +44 -0
- package/src/op/gate-alias.test.ts +2 -2
- package/src/op/gate-approval.test.ts +30 -9
- package/src/op/gate-approval.ts +23 -26
- package/src/op/gate-quorum.test.ts +139 -0
- package/src/op/gate-quorum.ts +248 -0
- package/src/op/gate-resume.ts +6 -3
- package/src/op/gate-review.ts +1 -1
- package/src/op/gate.ts +64 -23
- package/src/op/index.ts +13 -1
- package/src/op/local-executor.ts +9 -2
- package/src/op/op-waves-hook-targets.test.ts +126 -0
- package/src/op/op-waves-policy-hold.test.ts +66 -0
- package/src/op/op-waves-quorum.test.ts +101 -0
- package/src/op/op-waves-run.ts +233 -11
- package/src/op/op-waves.ts +83 -10
- package/src/op/schedule-overdue.test.ts +220 -0
- package/src/op/schedule-overdue.ts +161 -0
- package/src/override-gate-bundle.test.ts +1 -1
- package/src/override-gate.ts +2 -2
- package/src/pr-forge-bundle.test.ts +2 -2
- package/src/pr-forge.test.ts +33 -0
- package/src/pr-forge.ts +114 -0
- package/src/pr-loop-bundle.test.ts +2 -2
- package/src/pr-loop.test.ts +58 -0
- package/src/pr-loop.ts +146 -4
- package/src/pr-post.test.ts +141 -0
- package/src/pr-post.ts +159 -0
- package/src/wave-blocked-bundle.test.ts +25 -0
- package/src/wave-blocked.test.ts +146 -0
- package/src/wave-blocked.ts +271 -0
- package/src/wave-engine.ts +8 -0
- package/src/workspace/__fixtures__/two-member-workspace.ts +2 -2
- package/src/workspace/ci-branches.test.ts +62 -0
- package/src/workspace/ci-branches.ts +79 -0
- package/src/workspace/ci-cloud-identity.test.ts +53 -0
- package/src/workspace/ci-cloud-identity.ts +23 -0
- package/src/workspace/ci-locks.ts +16 -0
- package/src/workspace/ci-run-index.test.ts +2 -1
- package/src/workspace/ci-run.test.ts +107 -8
- package/src/workspace/ci-run.ts +72 -4
- package/src/workspace/declaration.schema.json +147 -0
- package/src/workspace/declaration.test.ts +76 -0
- package/src/workspace/declaration.ts +134 -2
- package/src/workspace/identity-gate-rule.ts +1 -1
- package/src/workspace/identity.ts +1 -1
- package/src/workspace/lineage-upgrade.ts +11 -8
- package/src/workspace/member-pipeline.test.ts +29 -0
- package/src/workspace/member-pipeline.ts +30 -0
- package/src/workspace/pr-report.schema.json +73 -2
- package/src/workspace/security.ts +4 -0
- package/src/workspace/status-gates.ts +9 -6
- package/src/workspace/status.ts +4 -1
- package/src/workspace/trust/gate-seal.test.ts +1 -1
- package/src/workspace/trust/seal.ts +2 -2
- package/dist/workspace/trust/gate-seal.d.ts.map +0 -1
- /package/dist/{workspace/trust → lifecycle}/gate-seal.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"two-member-workspace.d.ts","sourceRoot":"","sources":["../../../src/workspace/__fixtures__/two-member-workspace.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH,iGAAiG;AACjG,wBAAgB,kBAAkB,CAAC,OAAO,GAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"two-member-workspace.d.ts","sourceRoot":"","sources":["../../../src/workspace/__fixtures__/two-member-workspace.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH,iGAAiG;AACjG,wBAAgB,kBAAkB,CAAC,OAAO,GAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAO,GAAG,MAAM,CAsB7H"}
|
|
@@ -20,7 +20,7 @@ export function twoMemberWorkspace(options = {}) {
|
|
|
20
20
|
if (options.root)
|
|
21
21
|
members.unshift({ name: "platform", dir: ".", kind: "chant" });
|
|
22
22
|
const files = {
|
|
23
|
-
"chant.workspace.json": JSON.stringify({ name: "shop", schema: 1, members }, null, 2),
|
|
23
|
+
"chant.workspace.json": JSON.stringify({ name: "shop", schema: 1, members, ...options.extra }, null, 2),
|
|
24
24
|
"services/api/chant.config.ts": "export default {};\n",
|
|
25
25
|
"services/api/src/infra.ts": "\n",
|
|
26
26
|
"apps/web/chant.config.ts": "export default {};\n",
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Branch routing and label filters for the pull-request loop (#4292).
|
|
3
|
+
*
|
|
4
|
+
* `ci.branches` maps a branch to member-name globs. A member a glob matches
|
|
5
|
+
* applies from that branch: its generated pull-request pipeline targets it,
|
|
6
|
+
* and its record or apply job does nothing on a push to any other branch. A
|
|
7
|
+
* member no glob matches applies from every branch but those, the default
|
|
8
|
+
* branch included. terragucci's `apply.branches` (`branchLayers`) works the
|
|
9
|
+
* same way over Terraform roots.
|
|
10
|
+
*
|
|
11
|
+
* `ci.labels` maps a pull request label to member-name globs. When a pull
|
|
12
|
+
* request carries one of the labels, its plan job plans only the members
|
|
13
|
+
* those labels' globs match, and every other member's plan job plans
|
|
14
|
+
* nothing. A label never gates: the record and apply jobs on the push never
|
|
15
|
+
* read labels, and an apply still waits for an approval of the digest it
|
|
16
|
+
* plans. Anyone with triage access can set a label, so a label may narrow
|
|
17
|
+
* what a reviewer sees ahead of the merge and no more.
|
|
18
|
+
*/
|
|
19
|
+
/** Branch or label name to member-name globs. */
|
|
20
|
+
export type MemberGlobs = Readonly<Record<string, readonly string[]>>;
|
|
21
|
+
/** The keys of `map` whose globs match `member`, in declaration order. */
|
|
22
|
+
export declare function keysMatching(map: MemberGlobs | undefined, member: string): string[];
|
|
23
|
+
/** The branch `ci.branches` routes `member` to, or null when no glob matches it. */
|
|
24
|
+
export declare function routedBranch(branches: MemberGlobs | undefined, member: string): string | null;
|
|
25
|
+
/** Each member that two branches' globs match, with the branches. The declaration refuses these. */
|
|
26
|
+
export declare function routeConflicts(branches: MemberGlobs | undefined, members: readonly string[]): Array<{
|
|
27
|
+
member: string;
|
|
28
|
+
branches: string[];
|
|
29
|
+
}>;
|
|
30
|
+
/**
|
|
31
|
+
* Whether a push to `pushed` applies `member`, with a line that says why.
|
|
32
|
+
* A routed member applies only from its branch. Any other member applies
|
|
33
|
+
* from every branch `ci.branches` does not name.
|
|
34
|
+
*/
|
|
35
|
+
export declare function appliesFrom(branches: MemberGlobs | undefined, member: string, pushed: string): {
|
|
36
|
+
applies: boolean;
|
|
37
|
+
note: string;
|
|
38
|
+
};
|
|
39
|
+
/**
|
|
40
|
+
* Whether a pull request's plan job plans `member`, given the labels the pull
|
|
41
|
+
* request carries. With none of `ci.labels` on the pull request every member
|
|
42
|
+
* plans. With some, a member plans only when one of those labels' globs
|
|
43
|
+
* matches it.
|
|
44
|
+
*/
|
|
45
|
+
export declare function plansUnderLabels(labels: MemberGlobs | undefined, member: string, carried: readonly string[]): {
|
|
46
|
+
plans: boolean;
|
|
47
|
+
note?: string;
|
|
48
|
+
};
|
|
49
|
+
/** The branch the job runs on, from the forge's own variables: GitHub and Forgejo's GITHUB_REF_NAME, GitLab's CI_COMMIT_BRANCH. */
|
|
50
|
+
export declare function pushedBranchFromEnv(env?: Record<string, string | undefined>): string | undefined;
|
|
51
|
+
//# sourceMappingURL=ci-branches.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ci-branches.d.ts","sourceRoot":"","sources":["../../src/workspace/ci-branches.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAKH,iDAAiD;AACjD,MAAM,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC,CAAC;AAItE,0EAA0E;AAC1E,wBAAgB,YAAY,CAAC,GAAG,EAAE,WAAW,GAAG,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAEnF;AAED,oFAAoF;AACpF,wBAAgB,YAAY,CAAC,QAAQ,EAAE,WAAW,GAAG,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAE7F;AAED,oGAAoG;AACpG,wBAAgB,cAAc,CAAC,QAAQ,EAAE,WAAW,GAAG,SAAS,EAAE,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,KAAK,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAE3I;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,WAAW,GAAG,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAWjI;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,WAAW,GAAG,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAO/I;AAED,mIAAmI;AACnI,wBAAgB,mBAAmB,CAAC,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,GAAG,MAAM,GAAG,SAAS,CAE7G"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Branch routing and label filters for the pull-request loop (#4292).
|
|
3
|
+
*
|
|
4
|
+
* `ci.branches` maps a branch to member-name globs. A member a glob matches
|
|
5
|
+
* applies from that branch: its generated pull-request pipeline targets it,
|
|
6
|
+
* and its record or apply job does nothing on a push to any other branch. A
|
|
7
|
+
* member no glob matches applies from every branch but those, the default
|
|
8
|
+
* branch included. terragucci's `apply.branches` (`branchLayers`) works the
|
|
9
|
+
* same way over Terraform roots.
|
|
10
|
+
*
|
|
11
|
+
* `ci.labels` maps a pull request label to member-name globs. When a pull
|
|
12
|
+
* request carries one of the labels, its plan job plans only the members
|
|
13
|
+
* those labels' globs match, and every other member's plan job plans
|
|
14
|
+
* nothing. A label never gates: the record and apply jobs on the push never
|
|
15
|
+
* read labels, and an apply still waits for an approval of the digest it
|
|
16
|
+
* plans. Anyone with triage access can set a label, so a label may narrow
|
|
17
|
+
* what a reviewer sees ahead of the merge and no more.
|
|
18
|
+
*/
|
|
19
|
+
// @ts-ignore: picomatch has no types declaration
|
|
20
|
+
import picomatch from "picomatch";
|
|
21
|
+
const matches = (globs, member) => globs.some((g) => picomatch(g)(member));
|
|
22
|
+
/** The keys of `map` whose globs match `member`, in declaration order. */
|
|
23
|
+
export function keysMatching(map, member) {
|
|
24
|
+
return Object.keys(map ?? {}).filter((k) => matches(map[k], member));
|
|
25
|
+
}
|
|
26
|
+
/** The branch `ci.branches` routes `member` to, or null when no glob matches it. */
|
|
27
|
+
export function routedBranch(branches, member) {
|
|
28
|
+
return keysMatching(branches, member)[0] ?? null;
|
|
29
|
+
}
|
|
30
|
+
/** Each member that two branches' globs match, with the branches. The declaration refuses these. */
|
|
31
|
+
export function routeConflicts(branches, members) {
|
|
32
|
+
return members.map((member) => ({ member, branches: keysMatching(branches, member) })).filter((c) => c.branches.length > 1);
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Whether a push to `pushed` applies `member`, with a line that says why.
|
|
36
|
+
* A routed member applies only from its branch. Any other member applies
|
|
37
|
+
* from every branch `ci.branches` does not name.
|
|
38
|
+
*/
|
|
39
|
+
export function appliesFrom(branches, member, pushed) {
|
|
40
|
+
const own = routedBranch(branches, member);
|
|
41
|
+
if (own !== null) {
|
|
42
|
+
return own === pushed
|
|
43
|
+
? { applies: true, note: `ci.branches: ${pushed} applies member ${member}` }
|
|
44
|
+
: { applies: false, note: `ci.branches: member ${member} applies from ${own}, not ${pushed}` };
|
|
45
|
+
}
|
|
46
|
+
if (Object.prototype.hasOwnProperty.call(branches ?? {}, pushed)) {
|
|
47
|
+
return { applies: false, note: `ci.branches: ${pushed} applies only the members its globs match, and member ${member} is not one` };
|
|
48
|
+
}
|
|
49
|
+
return { applies: true, note: `ci.branches: member ${member} is routed to no branch, so ${pushed} applies it` };
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Whether a pull request's plan job plans `member`, given the labels the pull
|
|
53
|
+
* request carries. With none of `ci.labels` on the pull request every member
|
|
54
|
+
* plans. With some, a member plans only when one of those labels' globs
|
|
55
|
+
* matches it.
|
|
56
|
+
*/
|
|
57
|
+
export function plansUnderLabels(labels, member, carried) {
|
|
58
|
+
const set = carried.filter((l) => Object.prototype.hasOwnProperty.call(labels ?? {}, l));
|
|
59
|
+
if (set.length === 0)
|
|
60
|
+
return { plans: true };
|
|
61
|
+
const by = set.filter((l) => matches(labels[l], member));
|
|
62
|
+
return by.length > 0
|
|
63
|
+
? { plans: true, note: `ci.labels: ${by.join(", ")} plan${by.length === 1 ? "s" : ""} member ${member}` }
|
|
64
|
+
: { plans: false, note: `ci.labels: the pull request's labels ${set.join(", ")} plan other members, so member ${member} is not planned here; its record and apply on merge still plan it` };
|
|
65
|
+
}
|
|
66
|
+
/** The branch the job runs on, from the forge's own variables: GitHub and Forgejo's GITHUB_REF_NAME, GitLab's CI_COMMIT_BRANCH. */
|
|
67
|
+
export function pushedBranchFromEnv(env = process.env) {
|
|
68
|
+
return env.CI_COMMIT_BRANCH || (env.GITHUB_REF_TYPE === undefined || env.GITHUB_REF_TYPE === "branch" ? env.GITHUB_REF_NAME : undefined) || undefined;
|
|
69
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The cloud identities a generated pull-request pipeline takes (#4296): the
|
|
3
|
+
* workspace declaration's `ci.identity.cloud`, resolved for the pipeline's
|
|
4
|
+
* environment and member (../ci-identity.ts). Read from the working tree of
|
|
5
|
+
* the workspace that holds `cwd`, as `ci.reportUrl` is (./ci-report-url.ts).
|
|
6
|
+
* A directory outside a workspace reads nothing.
|
|
7
|
+
*/
|
|
8
|
+
import { type PipelineCloudIdentity } from "../ci-identity.js";
|
|
9
|
+
/** The plan and apply identities of the pipeline for `env` and `member`, or undefined. */
|
|
10
|
+
export declare function declaredCloudIdentity(cwd: string, env: string, member?: string): Promise<PipelineCloudIdentity | undefined>;
|
|
11
|
+
//# sourceMappingURL=ci-cloud-identity.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ci-cloud-identity.d.ts","sourceRoot":"","sources":["../../src/workspace/ci-cloud-identity.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAwB,KAAK,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAElF,0FAA0F;AAC1F,wBAAsB,qBAAqB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,GAAG,SAAS,CAAC,CAUjI"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The cloud identities a generated pull-request pipeline takes (#4296): the
|
|
3
|
+
* workspace declaration's `ci.identity.cloud`, resolved for the pipeline's
|
|
4
|
+
* environment and member (../ci-identity.ts). Read from the working tree of
|
|
5
|
+
* the workspace that holds `cwd`, as `ci.reportUrl` is (./ci-report-url.ts).
|
|
6
|
+
* A directory outside a workspace reads nothing.
|
|
7
|
+
*/
|
|
8
|
+
import { findWorkspaceRoot } from "../project-root.js";
|
|
9
|
+
import { resolveCloudIdentity } from "../ci-identity.js";
|
|
10
|
+
/** The plan and apply identities of the pipeline for `env` and `member`, or undefined. */
|
|
11
|
+
export async function declaredCloudIdentity(cwd, env, member) {
|
|
12
|
+
const found = findWorkspaceRoot(cwd);
|
|
13
|
+
if (!found)
|
|
14
|
+
return undefined;
|
|
15
|
+
const [{ readDeclaration, WorkspaceReadError }, { workingTree }] = await Promise.all([import("./declaration.js"), import("./tree.js")]);
|
|
16
|
+
try {
|
|
17
|
+
return resolveCloudIdentity(readDeclaration(workingTree(found.dir)).ci?.identity?.cloud, env, member);
|
|
18
|
+
}
|
|
19
|
+
catch (err) {
|
|
20
|
+
if (!(err instanceof WorkspaceReadError))
|
|
21
|
+
throw err;
|
|
22
|
+
throw Object.assign(new Error(`${err.describe()} [${err.code}]`), { code: err.code });
|
|
23
|
+
}
|
|
24
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `ci.locks` (#4293): when a pull request takes its target locks
|
|
3
|
+
* (../lifecycle/target-lock.ts). Read from the declaration at base, the
|
|
4
|
+
* target branch's tip, as the security groups are (./security.ts), so a
|
|
5
|
+
* pull request cannot turn its own locks off. Null outside a workspace and
|
|
6
|
+
* when the declaration sets none.
|
|
7
|
+
*/
|
|
8
|
+
import type { CiLocks } from "./declaration.js";
|
|
9
|
+
export declare const CI_LOCKS: readonly ["apply", "plan"];
|
|
10
|
+
/** The `ci.locks` of the workspace holding `cwd`, read at `at` when given, else at base, else from the working tree. */
|
|
11
|
+
export declare function ciLocksAt(cwd: string, at?: string): CiLocks | null;
|
|
12
|
+
//# sourceMappingURL=ci-locks.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ci-locks.d.ts","sourceRoot":"","sources":["../../src/workspace/ci-locks.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAG7C,eAAO,MAAM,QAAQ,4BAA0D,CAAC;AAEhF,wHAAwH;AACxH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,CAElE"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { scopeSource } from "./write-scope.js";
|
|
2
|
+
export const CI_LOCKS = ["apply", "plan"];
|
|
3
|
+
/** The `ci.locks` of the workspace holding `cwd`, read at `at` when given, else at base, else from the working tree. */
|
|
4
|
+
export function ciLocksAt(cwd, at) {
|
|
5
|
+
return scopeSource(cwd, at).declaration?.ci?.locks ?? null;
|
|
6
|
+
}
|
|
@@ -45,6 +45,16 @@
|
|
|
45
45
|
* commit: `pending` when it starts, `success` or `failure` when it settles.
|
|
46
46
|
* A status the forge refuses is a warning and never fails the job.
|
|
47
47
|
*
|
|
48
|
+
* The plan runs the pull request's code, so no step of the plan job gets a
|
|
49
|
+
* forge token (#4295, ../ci-handover.ts): every name in `FORGE_TOKEN_VARS`
|
|
50
|
+
* is left out of its steps' environment, from the runner, a secret or the
|
|
51
|
+
* forge job alike, and `pr-plan` runs with `--no-status`. Once the steps
|
|
52
|
+
* settle, the runner posts the note and the `chant/plan` status from the
|
|
53
|
+
* report with its own token (`postPlanReport`, ../pr-post.ts). In place, a
|
|
54
|
+
* generated job holds no token and its `plan-note` job posts; a job that
|
|
55
|
+
* still holds one was generated before #4295, and the runner posts for it
|
|
56
|
+
* with a warning to regenerate.
|
|
57
|
+
*
|
|
48
58
|
* Signing is opt-in (#4156). With no runner key the record is unsigned, and
|
|
49
59
|
* a reader counts it with no signer. A key `.chant/trust.json` does not list
|
|
50
60
|
* leaves it unsigned with a note `--verbose` prints, unless the declaration
|
|
@@ -70,7 +80,7 @@
|
|
|
70
80
|
* a CI one does.
|
|
71
81
|
*/
|
|
72
82
|
import { type PrLoopJob, type PrLoopPipelineOptions } from "../components/pr-pipeline.js";
|
|
73
|
-
import { type CommitStatus, type ForgeKind } from "../pr-forge.js";
|
|
83
|
+
import { type CommitStatus, type ForgeKind, type PrForge } from "../pr-forge.js";
|
|
74
84
|
import type { CommandContext } from "../cli/registry.js";
|
|
75
85
|
import { type RunOrigin } from "../lifecycle/release-ledger.js";
|
|
76
86
|
import { type OpRunResult, type StepRecord } from "../op/local-executor.js";
|
|
@@ -270,6 +280,12 @@ export interface CiRunRequest {
|
|
|
270
280
|
secrets?: CiSecrets;
|
|
271
281
|
/** `--output`: where the job's report is copied, from `cwd`. Default `.chant/pr`. */
|
|
272
282
|
output?: string;
|
|
283
|
+
/**
|
|
284
|
+
* The forge client that posts the plan's note and `chant/plan` status from
|
|
285
|
+
* its report once the steps settle (#4295). Default: one built from the
|
|
286
|
+
* runner's environment when it holds a forge token.
|
|
287
|
+
*/
|
|
288
|
+
planForge?: PrForge;
|
|
273
289
|
/** `--run-index-limit`: how many runs the index at `loop.reportUrl` keeps (#4098). Default 200. */
|
|
274
290
|
runIndexLimit?: number;
|
|
275
291
|
/** A runner key, PEM, that signs the run's record. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ci-run.d.ts","sourceRoot":"","sources":["../../src/workspace/ci-run.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"ci-run.d.ts","sourceRoot":"","sources":["../../src/workspace/ci-run.ts"],"names":[],"mappings":"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"}
|
package/dist/workspace/ci-run.js
CHANGED
|
@@ -45,6 +45,16 @@
|
|
|
45
45
|
* commit: `pending` when it starts, `success` or `failure` when it settles.
|
|
46
46
|
* A status the forge refuses is a warning and never fails the job.
|
|
47
47
|
*
|
|
48
|
+
* The plan runs the pull request's code, so no step of the plan job gets a
|
|
49
|
+
* forge token (#4295, ../ci-handover.ts): every name in `FORGE_TOKEN_VARS`
|
|
50
|
+
* is left out of its steps' environment, from the runner, a secret or the
|
|
51
|
+
* forge job alike, and `pr-plan` runs with `--no-status`. Once the steps
|
|
52
|
+
* settle, the runner posts the note and the `chant/plan` status from the
|
|
53
|
+
* report with its own token (`postPlanReport`, ../pr-post.ts). In place, a
|
|
54
|
+
* generated job holds no token and its `plan-note` job posts; a job that
|
|
55
|
+
* still holds one was generated before #4295, and the runner posts for it
|
|
56
|
+
* with a warning to regenerate.
|
|
57
|
+
*
|
|
48
58
|
* Signing is opt-in (#4156). With no runner key the record is unsigned, and
|
|
49
59
|
* a reader counts it with no signer. A key `.chant/trust.json` does not list
|
|
50
60
|
* leaves it unsigned with a note `--verbose` prints, unless the declaration
|
|
@@ -75,6 +85,8 @@ import { tmpdir } from "node:os";
|
|
|
75
85
|
import { dirname, join, relative, resolve, sep } from "node:path";
|
|
76
86
|
import { PR_APPLY_RECORD, PR_LOOP_REPORT_DIR, prLoopJobs, prLoopSetup, PR_LOOP_IMAGE } from "../components/pr-pipeline.js";
|
|
77
87
|
import { detectForge, ForgeEnvironmentError, forgeFromEnv, FORGE_KINDS } from "../pr-forge.js";
|
|
88
|
+
import { holdsForgeToken, withoutForgeTokens } from "../ci-handover.js";
|
|
89
|
+
import { postPlanReport } from "../pr-post.js";
|
|
78
90
|
import { PR_APPLY_GATE } from "../pr-loop.js";
|
|
79
91
|
import { formatError, formatWarning } from "../cli/format.js";
|
|
80
92
|
import { CHANT_CI_RUN_FORGE_ENV, CHANT_CI_RUN_ID_ENV, FORGE_RUN_ENV, resolveCiJob } from "../lifecycle/release-ledger.js";
|
|
@@ -480,7 +492,8 @@ export async function ciRun(req) {
|
|
|
480
492
|
const started = req.requireRunnerStart || isolated ? runnerStartFor(req, { top, commit, hostEnv }) : undefined;
|
|
481
493
|
// A generated wave job's command, as prLoopWaveJobs writes it. #4161: a local job's command posts no status or note.
|
|
482
494
|
const forgeCommand = req.noForge ? found.command.replace(` --forge ${req.forge}`, "") : found.command;
|
|
483
|
-
const
|
|
495
|
+
const noStatus = req.local && !/ --no-status(?: |$)/.test(forgeCommand);
|
|
496
|
+
const command = `${forgeCommand}${req.wave !== undefined ? ` --wave ${req.wave}` : ""}${noStatus ? " --no-status" : ""}`;
|
|
484
497
|
const job = { ...found, command, ...(req.wave !== undefined ? { wave: req.wave } : {}) };
|
|
485
498
|
const own = ciJobEnv(job, {
|
|
486
499
|
forge: req.forge,
|
|
@@ -491,14 +504,19 @@ export async function ciRun(req) {
|
|
|
491
504
|
secrets: ciSecretsFor(req.secrets, req.job),
|
|
492
505
|
});
|
|
493
506
|
// #4156: in place, the forge job's environment is the job's, less the runner key.
|
|
494
|
-
|
|
507
|
+
// #4295: the plan runs the pull request's code, so no step of it gets a forge token, whatever gave it one.
|
|
508
|
+
const merged = req.inPlace ? { ...definedEnv(hostEnv), ...own } : own;
|
|
509
|
+
const jobEnv = req.job === "plan" ? withoutForgeTokens(merged) : merged;
|
|
495
510
|
delete jobEnv[RUNNER_KEY_ENV];
|
|
511
|
+
const poster = req.job === "plan" ? planPoster(req, hostEnv) : undefined;
|
|
496
512
|
// #4096: the secrets and the job's secret-looking variables, redacted from everything the run writes and returns.
|
|
497
513
|
// In place the forge's own variables come too; one whose value is short, such as a flag, is left out, so it can't blank common words.
|
|
498
514
|
const redact = ciRedactor(req.inPlace ? { ...longValues(jobEnv), ...own } : jobEnv, req.secrets);
|
|
499
515
|
try {
|
|
500
516
|
const ran = await runCiJob(req, { cwd, top, commit, place, job, jobEnv, ...(redact ? { redact } : {}) });
|
|
501
|
-
const
|
|
517
|
+
const posted = poster ? await postFromReport(req, poster, ran, { commit, ...(place.member ? { member: place.member } : {}) }) : [];
|
|
518
|
+
const withPosts = posted.length > 0 ? { ...ran, warnings: [...ran.warnings, ...posted] } : ran;
|
|
519
|
+
const result = started ? { ...withPosts, notes: [started, ...withPosts.notes] } : withPosts;
|
|
502
520
|
return redact ? { ...result, warnings: result.warnings.map(redact), notes: result.notes.map(redact), ...(result.pushWarning ? { pushWarning: redact(result.pushWarning) } : {}) } : result;
|
|
503
521
|
}
|
|
504
522
|
catch (err) {
|
|
@@ -507,6 +525,49 @@ export async function ciRun(req) {
|
|
|
507
525
|
throw err;
|
|
508
526
|
}
|
|
509
527
|
}
|
|
528
|
+
/**
|
|
529
|
+
* Who posts the plan's note and `chant/plan` status (#4295): the runner,
|
|
530
|
+
* from the report, once the plan's steps settled, with the forge token the
|
|
531
|
+
* steps never got. None on `--local`, for a plain git server (`noForge`), or
|
|
532
|
+
* without a token. In place, a token means the job was generated before the
|
|
533
|
+
* plan-note job existed: the runner still posts, and says to regenerate.
|
|
534
|
+
*/
|
|
535
|
+
function planPoster(req, hostEnv) {
|
|
536
|
+
if (req.local || req.noForge || req.pr === undefined)
|
|
537
|
+
return undefined;
|
|
538
|
+
const warning = req.inPlace
|
|
539
|
+
? "this plan job holds a forge token, which the pull request's code runs beside in the same job; regenerate the pipeline, whose plan-note job posts the note from a fresh job (#4295)"
|
|
540
|
+
: undefined;
|
|
541
|
+
if (req.planForge)
|
|
542
|
+
return { forge: req.planForge, ...(warning ? { warning } : {}) };
|
|
543
|
+
if (!holdsForgeToken(hostEnv))
|
|
544
|
+
return undefined;
|
|
545
|
+
try {
|
|
546
|
+
return { forge: forgeFromEnv(req.forge, hostEnv), ...(warning ? { warning } : {}) };
|
|
547
|
+
}
|
|
548
|
+
catch (err) {
|
|
549
|
+
return { error: `the plan's note and status will not be posted: ${message(err)}` };
|
|
550
|
+
}
|
|
551
|
+
}
|
|
552
|
+
/** Post the plan's note and status from the report the job wrote (#4295), and return the warnings. */
|
|
553
|
+
async function postFromReport(req, poster, ran, at) {
|
|
554
|
+
if ("error" in poster)
|
|
555
|
+
return [poster.error];
|
|
556
|
+
const warnings = poster.warning ? [poster.warning] : [];
|
|
557
|
+
const dir = ran.report ?? resolve(req.cwd, req.output ?? PR_LOOP_REPORT_DIR);
|
|
558
|
+
const posted = await postPlanReport({
|
|
559
|
+
forge: poster.forge,
|
|
560
|
+
dir,
|
|
561
|
+
pr: req.pr,
|
|
562
|
+
head: at.commit,
|
|
563
|
+
env: req.env,
|
|
564
|
+
...(at.member ? { member: at.member } : {}),
|
|
565
|
+
result: ran.status === "ok" ? "success" : "failure",
|
|
566
|
+
});
|
|
567
|
+
if (posted.refused)
|
|
568
|
+
warnings.push(`the plan report was not posted: ${posted.refused}`);
|
|
569
|
+
return [...warnings, ...posted.warnings];
|
|
570
|
+
}
|
|
510
571
|
/**
|
|
511
572
|
* `--require-runner-start` (#4147): the runner-start statement for this
|
|
512
573
|
* forge job, checked against `.chant/trust.json` at `--base` (the commit
|
|
@@ -16,10 +16,13 @@
|
|
|
16
16
|
* runs. The level-0 goldens (#2526) fail if a level-0 command loads it.
|
|
17
17
|
*/
|
|
18
18
|
import { type RetentionOverride } from "../lifecycle/retention-policy.js";
|
|
19
|
+
import { type CloudIdentityDeclaration } from "../ci-identity.js";
|
|
19
20
|
import { EXAMPLES_KIND } from "./kinds.js";
|
|
20
21
|
import { type TextLocation } from "./jsonc.js";
|
|
21
22
|
import type { SecurityGroup } from "./security.js";
|
|
22
23
|
import { type WorkspaceTree } from "./tree.js";
|
|
24
|
+
import { type OpWaveHooks } from "../op/op-waves.js";
|
|
25
|
+
import { type GatePolicySettings } from "../gate-policy.js";
|
|
23
26
|
export declare const DECLARATION_SCHEMA_ID: string;
|
|
24
27
|
export declare const DECLARATION_FILES: readonly ["chant.workspace.json", "chant.workspace.jsonc"];
|
|
25
28
|
export declare const DECLARATION_SCHEMA_VERSION = 1;
|
|
@@ -195,11 +198,21 @@ export type CiSource = "checks" | "runs";
|
|
|
195
198
|
* member under one still lacks (./checks/ci-workflow.ts, WSP151).
|
|
196
199
|
*/
|
|
197
200
|
export type CiWorkflow = "trunk-curated" | "trunk-curated+apply-on-merge";
|
|
201
|
+
/**
|
|
202
|
+
* When a pull request takes its target locks (#4293, ../lifecycle/target-lock.ts).
|
|
203
|
+
* `apply`: its apply takes them, and `chant lock` does by hand. `plan`: its
|
|
204
|
+
* plan takes them too, through `chant lock --stage plan` in a job that runs
|
|
205
|
+
* the target branch's code. Under either, an apply refuses a target another
|
|
206
|
+
* open pull request holds.
|
|
207
|
+
*/
|
|
208
|
+
export type CiLocks = "apply" | "plan";
|
|
198
209
|
/** The declaration's `ci` block (#3573). */
|
|
199
210
|
export interface CiDeclaration {
|
|
200
211
|
green: CiGreen | null;
|
|
201
212
|
/** `ci.workflow` (#4168 step 6): the workflow every member follows unless it names its own; absent when the declaration sets none. */
|
|
202
213
|
workflow?: CiWorkflow;
|
|
214
|
+
/** `ci.locks` (#4293): when a pull request takes its target locks; absent when the declaration sets none, and then nothing is locked. */
|
|
215
|
+
locks?: CiLocks;
|
|
203
216
|
/**
|
|
204
217
|
* `ci.reportUrl` (#4160): where the pull-request jobs copy their reports
|
|
205
218
|
* and `chant ci run` keeps the run index, `<reportUrl>/runs/index.json`.
|
|
@@ -208,7 +221,55 @@ export interface CiDeclaration {
|
|
|
208
221
|
* the declaration sets none.
|
|
209
222
|
*/
|
|
210
223
|
reportUrl: string | null;
|
|
224
|
+
/**
|
|
225
|
+
* `ci.hooks` (#4288): the stage hooks the pull-request jobs run, in the
|
|
226
|
+
* shape an Op waves spec's `hooks` takes. `chant components pr-plan`,
|
|
227
|
+
* `pr-record` and `pr-apply` read them from the declaration at base.
|
|
228
|
+
* Absent when the declaration sets none.
|
|
229
|
+
*/
|
|
230
|
+
hooks?: OpWaveHooks;
|
|
231
|
+
/**
|
|
232
|
+
* `ci.branches` (#4292): branch name to member-name globs. A member a glob
|
|
233
|
+
* matches applies from that branch alone; the others apply from every
|
|
234
|
+
* branch the map does not name (./ci-branches.ts). Absent when unset.
|
|
235
|
+
*/
|
|
236
|
+
branches?: Record<string, string[]>;
|
|
237
|
+
/**
|
|
238
|
+
* `ci.labels` (#4292): pull request label to member-name globs. A labelled
|
|
239
|
+
* pull request plans only the members its labels match. Never a gate.
|
|
240
|
+
* Absent when unset.
|
|
241
|
+
*/
|
|
242
|
+
labels?: Record<string, string[]>;
|
|
243
|
+
/**
|
|
244
|
+
* `ci.policy` (#4294): the policy engine the pull-request jobs run over
|
|
245
|
+
* the change set, read with the policy from the declaration at base.
|
|
246
|
+
* Absent when the declaration sets none.
|
|
247
|
+
*/
|
|
248
|
+
policy?: GatePolicySettings;
|
|
249
|
+
/**
|
|
250
|
+
* `ci.identity` (#4296): `cloud` gives each cloud's plan and apply
|
|
251
|
+
* identities by environment and member globs (../ci-identity.ts).
|
|
252
|
+
* Absent when unset.
|
|
253
|
+
*/
|
|
254
|
+
identity?: {
|
|
255
|
+
cloud: CloudIdentityDeclaration;
|
|
256
|
+
};
|
|
257
|
+
/**
|
|
258
|
+
* `ci.prEnvironment` (#4298): an environment per open pull request,
|
|
259
|
+
* derived from `template`, torn down on close or after `ttl`
|
|
260
|
+
* (../components/pr-environment.ts). Absent when unset.
|
|
261
|
+
*/
|
|
262
|
+
prEnvironment?: CiPrEnvironment;
|
|
263
|
+
}
|
|
264
|
+
/** The `ci.prEnvironment` block (#4298), with its default TTL. */
|
|
265
|
+
export interface CiPrEnvironment {
|
|
266
|
+
/** The declared environment `pr-<n>` takes its endpoint from. */
|
|
267
|
+
template: string;
|
|
268
|
+
/** How long the environment lives after its last apply: `72h` when absent. */
|
|
269
|
+
ttl: string;
|
|
211
270
|
}
|
|
271
|
+
/** The default `ci.prEnvironment.ttl`. */
|
|
272
|
+
export declare const DEFAULT_PR_ENVIRONMENT_TTL = "72h";
|
|
212
273
|
export interface MemberRole {
|
|
213
274
|
name: string;
|
|
214
275
|
/** Relative to the member's directory, or null for the whole member. */
|
|
@@ -511,6 +572,8 @@ export interface Member {
|
|
|
511
572
|
security: SecurityGroup[];
|
|
512
573
|
/** The member's own `ci.workflow` (#4168 step 6), which wins over the top level's; null when it names none. */
|
|
513
574
|
ciWorkflow: CiWorkflow | null;
|
|
575
|
+
/** The member's own `ci.hooks` (#4288), run after the top level's; null when it names none. */
|
|
576
|
+
ciHooks: OpWaveHooks | null;
|
|
514
577
|
suppress: Suppression[];
|
|
515
578
|
/** The entry's JSON Pointer in the file, for messages. */
|
|
516
579
|
pointer: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"declaration.d.ts","sourceRoot":"","sources":["../../src/workspace/declaration.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"declaration.d.ts","sourceRoot":"","sources":["../../src/workspace/declaration.ts"],"names":[],"mappings":"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"}
|