@intentius/chant 0.124.39 → 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/component-endpoint.d.ts +20 -0
- package/dist/cli/component-endpoint.d.ts.map +1 -0
- package/dist/cli/component-endpoint.js +36 -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.d.ts.map +1 -1
- package/dist/cli/handlers/fan-out.js +26 -4
- 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 +514 -58
- package/dist/cli/handlers/promote.d.ts.map +1 -1
- package/dist/cli/handlers/promote.js +16 -2
- 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/handlers/run.d.ts +4 -1
- package/dist/cli/handlers/run.d.ts.map +1 -1
- package/dist/cli/handlers/run.js +17 -6
- 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/auto-release.d.ts +35 -3
- package/dist/components/auto-release.d.ts.map +1 -1
- package/dist/components/auto-release.js +29 -2
- package/dist/components/cli-support.d.ts +2 -0
- package/dist/components/cli-support.d.ts.map +1 -1
- package/dist/components/cli-support.js +2 -0
- package/dist/components/deploy-units.d.ts.map +1 -1
- package/dist/components/deploy-units.js +5 -0
- 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/components/promote.d.ts.map +1 -1
- package/dist/components/promote.js +39 -16
- 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/__fixtures__/publish-fakes.d.ts.map +1 -1
- package/dist/lifecycle/__fixtures__/publish-fakes.js +6 -1
- 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/publish-declaration.d.ts.map +1 -1
- package/dist/lifecycle/publish-declaration.js +4 -3
- package/dist/lifecycle/publish-npm.d.ts +2 -2
- package/dist/lifecycle/publish-npm.d.ts.map +1 -1
- package/dist/lifecycle/publish-npm.js +31 -8
- 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/release-ledger.d.ts +31 -0
- package/dist/lifecycle/release-ledger.d.ts.map +1 -1
- package/dist/lifecycle/release-ledger.js +19 -1
- 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/status.d.ts +5 -1
- package/dist/lifecycle/status.d.ts.map +1 -1
- package/dist/lifecycle/status.js +10 -5
- 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/live-endpoint.d.ts +18 -0
- package/dist/live-endpoint.d.ts.map +1 -1
- package/dist/live-endpoint.js +27 -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 +239 -239
- 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 +24 -1
- package/dist/workspace/ci-run.d.ts.map +1 -1
- package/dist/workspace/ci-run.js +85 -6
- 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 +3 -1
- package/dist/workspace/status.d.ts.map +1 -1
- package/dist/workspace/status.js +7 -3
- package/dist/workspace/status.schema.json +1 -0
- 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/component-endpoint.ts +43 -0
- package/src/cli/handlers/approve.ts +18 -5
- package/src/cli/handlers/build.ts +15 -1
- package/src/cli/handlers/fan-out.test.ts +10 -0
- package/src/cli/handlers/fan-out.ts +29 -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-endpoint.test.ts +169 -0
- 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 +508 -64
- package/src/cli/handlers/promote.ts +25 -2
- package/src/cli/handlers/query.ts +78 -0
- package/src/cli/handlers/run.test.ts +2 -1
- package/src/cli/handlers/run.ts +16 -5
- 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/auto-release-infra.test.ts +131 -0
- package/src/components/auto-release.test.ts +40 -1
- package/src/components/auto-release.ts +50 -4
- package/src/components/cli-support.ts +4 -0
- package/src/components/deploy-units.ts +5 -0
- 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/components/promote.test.ts +39 -0
- package/src/components/promote.ts +38 -14
- 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/__fixtures__/publish-fakes.ts +6 -1
- package/src/lifecycle/gate-checkpoint.ts +1 -1
- package/src/{workspace/trust → lifecycle}/gate-seal.ts +1 -1
- package/src/lifecycle/publish-declaration.ts +4 -3
- package/src/lifecycle/publish-npm.ts +33 -8
- package/src/lifecycle/publish-targets.test.ts +36 -3
- package/src/lifecycle/query.test.ts +91 -0
- package/src/lifecycle/query.ts +315 -0
- package/src/lifecycle/release-ledger.ts +42 -1
- package/src/lifecycle/run-ledger.ts +18 -0
- package/src/lifecycle/status.test.ts +19 -0
- package/src/lifecycle/status.ts +14 -6
- package/src/lifecycle/target-lock.test.ts +195 -0
- package/src/lifecycle/target-lock.ts +347 -0
- package/src/live-endpoint.ts +31 -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 +133 -8
- package/src/workspace/ci-run.ts +92 -7
- 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.schema.json +1 -0
- package/src/workspace/status.ts +11 -4
- 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":"auto-release.d.ts","sourceRoot":"","sources":["../../src/components/auto-release.ts"],"names":[],"mappings":"AA4BA,OAAO,EAAkD,KAAK,gBAAgB,EAAE,KAAK,aAAa,EAAE,KAAK,SAAS,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"auto-release.d.ts","sourceRoot":"","sources":["../../src/components/auto-release.ts"],"names":[],"mappings":"AA4BA,OAAO,EAAkD,KAAK,gBAAgB,EAAE,KAAK,iBAAiB,EAAE,KAAK,aAAa,EAAE,KAAK,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAEhL,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAGlE;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,IAAI;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAE9F;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,gBAAgB,EAAE,GAAG,MAAM,GAAG,SAAS,CAShF;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE;IACrC,+EAA+E;IAC/E,UAAU,EAAE,eAAe,EAAE,CAAC;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,uEAAuE;IACvE,OAAO,CAAC,EAAE,aAAa,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC;CAC3F,GAAG,CAAC,SAAS,EAAE,MAAM,KAAK,aAAa,GAAG,IAAI,CAU9C;AAED,8KAA8K;AAC9K,MAAM,MAAM,qBAAqB,GAC7B,WAAW,GACX,oBAAoB,GACpB,WAAW,GACX,UAAU,CAAC;AAEf,MAAM,MAAM,iBAAiB,GACzB;IAAE,QAAQ,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,aAAa,CAAA;CAAE,GACzD;IAAE,QAAQ,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,qBAAqB,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GACnE;IAAE,QAAQ,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAExD,sDAAsD;AACtD,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,uIAAuI;IACvI,OAAO,EAAE,OAAO,CAAC;IACjB,2LAA2L;IAC3L,OAAO,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC7B,kHAAkH;IAClH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,4JAA4J;IAC5J,KAAK,EAAE,MAAM,CAAC;IACd,yLAAyL;IACzL,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,qMAAqM;IACrM,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAC7B,sMAAsM;IACtM,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,oQAAoQ;IACpQ,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iKAAiK;IACjK,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;;;OAKG;IACH,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B;AAED,yEAAyE;AACzE,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,OAAO,CAAC,iBAAiB,EAAE,MAAM,GAAG,cAAc,CAAC,CAAC;CAC3D;AAED,0JAA0J;AAC1J,MAAM,WAAW,kBAAkB;IACjC,iIAAiI;IACjI,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,sHAAsH;IACtH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qIAAqI;IACrI,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4DAA4D;IAC5D,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAMD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAsB,sBAAsB,CAC1C,GAAG,EAAE,kBAAkB,EACvB,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,iBAAiB,CAAC,CA0D5B"}
|
|
@@ -27,6 +27,8 @@
|
|
|
27
27
|
*/
|
|
28
28
|
import { getHeadCommit, pushLifecycle, StaleLifecycleBranchError } from "../lifecycle/git.js";
|
|
29
29
|
import { appendReleaseRecord, InvalidReleaseRecordError } from "../lifecycle/release-ledger.js";
|
|
30
|
+
import { changeSetDigest } from "../change-set.js";
|
|
31
|
+
import { componentInputDigests } from "./fan-out-inputs.js";
|
|
30
32
|
/**
|
|
31
33
|
* A step output that represents a *promoted* artifact — a publish-family result
|
|
32
34
|
* (publish-image / publish-artifact / load-image-on-host), identified by the
|
|
@@ -65,6 +67,26 @@ export function extractRunDigest(records) {
|
|
|
65
67
|
}
|
|
66
68
|
return found;
|
|
67
69
|
}
|
|
70
|
+
/**
|
|
71
|
+
* What each component of a run applied, for the ones that publish no artifact
|
|
72
|
+
* (#4274). A component with planned members (`pr-apply`'s change set) gets its
|
|
73
|
+
* plan digest: the one member's `planDigest`, or with several the
|
|
74
|
+
* change-set digest over them, the way a set's digest is taken. Any other gets
|
|
75
|
+
* its deploy-input digest from `componentInputDigests`, computed on first use.
|
|
76
|
+
*/
|
|
77
|
+
export function appliedDigestOf(input) {
|
|
78
|
+
let inputs;
|
|
79
|
+
return (component) => {
|
|
80
|
+
const planned = (input.members ?? []).filter((m) => m.component === component && m.planDigest !== null);
|
|
81
|
+
if (planned.length === 1)
|
|
82
|
+
return { digest: planned[0].planDigest, kind: "plan" };
|
|
83
|
+
if (planned.length > 1)
|
|
84
|
+
return { digest: changeSetDigest(planned), kind: "plan" };
|
|
85
|
+
inputs ?? (inputs = componentInputDigests(input.components, { projectRoot: input.projectRoot, env: input.env }));
|
|
86
|
+
const digest = inputs[component];
|
|
87
|
+
return digest === undefined ? null : { digest, kind: "deploy-input" };
|
|
88
|
+
};
|
|
89
|
+
}
|
|
68
90
|
function resolveActor(override) {
|
|
69
91
|
return override ?? process.env.GITHUB_ACTOR ?? process.env.GITLAB_USER_LOGIN ?? process.env.USER;
|
|
70
92
|
}
|
|
@@ -83,7 +105,8 @@ function resolveActor(override) {
|
|
|
83
105
|
* - `run.success` false — defensive; callers should not reach here on failure.
|
|
84
106
|
* - no digest found in the run's records — a component with no publish step
|
|
85
107
|
* has nothing to bind a release record to, unless the run was made under a
|
|
86
|
-
* release that records its templates (`templatesDigest`, #4222)
|
|
108
|
+
* release that records its templates (`templatesDigest`, #4222) or the
|
|
109
|
+
* caller names what it applied (`appliedDigest`, #4274).
|
|
87
110
|
* - no resolvable actor — mirrors `runComponentsReleaseRecord`'s hard
|
|
88
111
|
* requirement; an unattributed record defeats the ledger's purpose.
|
|
89
112
|
*
|
|
@@ -103,7 +126,10 @@ export async function maybeRecordAutoRelease(run, options = {}) {
|
|
|
103
126
|
if (!run.success) {
|
|
104
127
|
return { recorded: false, reason: "run-not-successful" };
|
|
105
128
|
}
|
|
106
|
-
const
|
|
129
|
+
const artifact = run.digest ?? extractRunDigest(run.records ?? []);
|
|
130
|
+
const templates = artifact === undefined && run.releaseDigest ? run.templatesDigest : undefined;
|
|
131
|
+
const digest = artifact ?? templates ?? run.appliedDigest?.digest;
|
|
132
|
+
const digestKind = artifact !== undefined ? undefined : templates !== undefined ? "templates" : run.appliedDigest?.kind;
|
|
107
133
|
if (!digest) {
|
|
108
134
|
return { recorded: false, reason: "no-digest", detail: `component "${run.component}" published no digest-bearing artifact` };
|
|
109
135
|
}
|
|
@@ -134,6 +160,7 @@ export async function maybeRecordAutoRelease(run, options = {}) {
|
|
|
134
160
|
...(run.profileOverride ? { profileOverride: run.profileOverride } : {}),
|
|
135
161
|
...(run.inputDigest ? { inputDigest: run.inputDigest } : {}),
|
|
136
162
|
...(run.releaseDigest ? { releaseDigest: run.releaseDigest } : {}),
|
|
163
|
+
...(digestKind ? { digestKind } : {}),
|
|
137
164
|
}, { cwd: options.cwd });
|
|
138
165
|
await pushLifecycle({ cwd: options.cwd });
|
|
139
166
|
return { recorded: true, commit, record };
|
|
@@ -272,6 +272,8 @@ export interface RunComponentsResult {
|
|
|
272
272
|
run?: DriverRunResult;
|
|
273
273
|
/** Component names actually dispatched to the driver, in run order. */
|
|
274
274
|
selected: string[];
|
|
275
|
+
/** The components dispatched, as they ran (#4274): what a component's deploy-input digest is taken over. */
|
|
276
|
+
components?: DriverComponent[];
|
|
275
277
|
error?: string;
|
|
276
278
|
/** Set when the run stopped at a `gate` nobody has approved (#2119): the component it stopped at and the pending fact recorded for it. */
|
|
277
279
|
gated?: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-support.d.ts","sourceRoot":"","sources":["../../src/components/cli-support.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"cli-support.d.ts","sourceRoot":"","sources":["../../src/components/cli-support.ts"],"names":[],"mappings":"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"}
|
|
@@ -419,6 +419,7 @@ export async function runComponents(path, selector, options = {}) {
|
|
|
419
419
|
success: run.status === "ok",
|
|
420
420
|
run,
|
|
421
421
|
selected,
|
|
422
|
+
components: resolvedTargets,
|
|
422
423
|
buildParams: options.buildParams,
|
|
423
424
|
...(run.status === "gated" && run.gate
|
|
424
425
|
? {
|
|
@@ -477,6 +478,7 @@ export async function runComponents(path, selector, options = {}) {
|
|
|
477
478
|
success: componentResult.ok,
|
|
478
479
|
run,
|
|
479
480
|
selected,
|
|
481
|
+
components: resolvedTargets,
|
|
480
482
|
buildParams: options.buildParams,
|
|
481
483
|
...(componentResult.status === "gated" && componentResult.gate
|
|
482
484
|
? {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy-units.d.ts","sourceRoot":"","sources":["../../src/components/deploy-units.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH;;;;;;;GAOG;AACH,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,SAAS,OAAO,EAAE,CAAC;CAC3B;AAED,6EAA6E;AAC7E,MAAM,WAAW,cAAc;IAC7B,0DAA0D;IAC1D,IAAI,EAAE,MAAM,CAAC;IACb,oEAAoE;IACpE,KAAK,EAAE,MAAM,CAAC;IACd,uEAAuE;IACvE,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB,EAAE,SAAS,cAAc,
|
|
1
|
+
{"version":3,"file":"deploy-units.d.ts","sourceRoot":"","sources":["../../src/components/deploy-units.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH;;;;;;;GAOG;AACH,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,SAAS,OAAO,EAAE,CAAC;CAC3B;AAED,6EAA6E;AAC7E,MAAM,WAAW,cAAc;IAC7B,0DAA0D;IAC1D,IAAI,EAAE,MAAM,CAAC;IACb,oEAAoE;IACpE,KAAK,EAAE,MAAM,CAAC;IACd,uEAAuE;IACvE,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB,EAAE,SAAS,cAAc,EAoBtD,CAAC;AAEF,kEAAkE;AAClE,MAAM,WAAW,UAAU;IACzB,4CAA4C;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,mDAAmD;IACnD,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,SAAS,gBAAgB,EAAE,GAAG,UAAU,EAAE,CA0B7E"}
|
|
@@ -21,6 +21,11 @@ export const DEPLOY_UNIT_RULES = [
|
|
|
21
21
|
// A Terraform-family root (#3049). Its unit is the root's name in
|
|
22
22
|
// `terraform.roots`, which is also the member a gated wave's digest names.
|
|
23
23
|
{ kind: "terraform-apply", field: "root", lexicon: "terraform" },
|
|
24
|
+
// An ARM template applied into one resource group (#4273). Its unit is the group.
|
|
25
|
+
{ kind: "arm-deploy", field: "resourceGroup", lexicon: "azure" },
|
|
26
|
+
// A Config Connector manifest applied over REST (#4273). Its unit is the
|
|
27
|
+
// step's `stack`, the member its plan names.
|
|
28
|
+
{ kind: "gcp-apply", field: "stack", lexicon: "gcp" },
|
|
24
29
|
];
|
|
25
30
|
/**
|
|
26
31
|
* Every distinct deploy unit a component's phases target, in declaration
|
|
@@ -72,6 +72,23 @@ export interface FanOutWaveGate {
|
|
|
72
72
|
* do not exist yet. A later wave is left for its own job.
|
|
73
73
|
*/
|
|
74
74
|
only?: number;
|
|
75
|
+
/**
|
|
76
|
+
* With `only` (#4291): members of earlier waves the record says failed to
|
|
77
|
+
* plan or to apply. Each blocks its dependents in this wave and names
|
|
78
|
+
* itself as what blocked them; the rest of the wave runs. An earlier
|
|
79
|
+
* member that neither applied nor failed still refuses the run.
|
|
80
|
+
*/
|
|
81
|
+
failedEarlier?: readonly string[];
|
|
82
|
+
/**
|
|
83
|
+
* With `only` (#4291): earlier waves the record says stopped at their gate.
|
|
84
|
+
* A member left in one of them stops this wave too ({@link EarlierWaveWaitingError}),
|
|
85
|
+
* since a gate nobody approved stops every wave after it.
|
|
86
|
+
*/
|
|
87
|
+
waitingEarlier?: ReadonlyArray<{
|
|
88
|
+
wave: number;
|
|
89
|
+
gate: string;
|
|
90
|
+
components: readonly string[];
|
|
91
|
+
}>;
|
|
75
92
|
}
|
|
76
93
|
/** Thrown when `FanOutWaveGate.only` names a wave whose predecessors have not all applied. */
|
|
77
94
|
export declare class EarlierWaveNotAppliedError extends Error {
|
|
@@ -80,6 +97,17 @@ export declare class EarlierWaveNotAppliedError extends Error {
|
|
|
80
97
|
readonly components: string[];
|
|
81
98
|
constructor(wave: number, earlier: number, components: string[]);
|
|
82
99
|
}
|
|
100
|
+
/**
|
|
101
|
+
* Thrown when `FanOutWaveGate.only` names a wave after one that waits at its
|
|
102
|
+
* gate (#4291): nothing in this wave runs until that gate is approved and
|
|
103
|
+
* its job runs again. The CLI exits 3, as the waiting wave's job does.
|
|
104
|
+
*/
|
|
105
|
+
export declare class EarlierWaveWaitingError extends Error {
|
|
106
|
+
readonly wave: number;
|
|
107
|
+
readonly earlier: number;
|
|
108
|
+
readonly gate: string;
|
|
109
|
+
constructor(wave: number, earlier: number, gate: string);
|
|
110
|
+
}
|
|
83
111
|
/** The single gate over a whole fan-out. Omit it to run without one. */
|
|
84
112
|
export interface FanOutGate {
|
|
85
113
|
/** The name `chant approve <op> <gate>` takes — the fan-out's name, not a component's. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fan-out-run.d.ts","sourceRoot":"","sources":["../../src/components/fan-out-run.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAEH,OAAO,EAGL,KAAK,eAAe,EACpB,KAAK,qBAAqB,EAE3B,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAqC,KAAK,UAAU,EAAE,KAAK,cAAc,EAAE,KAAK,UAAU,EAAE,MAAM,WAAW,CAAC;AACrH,OAAO,EAAmD,KAAK,cAAc,EAAE,MAAM,YAAY,CAAC;AAClG,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAmD,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACzG,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAqB,KAAK,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACxE,OAAO,EAA6E,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AA+C5H;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,mEAAmE;IACnE,EAAE,EAAE,MAAM,CAAC;IACX,qEAAqE;IACrE,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,aAAa,CAAC,EAAE,CACd,SAAS,EAAE,eAAe,EAC1B,GAAG,EAAE,aAAa,EAClB,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,KACtD,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAChC;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"fan-out-run.d.ts","sourceRoot":"","sources":["../../src/components/fan-out-run.ts"],"names":[],"mappings":"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"}
|
|
@@ -100,6 +100,20 @@ export class EarlierWaveNotAppliedError extends Error {
|
|
|
100
100
|
this.name = "EarlierWaveNotAppliedError";
|
|
101
101
|
}
|
|
102
102
|
}
|
|
103
|
+
/**
|
|
104
|
+
* Thrown when `FanOutWaveGate.only` names a wave after one that waits at its
|
|
105
|
+
* gate (#4291): nothing in this wave runs until that gate is approved and
|
|
106
|
+
* its job runs again. The CLI exits 3, as the waiting wave's job does.
|
|
107
|
+
*/
|
|
108
|
+
export class EarlierWaveWaitingError extends Error {
|
|
109
|
+
constructor(wave, earlier, gate) {
|
|
110
|
+
super(`wave ${wave} does not run yet: wave ${earlier} waits at its gate ${gate}. Approve it and run wave ${earlier} again, then this wave.`);
|
|
111
|
+
this.wave = wave;
|
|
112
|
+
this.earlier = earlier;
|
|
113
|
+
this.gate = gate;
|
|
114
|
+
this.name = "EarlierWaveWaitingError";
|
|
115
|
+
}
|
|
116
|
+
}
|
|
103
117
|
/**
|
|
104
118
|
* Dispatch a fan-out plan.
|
|
105
119
|
*
|
|
@@ -317,8 +331,16 @@ async function runGatedWaves(plan, active, components, registry, options, waveGa
|
|
|
317
331
|
return { end: "stop" };
|
|
318
332
|
const runnable = wave.filter((name) => left.has(name) && !blockedBy.has(name));
|
|
319
333
|
if (waveGate.only !== undefined && waveNum < waveGate.only) {
|
|
320
|
-
|
|
321
|
-
|
|
334
|
+
// #4291: an earlier member that failed blocks only its dependents; one that waits at its gate stops this wave.
|
|
335
|
+
const failedBefore = new Set(waveGate.failedEarlier ?? []);
|
|
336
|
+
const open = runnable.filter((name) => !failedBefore.has(name));
|
|
337
|
+
const waiting = waveGate.waitingEarlier?.find((w) => w.wave === waveNum && open.some((name) => w.components.includes(name)));
|
|
338
|
+
if (waiting)
|
|
339
|
+
throw new EarlierWaveWaitingError(waveGate.only, waveNum, waiting.gate);
|
|
340
|
+
if (open.length > 0)
|
|
341
|
+
throw new EarlierWaveNotAppliedError(waveGate.only, waveNum, open);
|
|
342
|
+
for (const name of runnable)
|
|
343
|
+
markBlocked(name);
|
|
322
344
|
return { end: "next" };
|
|
323
345
|
}
|
|
324
346
|
if (waveGate.only !== undefined && waveNum > waveGate.only)
|
|
@@ -452,7 +474,9 @@ async function runGatedWaves(plan, active, components, registry, options, waveGa
|
|
|
452
474
|
const blocked = [...blockedBy.entries()]
|
|
453
475
|
.sort(([a], [b]) => a.localeCompare(b))
|
|
454
476
|
.map(([component, by]) => ({ component, reason: "blocked", blockedBy: by }));
|
|
455
|
-
|
|
477
|
+
// #4291: a member of this job's wave that an earlier job's failure blocked fails the job, though the rest of the wave applied.
|
|
478
|
+
const blockedHere = waveGate.only !== undefined && (plan.waves[waveGate.only - 1] ?? []).some((name) => blockedBy.has(name));
|
|
479
|
+
const status = failed.length > 0 || blockedHere ? "fail" : gatedFact ? "gated" : "ok";
|
|
456
480
|
emit?.({ type: "run-settle", status: status === "fail" ? "failed" : status, durationMs: null });
|
|
457
481
|
return {
|
|
458
482
|
// The derivation's waves, not the narrowed re-layering: their numbers name the gates.
|
|
@@ -0,0 +1,298 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* An environment per open pull request (#4298): `ci.prEnvironment` in the
|
|
3
|
+
* workspace declaration names a template environment, and each open pull
|
|
4
|
+
* request gets `pr-<number>`, derived from it.
|
|
5
|
+
*
|
|
6
|
+
* chant components pr-env up --base <ref> --pr <n>
|
|
7
|
+
* From the pull request's job. Plans the components the change reaches
|
|
8
|
+
* into `pr-<n>` and applies them once an approval stands for that plan
|
|
9
|
+
* (`chant approve pr-<n> pr-env --plan <digest>`). The environment
|
|
10
|
+
* takes the template's declared endpoint unless a `pr-*` entry declares
|
|
11
|
+
* its own. Every resource it creates carries the ownership marker
|
|
12
|
+
* `{ stack, env: "pr-<n>" }`, since the build parameter that
|
|
13
|
+
* `ownership.env` reads is set to the environment's name. The record
|
|
14
|
+
* of the apply goes to `_pr-envs/records.jsonl` on chant/lifecycle.
|
|
15
|
+
* chant components pr-env down --pr <n> [--reason closed|expired]
|
|
16
|
+
* From the job a closed pull request starts. Tears down what carries
|
|
17
|
+
* the marker the record names, and nothing else (the ownership check,
|
|
18
|
+
* {@link teardownRefusal} and {@link ownedEntries}).
|
|
19
|
+
* chant components pr-env sweep
|
|
20
|
+
* From a schedule. Tears down each live environment whose TTL passed,
|
|
21
|
+
* or whose pull request the forge says is closed or merged. GitLab
|
|
22
|
+
* starts no pipeline when a merge request closes, so there the sweep is
|
|
23
|
+
* how a closed merge request loses its environment.
|
|
24
|
+
*
|
|
25
|
+
* The settings are read from the declaration at base, never from the pull
|
|
26
|
+
* request, so a change cannot name another template or a longer TTL.
|
|
27
|
+
*
|
|
28
|
+
* A pull request's environment is not a release target (ws-104, ws-105):
|
|
29
|
+
* releases come from green commits, and `components promote` refuses to
|
|
30
|
+
* promote to or from one ({@link releaseTargetRefusal}). Its record says
|
|
31
|
+
* `releaseTarget: false`.
|
|
32
|
+
*
|
|
33
|
+
* terragucci's `ephemeral.ts` gives each copy a suffixed Terraform state key.
|
|
34
|
+
* That part is Terraform's own and stays there; chant keys ownership on the
|
|
35
|
+
* marker its lexicons stamp and read back (`../lifecycle/teardown.ts`).
|
|
36
|
+
*/
|
|
37
|
+
import { type ChantConfig, type EnvironmentDeclaration } from "../config.js";
|
|
38
|
+
import type { OwnershipMarker } from "../ownership.js";
|
|
39
|
+
import { type TeardownPlan, type TeardownPlanEntry, type TeardownReport } from "../lifecycle/teardown.js";
|
|
40
|
+
import type { ObservationLexicon } from "../lexicon.js";
|
|
41
|
+
/** The gate a pull request's environment waits on, under the pull request's op `pr-<n>`. */
|
|
42
|
+
export declare const PR_ENV_GATE = "pr-env";
|
|
43
|
+
/** Where the records live on chant/lifecycle, under the member's ledger prefix. */
|
|
44
|
+
export declare const PR_ENV_LEDGER_DIR = "_pr-envs";
|
|
45
|
+
export declare const PR_ENV_LEDGER_FILE = "records.jsonl";
|
|
46
|
+
/** Where `pr-env` writes its report and note unless `--output` says. */
|
|
47
|
+
export { PR_ENV_REPORT_DIR } from "./pr-pipeline.js";
|
|
48
|
+
/** The file `pr-env up --no-push` writes its record to under `--output`, for `pr-env post` (#4295). */
|
|
49
|
+
export declare const PR_ENV_RECORD_FILE = "pr-env-record.json";
|
|
50
|
+
/** The commit status context the up and down jobs set. */
|
|
51
|
+
export declare const PR_ENV_STATUS_CONTEXT = "chant/pr-env";
|
|
52
|
+
/** The variable a component's build reads the template's name from. */
|
|
53
|
+
export declare const PR_ENV_TEMPLATE_VAR = "CHANT_ENV_TEMPLATE";
|
|
54
|
+
/** Exit codes: done, failed or refused, and waiting on an approval. */
|
|
55
|
+
export declare const PR_ENV_EXIT: {
|
|
56
|
+
readonly done: 0;
|
|
57
|
+
readonly failed: 1;
|
|
58
|
+
readonly waiting: 3;
|
|
59
|
+
};
|
|
60
|
+
/** The environment of pull request `pr`. */
|
|
61
|
+
export declare function prEnvironmentName(pr: number): string;
|
|
62
|
+
/** Whether `name` is a pull request's environment name, `pr-<n>`. */
|
|
63
|
+
export declare function isPrEnvironmentName(name: string): boolean;
|
|
64
|
+
/** The hidden line that marks the environment's note on the pull request. */
|
|
65
|
+
export declare function prEnvNoteMarker(env: string, member?: string): string;
|
|
66
|
+
/** The status context, per member in a workspace. */
|
|
67
|
+
export declare function prEnvStatusContext(member?: string): string;
|
|
68
|
+
/** The approve command for an environment's plan. */
|
|
69
|
+
export declare function prEnvApproveCommand(op: string, digest: string, approver?: string): string;
|
|
70
|
+
/**
|
|
71
|
+
* Why `env` cannot be a release's source or target, or undefined when it
|
|
72
|
+
* can. A pull request's environment never is (ws-104: releases come from
|
|
73
|
+
* green commits).
|
|
74
|
+
*/
|
|
75
|
+
export declare function releaseTargetRefusal(env: string): string | undefined;
|
|
76
|
+
/** A TTL of the form `90m`, `72h` or `7d`, in milliseconds. Undefined for any other form. */
|
|
77
|
+
export declare function ttlMs(ttl: string): number | undefined;
|
|
78
|
+
/** What `pr-env up` derives from the template and the project's config, or why it cannot. */
|
|
79
|
+
export type PrEnvDerivation = {
|
|
80
|
+
env: string;
|
|
81
|
+
template: string;
|
|
82
|
+
stack: string;
|
|
83
|
+
/** The build parameter `ownership.env` reads, set to `env` for the build. */
|
|
84
|
+
param: string;
|
|
85
|
+
/** The config's environments with `env` declared outright, carrying the template's endpoint when it has none of its own. */
|
|
86
|
+
environments: EnvironmentDeclaration[] | undefined;
|
|
87
|
+
/** The endpoint the environment's plans and applies use, if any. */
|
|
88
|
+
endpoint?: string;
|
|
89
|
+
} | {
|
|
90
|
+
refusal: string;
|
|
91
|
+
};
|
|
92
|
+
/**
|
|
93
|
+
* Derive pull request `pr`'s environment from `template` and the project's
|
|
94
|
+
* config. Refused when the resources it creates could not be told apart
|
|
95
|
+
* from the template's: marking is off, or `ownership.env` is a literal (every
|
|
96
|
+
* resource would carry that literal) or unset. Refused too when the config
|
|
97
|
+
* would not take the name, or does not declare the template.
|
|
98
|
+
*/
|
|
99
|
+
export declare function derivePrEnvironment(config: ChantConfig, template: string, pr: number): PrEnvDerivation;
|
|
100
|
+
/** One line of `_pr-envs/records.jsonl`: an apply, or a teardown. */
|
|
101
|
+
export interface PrEnvRecord {
|
|
102
|
+
version: 1;
|
|
103
|
+
kind: "up" | "down";
|
|
104
|
+
pr: number;
|
|
105
|
+
/** `pr-<n>`. */
|
|
106
|
+
env: string;
|
|
107
|
+
/** The workspace member whose environment it is, when in one. */
|
|
108
|
+
member?: string;
|
|
109
|
+
/** The template environment it was derived from. */
|
|
110
|
+
template: string;
|
|
111
|
+
/** The marker every resource of the environment carries. What teardown selects on. */
|
|
112
|
+
marker: {
|
|
113
|
+
stack: string;
|
|
114
|
+
env: string;
|
|
115
|
+
};
|
|
116
|
+
/** The commit applied, or the commit the teardown ran at. */
|
|
117
|
+
commit: string;
|
|
118
|
+
/** The components applied (up) or the lexicons torn down (down). */
|
|
119
|
+
components: string[];
|
|
120
|
+
/** The change-set digest applied; empty for a teardown. */
|
|
121
|
+
planDigest: string;
|
|
122
|
+
/** `incomplete`: a teardown that left something, so the environment stays live and the sweep tries again. */
|
|
123
|
+
result: "applied" | "failed" | "destroyed" | "incomplete";
|
|
124
|
+
by: string;
|
|
125
|
+
timestamp: string;
|
|
126
|
+
/** Up: when the sweep tears it down unless another apply comes first. */
|
|
127
|
+
expiresAt?: string;
|
|
128
|
+
approvedBy?: string[];
|
|
129
|
+
/** Down: why. */
|
|
130
|
+
reason?: "closed" | "expired";
|
|
131
|
+
/** Down: the teardown's outcome counts. */
|
|
132
|
+
outcomes?: {
|
|
133
|
+
deleted: number;
|
|
134
|
+
failed: number;
|
|
135
|
+
retained: number;
|
|
136
|
+
notPrunable: number;
|
|
137
|
+
skipped: number;
|
|
138
|
+
holes: number;
|
|
139
|
+
};
|
|
140
|
+
/** Always false: a pull request's environment is never a release target. */
|
|
141
|
+
releaseTarget: false;
|
|
142
|
+
runUrl?: string;
|
|
143
|
+
}
|
|
144
|
+
/** The records of a records.jsonl text, oldest first. Malformed lines are skipped. */
|
|
145
|
+
export declare function parsePrEnvRecords(text: string | null | undefined): PrEnvRecord[];
|
|
146
|
+
/** A pull request's environment as its records say it stands. */
|
|
147
|
+
export interface LivePrEnvironment {
|
|
148
|
+
pr: number;
|
|
149
|
+
env: string;
|
|
150
|
+
member?: string;
|
|
151
|
+
template: string;
|
|
152
|
+
marker: {
|
|
153
|
+
stack: string;
|
|
154
|
+
env: string;
|
|
155
|
+
};
|
|
156
|
+
/** The commit last applied. */
|
|
157
|
+
commit: string;
|
|
158
|
+
/** Every component an apply of it ever touched. */
|
|
159
|
+
components: string[];
|
|
160
|
+
applied: string;
|
|
161
|
+
expiresAt: string;
|
|
162
|
+
/** Its last teardown left something, so the sweep tries again. */
|
|
163
|
+
teardownIncomplete?: boolean;
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* The environments that stand, by name, from the records in order: an up
|
|
167
|
+
* (applied or failed part way) makes or refreshes one, a down that
|
|
168
|
+
* destroyed everything ends it, and any other down leaves it live.
|
|
169
|
+
*/
|
|
170
|
+
export declare function livePrEnvironments(records: readonly PrEnvRecord[]): Map<string, LivePrEnvironment>;
|
|
171
|
+
/** Whether a live environment's TTL passed at `now`. */
|
|
172
|
+
export declare function expired(env: Pick<LivePrEnvironment, "expiresAt">, now: Date): boolean;
|
|
173
|
+
/**
|
|
174
|
+
* Why pull request `pr`'s environment must not be torn down as `live`
|
|
175
|
+
* says, or undefined when it may. The record must name `pr-<n>` for this
|
|
176
|
+
* pull request, its marker's env must be that name, and the config must not
|
|
177
|
+
* declare the name outright (a declared environment belongs to the project,
|
|
178
|
+
* not to a pull request).
|
|
179
|
+
*/
|
|
180
|
+
export declare function teardownRefusal(pr: number, live: LivePrEnvironment, declared: EnvironmentDeclaration[] | undefined): string | undefined;
|
|
181
|
+
/**
|
|
182
|
+
* The entries of a teardown plan the environment owns: those whose marker
|
|
183
|
+
* is exactly `marker`. `planTeardown` already selects on the marker; this
|
|
184
|
+
* is the second check, so a lexicon that returned another's resources cannot
|
|
185
|
+
* widen what pr-env down deletes. `dropped` counts what was left out.
|
|
186
|
+
*/
|
|
187
|
+
export declare function ownedEntries(plan: TeardownPlan, marker: OwnershipMarker): {
|
|
188
|
+
plan: TeardownPlan;
|
|
189
|
+
dropped: TeardownPlanEntry[];
|
|
190
|
+
};
|
|
191
|
+
/** What {@link tearDownPrEnvironment} needs. */
|
|
192
|
+
export interface PrEnvTeardownInput {
|
|
193
|
+
pr: number;
|
|
194
|
+
live: LivePrEnvironment;
|
|
195
|
+
config: ChantConfig;
|
|
196
|
+
plugins: ObservationLexicon[];
|
|
197
|
+
warn?: (message: string) => void;
|
|
198
|
+
}
|
|
199
|
+
/**
|
|
200
|
+
* Tear down pull request `pr`'s environment with the ownership check: refused
|
|
201
|
+
* before any read when {@link teardownRefusal} says so; otherwise the live
|
|
202
|
+
* resources under the record's marker are planned, every entry whose marker
|
|
203
|
+
* is not exactly `{ stack, env: "pr-<n>" }` is dropped ({@link ownedEntries}),
|
|
204
|
+
* and only the rest go to each lexicon's teardown. The endpoint is the one
|
|
205
|
+
* the environment was applied at: its own `pr-*` entry's, else the template's.
|
|
206
|
+
*/
|
|
207
|
+
export declare function tearDownPrEnvironment(input: PrEnvTeardownInput): Promise<{
|
|
208
|
+
refusal: string;
|
|
209
|
+
} | {
|
|
210
|
+
report: TeardownReport;
|
|
211
|
+
dropped: number;
|
|
212
|
+
marker: {
|
|
213
|
+
stack: string;
|
|
214
|
+
env: string;
|
|
215
|
+
};
|
|
216
|
+
}>;
|
|
217
|
+
/** A teardown report's counts for the record. */
|
|
218
|
+
export declare function teardownCounts(report: TeardownReport): NonNullable<PrEnvRecord["outcomes"]>;
|
|
219
|
+
/**
|
|
220
|
+
* Whether a teardown left the environment clean: nothing failed, nothing was
|
|
221
|
+
* skipped for a lexicon with no teardown execution, and the plan had no
|
|
222
|
+
* holes. A retained resource (a lexicon's deliberate keep) does not count
|
|
223
|
+
* against it.
|
|
224
|
+
*/
|
|
225
|
+
export declare function teardownComplete(report: TeardownReport): boolean;
|
|
226
|
+
/** What {@link acceptHandedRecord} checks a handed-on record against: the job's own values and the settings at its commit. */
|
|
227
|
+
export interface HandedRecordCheck {
|
|
228
|
+
pr: number;
|
|
229
|
+
member?: string;
|
|
230
|
+
/** The commit the up job checked out, from the forge, not from the record. */
|
|
231
|
+
head: string;
|
|
232
|
+
/** `ci.prEnvironment` at the commit the post job runs at. */
|
|
233
|
+
template: string;
|
|
234
|
+
ttlMs: number;
|
|
235
|
+
now: Date;
|
|
236
|
+
by: string;
|
|
237
|
+
runUrl?: string;
|
|
238
|
+
}
|
|
239
|
+
/**
|
|
240
|
+
* The record `pr-env up --no-push` handed on, checked as data: the up job ran
|
|
241
|
+
* the change's code, so what it wrote is the change's. It must be an `up`
|
|
242
|
+
* line for this pull request's `pr-<n>`, with that marker env, the template
|
|
243
|
+
* the base declares, and string components. The commit, the actor, the run
|
|
244
|
+
* and the expiry are the post job's own, so a change cannot keep its
|
|
245
|
+
* environment past the TTL its base set. Refused otherwise, and kept nowhere.
|
|
246
|
+
*/
|
|
247
|
+
export declare function acceptHandedRecord(raw: unknown, check: HandedRecordCheck): {
|
|
248
|
+
record: PrEnvRecord;
|
|
249
|
+
} | {
|
|
250
|
+
refusal: string;
|
|
251
|
+
};
|
|
252
|
+
/**
|
|
253
|
+
* The report `pr-env up` handed on, checked as data before the post job
|
|
254
|
+
* renders a note from it: an `up` report for this pull request's `pr-<n>`.
|
|
255
|
+
* Its head is the post job's own.
|
|
256
|
+
*/
|
|
257
|
+
export declare function handedPrEnvReport(raw: unknown, check: {
|
|
258
|
+
pr: number;
|
|
259
|
+
head: string;
|
|
260
|
+
member?: string;
|
|
261
|
+
}): {
|
|
262
|
+
report: PrEnvReport;
|
|
263
|
+
} | {
|
|
264
|
+
refusal: string;
|
|
265
|
+
};
|
|
266
|
+
/** What one `pr-env up` or `down` run came to, as `pr-env.json` holds it. */
|
|
267
|
+
export interface PrEnvReport {
|
|
268
|
+
stage: "up" | "down";
|
|
269
|
+
pr: number;
|
|
270
|
+
env: string;
|
|
271
|
+
member?: string;
|
|
272
|
+
template: string;
|
|
273
|
+
head: string;
|
|
274
|
+
op: string;
|
|
275
|
+
gate: string;
|
|
276
|
+
digest: string;
|
|
277
|
+
status: "applied" | "nothing" | "waiting" | "changed" | "plan-failed" | "failed" | "refused" | "destroyed" | "incomplete" | "absent";
|
|
278
|
+
message?: string;
|
|
279
|
+
endpoint?: string;
|
|
280
|
+
components: Array<{
|
|
281
|
+
component: string;
|
|
282
|
+
status: string;
|
|
283
|
+
create: number;
|
|
284
|
+
update: number;
|
|
285
|
+
replace: number;
|
|
286
|
+
delete: number;
|
|
287
|
+
}>;
|
|
288
|
+
approvedBy?: string[];
|
|
289
|
+
expiresAt?: string;
|
|
290
|
+
outcomes?: PrEnvRecord["outcomes"];
|
|
291
|
+
}
|
|
292
|
+
/** The environment's note on the pull request: one per environment, updated in place. */
|
|
293
|
+
export declare function renderPrEnvNote(r: PrEnvReport, approver?: string): string;
|
|
294
|
+
/** The commit status a report sets: success, failure, or pending while it waits on an approval. */
|
|
295
|
+
export declare function prEnvStatusState(r: Pick<PrEnvReport, "status">): "success" | "failure" | "pending";
|
|
296
|
+
/** A commit status description, at most 140 characters. */
|
|
297
|
+
export declare function prEnvStatusDescription(r: PrEnvReport): string;
|
|
298
|
+
//# sourceMappingURL=pr-environment.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pr-environment.d.ts","sourceRoot":"","sources":["../../src/components/pr-environment.ts"],"names":[],"mappings":"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"}
|