@catladder/cli 0.0.0-next-78f04d3f → 0.0.0-next-ddc387fe

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.
Files changed (46) hide show
  1. package/dist/apps/cli/src/release/changesetsReleaseJob.js +4 -0
  2. package/dist/apps/cli/src/release/changesetsReleaseJob.js.map +1 -1
  3. package/dist/apps/cli/src/release/githubQueuedRelease.js +22 -3
  4. package/dist/apps/cli/src/release/githubQueuedRelease.js.map +1 -1
  5. package/dist/apps/cli/src/release/stepSummary.d.ts +6 -0
  6. package/dist/apps/cli/src/release/stepSummary.js +32 -0
  7. package/dist/apps/cli/src/release/stepSummary.js.map +1 -0
  8. package/dist/bundles/catci/index.js +3 -3
  9. package/dist/bundles/catenv/index.js +284 -149
  10. package/dist/bundles/cli/index.js +284 -149
  11. package/dist/bundles/skills/catladder-deploys/references/deploy-types.md +1 -1
  12. package/dist/bundles/skills/catladder-pipelines/SKILL.md +8 -1
  13. package/dist/bundles/skills/catladder-releases/SKILL.md +17 -10
  14. package/dist/packages/bash/src/variables/VariableValueContainingReferences.d.ts +6 -0
  15. package/dist/packages/bash/src/variables/VariableValueContainingReferences.js +8 -0
  16. package/dist/packages/bash/src/variables/VariableValueContainingReferences.js.map +1 -1
  17. package/dist/packages/bash/src/variables/resolveAllReferences.d.ts +1 -2
  18. package/dist/packages/bash/src/variables/resolveAllReferences.js +4 -2
  19. package/dist/packages/bash/src/variables/resolveAllReferences.js.map +1 -1
  20. package/dist/packages/bash/src/variables/resolveAllReferencesOnce.d.ts +1 -4
  21. package/dist/packages/bash/src/variables/resolveAllReferencesOnce.js +4 -2
  22. package/dist/packages/bash/src/variables/resolveAllReferencesOnce.js.map +1 -1
  23. package/dist/packages/pipeline/src/backends/github/GithubBackend.js +93 -72
  24. package/dist/packages/pipeline/src/backends/github/GithubBackend.js.map +1 -1
  25. package/dist/packages/pipeline/src/backends/github/ensureImageJobs.d.ts +12 -0
  26. package/dist/packages/pipeline/src/backends/github/ensureImageJobs.js +40 -0
  27. package/dist/packages/pipeline/src/backends/github/ensureImageJobs.js.map +1 -0
  28. package/dist/packages/pipeline/src/backends/github/githubReleaseJobs.d.ts +17 -14
  29. package/dist/packages/pipeline/src/backends/github/githubReleaseJobs.js +76 -37
  30. package/dist/packages/pipeline/src/backends/github/githubReleaseJobs.js.map +1 -1
  31. package/dist/packages/pipeline/src/context/getEnvironmentVariables.js +17 -9
  32. package/dist/packages/pipeline/src/context/getEnvironmentVariables.js.map +1 -1
  33. package/dist/packages/pipeline/src/deploy/cloudRun/index.js +2 -2
  34. package/dist/packages/pipeline/src/deploy/cloudRun/index.js.map +1 -1
  35. package/dist/packages/pipeline/src/deploy/cloudRun/utils/database.d.ts +7 -9
  36. package/dist/packages/pipeline/src/deploy/cloudRun/utils/database.js +32 -24
  37. package/dist/packages/pipeline/src/deploy/cloudRun/utils/database.js.map +1 -1
  38. package/dist/packages/pipeline/src/deploy/index.d.ts +2 -2
  39. package/dist/skills/catladder-deploys/references/deploy-types.md +1 -1
  40. package/dist/skills/catladder-pipelines/SKILL.md +8 -1
  41. package/dist/skills/catladder-releases/SKILL.md +17 -10
  42. package/dist/tsconfig.tsbuildinfo +1 -1
  43. package/package.json +1 -1
  44. package/src/release/changesetsReleaseJob.ts +6 -0
  45. package/src/release/githubQueuedRelease.ts +37 -3
  46. package/src/release/stepSummary.ts +27 -0
@@ -43,7 +43,7 @@ resources with `yarn catladder project setup`; detect drift with
43
43
  - `additionalServices?: Record<string, service | false | null>`.
44
44
  - `jobs?: Record<string, DeployConfigCloudRunJob | false | null>` — `{ command, args?, image?, cpu?, memory? (512Mi), timeout? (10min), parallelism? (1), maxRetries? (0) }`. The per-job `when`/`schedule`/`waitForCompletion` fields are **deprecated** — use `execute`.
45
45
  - `workerPools?: Record<string, DeployConfigCloudRunWorkerPool | false | null>` — always-on background work, no endpoint, no autoscaling: `{ command, instances? (1), cpu?, memory?, image?, args?, gpu?/gpuType? }`.
46
- - `cloudSql?: DeployConfigCloudRunCloudSql | false` — `{ type: "unmanaged", instanceConnectionName, dbUser?, dbNamePrefix?, dbBaseName?, deleteDatabaseOnStop?, dbConnectionStringFormat? ("prisma" default | "rails" | "jdbc"), dbConnectionStringVariablesMode? ("environment" default | "embedded"), dbAdditionalQueryParams? }`.
46
+ - `cloudSql?: DeployConfigCloudRunCloudSql | false` — `{ type: "unmanaged", instanceConnectionName, dbUser?, dbNamePrefix?, dbBaseName?, deleteDatabaseOnStop?, dbConnectionStringFormat? ("prisma" default | "rails" | "jdbc"), dbConnectionStringVariablesMode? ("embedded" default | "legacy"), dbAdditionalQueryParams? }`. Injects `DB_*` vars plus `DATABASE_URL`/`DATABASE_JDBC_URL`; in the default `"embedded"` mode the connection strings contain the component's final values (referenceable from other components, `vars.public` overrides of `DB_*` flow in). To share another component's database: `dbBaseName: "<owner>"` + `DB_PASSWORD: "${<owner>:DB_PASSWORD}"` in `vars.public`.
47
47
  - `execute?: Record<string, DeployConfigCloudRunExecute | null>` — run a script / job / HTTP call at a lifecycle point (`when`: `preDeploy` | `postDeploy` | `preStop` | `postStop`) or on a `schedule`.
48
48
  - `debug?: boolean`.
49
49
 
@@ -22,7 +22,14 @@ Generated layout:
22
22
  - **GitLab**: `.gitlab-ci.yml` includes generated files from
23
23
  `.catladder-generated/gitlab/` (one per trigger).
24
24
  - **GitHub**: workflows in `.github/workflows/` (generated ones carry a
25
- "generated by catladder" header; others are unmanaged).
25
+ "generated by catladder" header; others are unmanaged). Manual
26
+ actions are per-kind `workflow_dispatch` workflows, visually grouped
27
+ by their emoji prefix in the Actions sidebar: `🚀 catladder create
28
+ release`, `▶️ catladder deploy` (manual-gated deploys), `⏹️ catladder
29
+ stop`, `↩️ catladder rollback` — when all of a kind's tasks target one
30
+ env the name carries it (e.g. `▶️ catladder deploy prod`); otherwise
31
+ pick the task from the workflow's dropdown (gitlab runs these as manual jobs inside the pipeline
32
+ instead).
26
33
 
27
34
  Stages: setup → test → build → deploy → verify (post-deploy checks),
28
35
  plus stop jobs for review-app teardown.
@@ -30,19 +30,25 @@ are generated, never hand-edited.
30
30
  - On GitLab the button is a quick no-op job; the actual release runs
31
31
  in the automatic `🚀 release once pipeline succeeds` job (skipped
32
32
  when the button was never clicked — never run it by hand).
33
- - On GitHub the `create-release` dispatch task releases immediately
33
+ - On GitHub, releasing is the **`🚀 catladder create release`**
34
+ workflow (Actions sidebar → Run workflow): it releases immediately
34
35
  when the main workflow for HEAD is green, queues the release when
35
- it is still running (the `catladder release on green` workflow then
36
+ it is still running (the `🛠️ catladder release on green` workflow then
36
37
  picks it up on completion), and fails when the run concluded red.
37
38
  - **`auto`** — the release job runs automatically on every main-branch
38
39
  pipeline (it still no-ops when there is nothing to release).
39
40
 
40
- There is always also a manual **`⚠️ force create release`** job as an
41
- escape hatch: it releases **immediately**, ignoring the state of the
42
- pipeline. With `method: "changesets"` it has an extra meaning: it
43
- releases **even when no changesets are pending** (patch bump with a
44
- generic changelog entry) — the recovery path when a change was merged
45
- without a changeset and must ship now.
41
+ There is always also a **force release** escape hatch that releases
42
+ **immediately**, ignoring the state of the pipeline: on GitLab the
43
+ manual `⚠️ force create release` job, on GitHub the *force* checkbox of
44
+ the `🚀 catladder create release` workflow. With `method: "changesets"`
45
+ forcing has an extra meaning: it releases **even when no changesets are
46
+ pending** (patch bump with a generic changelog entry) — the recovery
47
+ path when a change was merged without a changeset and must ship now.
48
+
49
+ On GitHub, other manual tasks are split into per-kind dispatch
50
+ workflows the same way (`▶️ catladder deploy`, `⏹️ catladder stop`,
51
+ `↩️ catladder rollback`), each with a dropdown of its tasks.
46
52
 
47
53
  ## `method` — how the version is decided
48
54
 
@@ -108,8 +114,9 @@ the `security` commands in the `catladder-cli` reference.
108
114
 
109
115
  - Fails immediately on the audit → handle the security-audit gate above.
110
116
  - `changesets` released nothing → no `.changeset/*.md` files were
111
- pending. To ship anyway, run `⚠️ force create release` (patch bump),
112
- or merge an MR adding a changeset describing the accumulated work.
117
+ pending. To ship anyway, force the release (patch bump) — gitlab:
118
+ `⚠️ force create release` job, github: force checkbox — or merge an
119
+ MR adding a changeset describing the accumulated work.
113
120
  - Wrong version bump → check commit types (semantic-release) or the bump
114
121
  levels in the changeset files (changesets).
115
122
  - Inspect the job with `yarn catladder project ci job-log` (see the
@@ -16,6 +16,12 @@ type MaybeArray<T> = T | T[];
16
16
  export declare class VariableValueContainingReferences {
17
17
  parts: VariableValuePart[];
18
18
  constructor(parts: MaybeArray<VariableValuePart | VariableValueContainingReferences>);
19
+ /**
20
+ * concats values to this one and returns a new VariableValueContainingReferences.
21
+ * mirrors String.prototype.concat / BashExpression.concat so a VariableValue
22
+ * can be extended regardless of its concrete type
23
+ */
24
+ concat(...values: Array<VariableValuePart | VariableValueContainingReferences>): VariableValueContainingReferences;
19
25
  toString(options?: EscapeOptions): string;
20
26
  }
21
27
  export declare const createVariableValueContainingReferencesFromString: (value: string, options: {
@@ -30,6 +30,14 @@ class VariableValueContainingReferences {
30
30
  ? []
31
31
  : [part]);
32
32
  }
33
+ /**
34
+ * concats values to this one and returns a new VariableValueContainingReferences.
35
+ * mirrors String.prototype.concat / BashExpression.concat so a VariableValue
36
+ * can be extended regardless of its concrete type
37
+ */
38
+ concat(...values) {
39
+ return new VariableValueContainingReferences([...this.parts, ...values]);
40
+ }
33
41
  toString(options = {
34
42
  quotes: false,
35
43
  }) {
@@ -1 +1 @@
1
- {"version":3,"file":"VariableValueContainingReferences.js","sourceRoot":"","sources":["../../../../../../../packages/bash/src/variables/VariableValueContainingReferences.ts"],"names":[],"mappings":";;;AAAA,sDAAmD;AAEnD,8CAAmE;AAEnE,MAAa,qBAAqB;IAChC,YAAmB,SAA4B;QAA5B,cAAS,GAAT,SAAS,CAAmB;IAAG,CAAC;IAC5C,QAAQ;QACb,OAAO,2BAA2B,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,CAAC;IAChE,CAAC;CACF;AALD,sDAKC;AACD,MAAa,iBAAiB;IAI5B,YAAY,aAAqB,EAAE,YAAoB;QACrD,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACnC,CAAC;IAEM,QAAQ;QACb,OAAO,MAAM,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,YAAY,GAAG,CAAC;IAC1D,CAAC;CACF;AAZD,8CAYC;AASD,MAAa,iCAAiC;IAE5C,YACE,KAAwE;QAExE,IAAI,CAAC,KAAK,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CACrE,IAAI,YAAY,iCAAiC;YAC/C,CAAC,CAAC,IAAI,CAAC,KAAK;YACZ,CAAC,CAAC,IAAI,KAAK,EAAE;gBACX,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,CAAC,IAAI,CAAC,CACb,CAAC;IACJ,CAAC;IAEM,QAAQ,CACb,UAAyB;QACvB,MAAM,EAAE,KAAK;KACd;QAED,OAAO,IAAI,CAAC,KAAK;aACd,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACZ,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC7B,OAAO,IAAA,yBAAY,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACrC,CAAC;iBAAM,IAAI,IAAI,YAAY,+BAAc,EAAE,CAAC;gBAC1C,OAAO,IAAA,iCAAoB,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC7C,CAAC;iBAAM,CAAC;gBACN,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;YACzB,CAAC;QACH,CAAC,CAAC;aACD,IAAI,CAAC,EAAE,CAAC,CAAC;IACd,CAAC;CACF;AA/BD,8EA+BC;AAED,qDAAqD;AACrD,mEAAmE;AACnE,MAAM,KAAK,GAAG,4BAA4B,CAAC;AACpC,MAAM,iDAAiD,GAAG,CAC/D,KAAa,EACb,OAAkC,EAClC,EAAE;IACF,MAAM,KAAK,GAA6B,EAAE,CAAC;IAC3C,IAAI,KAAU,CAAC;IACf,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAC5C,MAAM,CAAC,SAAS,EAAE,CAAC,EAAE,kBAAkB,EAAE,YAAY,CAAC,GAAG,KAAK,CAAC;QAE/D,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;QAChD,KAAK,CAAC,IAAI,CACR,IAAI,iBAAiB,CACnB,kBAAkB,IAAI,OAAO,CAAC,aAAa,EAC3C,YAAY,CACb,CACF,CAAC;QACF,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;IAC9B,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;IACnC,OAAO,IAAI,iCAAiC,CAAC,KAAK,CAAC,CAAC;AACtD,CAAC,CAAC;AArBW,QAAA,iDAAiD,qDAqB5D"}
1
+ {"version":3,"file":"VariableValueContainingReferences.js","sourceRoot":"","sources":["../../../../../../../packages/bash/src/variables/VariableValueContainingReferences.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,2 @@
1
1
  import type { VariableValue } from "./VariableValue";
2
- import type { VariableValueContainingReferences } from "./VariableValueContainingReferences";
3
- export declare const resolveAllReferences: (values: Record<string, VariableValueContainingReferences>, getEnvVars: (componentName: string) => Promise<Record<string, VariableValue | null | undefined>>) => Promise<Record<string, VariableValueContainingReferences>>;
2
+ export declare const resolveAllReferences: <T extends Record<string, VariableValue>>(values: T, getEnvVars: (componentName: string) => Promise<Record<string, VariableValue | null | undefined>>) => Promise<T>;
@@ -3,16 +3,18 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.resolveAllReferences = void 0;
4
4
  const VariableValueContainingReferences_1 = require("./VariableValueContainingReferences");
5
5
  const resolveAllReferencesOnce_1 = require("./resolveAllReferencesOnce");
6
+ const hasUnresolvedReferences = (value) => value instanceof VariableValueContainingReferences_1.VariableValueContainingReferences &&
7
+ value.parts.some((part) => part instanceof VariableValueContainingReferences_1.VariableReference);
6
8
  const resolveAllReferences = async (values, getEnvVars) => {
7
9
  // replace until there aren't any references left
8
10
  let result = values;
9
11
  let i = 0;
10
- while (Object.values(result).some((value) => value.parts.some((part) => part instanceof VariableValueContainingReferences_1.VariableReference))) {
12
+ while (Object.values(result).some(hasUnresolvedReferences)) {
11
13
  const replaced = await (0, resolveAllReferencesOnce_1.resolveAllReferencesOnce)(result, getEnvVars);
12
14
  result = replaced;
13
15
  i++;
14
16
  if (i > 1000) {
15
- const unresolved = Object.entries(result).filter(([key, value]) => value.parts.some((part) => part instanceof VariableValueContainingReferences_1.VariableReference));
17
+ const unresolved = Object.entries(result).filter(([key, value]) => hasUnresolvedReferences(value));
16
18
  throw new Error("Infinite loop detected in these variables: " +
17
19
  unresolved
18
20
  .map(([key, value]) => `${key} (last reference: ${value.parts.find((part) => part instanceof VariableValueContainingReferences_1.VariableReference)})`)
@@ -1 +1 @@
1
- {"version":3,"file":"resolveAllReferences.js","sourceRoot":"","sources":["../../../../../../../packages/bash/src/variables/resolveAllReferences.ts"],"names":[],"mappings":";;;AAEA,2FAAwE;AACxE,yEAAkG;AAE3F,MAAM,oBAAoB,GAAG,KAAK,EACvC,MAAyD,EACzD,UAE8D,EAC9D,EAAE;IACF,iDAAiD;IACjD,IAAI,MAAM,GAAG,MAAM,CAAC;IAEpB,IAAI,CAAC,GAAG,CAAC,CAAC;IAEV,OACE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CACnC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,YAAY,qDAAiB,CAAC,CAC9D,EACD,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,IAAA,mDAAwB,EAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAEpE,MAAM,GAAG,QAAQ,CAAC;QAClB,CAAC,EAAE,CAAC;QACJ,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC;YACb,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAChE,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,YAAY,qDAAiB,CAAC,CAC9D,CAAC;YAEF,MAAM,IAAI,KAAK,CACb,6CAA6C;gBAC3C,UAAU;qBACP,GAAG,CACF,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CACf,GAAG,GAAG,qBAAqB,KAAK,CAAC,KAAK,CAAC,IAAI,CACzC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,YAAY,qDAAiB,CAC5C,GAAG,CACP;qBACA,IAAI,CAAC,IAAI,CAAC,CAChB,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAxCW,QAAA,oBAAoB,wBAwC/B"}
1
+ {"version":3,"file":"resolveAllReferences.js","sourceRoot":"","sources":["../../../../../../../packages/bash/src/variables/resolveAllReferences.ts"],"names":[],"mappings":";;;AACA,2FAG6C;AAC7C,yEAAkG;AAElG,MAAM,uBAAuB,GAAG,CAAC,KAAuC,EAAE,EAAE,CAC1E,KAAK,YAAY,qEAAiC;IAClD,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,YAAY,qDAAiB,CAAC,CAAC;AAEzD,MAAM,oBAAoB,GAAG,KAAK,EAGvC,MAAS,EACT,UAE8D,EAClD,EAAE;IACd,iDAAiD;IACjD,IAAI,MAAM,GAAG,MAAM,CAAC;IAEpB,IAAI,CAAC,GAAG,CAAC,CAAC;IAEV,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,EAAE,CAAC;QAC3D,MAAM,QAAQ,GAAG,MAAM,IAAA,mDAAwB,EAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAEpE,MAAM,GAAG,QAAQ,CAAC;QAClB,CAAC,EAAE,CAAC;QACJ,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC;YACb,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAChE,uBAAuB,CAAC,KAAK,CAAC,CAC/B,CAAC;YAEF,MAAM,IAAI,KAAK,CACb,6CAA6C;gBAC3C,UAAU;qBACP,GAAG,CACF,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CACf,GAAG,GAAG,qBACJ,KACD,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,YAAY,qDAAiB,CAAC,GAAG,CAC/D;qBACA,IAAI,CAAC,IAAI,CAAC,CAChB,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAtCW,QAAA,oBAAoB,wBAsC/B"}
@@ -1,5 +1,2 @@
1
1
  import type { VariableValue } from "./VariableValue";
2
- import type { VariableValueContainingReferences } from "./VariableValueContainingReferences";
3
- export declare const resolveAllReferencesOnce: (values: Record<string, VariableValueContainingReferences>, getEnvVars: (componentName: string) => Promise<Record<string, VariableValue | undefined | null>>) => Promise<{
4
- [k: string]: VariableValueContainingReferences;
5
- }>;
2
+ export declare const resolveAllReferencesOnce: <T extends Record<string, VariableValue>>(values: T, getEnvVars: (componentName: string) => Promise<Record<string, VariableValue | undefined | null>>) => Promise<T>;
@@ -4,7 +4,9 @@ exports.resolveAllReferencesOnce = void 0;
4
4
  const VariableValueContainingReferences_1 = require("./VariableValueContainingReferences");
5
5
  const resolveReferencesOnce_1 = require("./resolveReferencesOnce");
6
6
  const resolveAllReferencesOnce = async (values, getEnvVars) => {
7
- const allReferences = Object.values(values).flatMap((value) => value === null || value === void 0 ? void 0 : value.parts.filter((part) => part instanceof VariableValueContainingReferences_1.VariableReference));
7
+ const allReferences = Object.values(values).flatMap((value) => value instanceof VariableValueContainingReferences_1.VariableValueContainingReferences
8
+ ? value.parts.filter((part) => part instanceof VariableValueContainingReferences_1.VariableReference)
9
+ : []);
8
10
  const allComponentsUnique = Array.from(new Set(allReferences.map((reference) => reference.componentName)));
9
11
  const allEnvVarsInComponents = Object.fromEntries(await Promise.all(allComponentsUnique.map(async (componentName) => [
10
12
  componentName,
@@ -12,7 +14,7 @@ const resolveAllReferencesOnce = async (values, getEnvVars) => {
12
14
  ])));
13
15
  return Object.fromEntries(Object.entries(values).map(([key, value]) => [
14
16
  key,
15
- value !== null && value !== undefined
17
+ value instanceof VariableValueContainingReferences_1.VariableValueContainingReferences
16
18
  ? (0, resolveReferencesOnce_1.resolveReferencesOnce)(value, ({ componentName, variableName }) => {
17
19
  return allEnvVarsInComponents[componentName][variableName];
18
20
  })
@@ -1 +1 @@
1
- {"version":3,"file":"resolveAllReferencesOnce.js","sourceRoot":"","sources":["../../../../../../../packages/bash/src/variables/resolveAllReferencesOnce.ts"],"names":[],"mappings":";;;AAEA,2FAAwE;AACxE,mEAAgE;AAEzD,MAAM,wBAAwB,GAAG,KAAK,EAC3C,MAAyD,EACzD,UAE8D,EAC9D,EAAE;IACF,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CACjD,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK,CAAC,MAAM,CACjB,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,YAAY,qDAAiB,CACrB,CAC3B,CAAC;IAEF,MAAM,mBAAmB,GAAG,KAAK,CAAC,IAAI,CACpC,IAAI,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CACnE,CAAC;IAEF,MAAM,sBAAsB,GAAG,MAAM,CAAC,WAAW,CAC/C,MAAM,OAAO,CAAC,GAAG,CACf,mBAAmB,CAAC,GAAG,CAAC,KAAK,EAAE,aAAa,EAAE,EAAE,CAAC;QAC/C,aAAa;QACb,MAAM,UAAU,CAAC,aAAa,CAAC;KAChC,CAEA,CACF,CACF,CAAC;IAEF,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC;QAC3C,GAAG;QACH,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;YACnC,CAAC,CAAC,IAAA,6CAAqB,EAAC,KAAK,EAAE,CAAC,EAAE,aAAa,EAAE,YAAY,EAAE,EAAE,EAAE;gBAC/D,OAAO,sBAAsB,CAAC,aAAa,CAAC,CAAC,YAAY,CAAC,CAAC;YAC7D,CAAC,CAAC;YACJ,CAAC,CAAC,KAAK;KACV,CAAC,CACH,CAAC;AACJ,CAAC,CAAC;AAtCW,QAAA,wBAAwB,4BAsCnC"}
1
+ {"version":3,"file":"resolveAllReferencesOnce.js","sourceRoot":"","sources":["../../../../../../../packages/bash/src/variables/resolveAllReferencesOnce.ts"],"names":[],"mappings":";;;AACA,2FAG6C;AAC7C,mEAAgE;AAEzD,MAAM,wBAAwB,GAAG,KAAK,EAG3C,MAAS,EACT,UAE8D,EAClD,EAAE;IACd,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAC5D,KAAK,YAAY,qEAAiC;QAChD,CAAC,CAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CACjB,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,YAAY,qDAAiB,CACpB;QAC3B,CAAC,CAAC,EAAE,CACP,CAAC;IAEF,MAAM,mBAAmB,GAAG,KAAK,CAAC,IAAI,CACpC,IAAI,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CACnE,CAAC;IAEF,MAAM,sBAAsB,GAAG,MAAM,CAAC,WAAW,CAC/C,MAAM,OAAO,CAAC,GAAG,CACf,mBAAmB,CAAC,GAAG,CAAC,KAAK,EAAE,aAAa,EAAE,EAAE,CAAC;QAC/C,aAAa;QACb,MAAM,UAAU,CAAC,aAAa,CAAC;KAChC,CAEA,CACF,CACF,CAAC;IAEF,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC;QAC3C,GAAG;QACH,KAAK,YAAY,qEAAiC;YAChD,CAAC,CAAC,IAAA,6CAAqB,EAAC,KAAK,EAAE,CAAC,EAAE,aAAa,EAAE,YAAY,EAAE,EAAE,EAAE;gBAC/D,OAAO,sBAAsB,CAAC,aAAa,CAAC,CAAC,YAAY,CAAC,CAAC;YAC7D,CAAC,CAAC;YACJ,CAAC,CAAC,KAAK;KACV,CAAC,CACE,CAAC;AACT,CAAC,CAAC;AAzCW,QAAA,wBAAwB,4BAyCnC"}
@@ -9,9 +9,8 @@ const ciVariables_1 = require("./ciVariables");
9
9
  const index_1 = require("../index");
10
10
  const createGithubJobs_1 = require("./createGithubJobs");
11
11
  const jobImagesPlan_1 = require("../../customImages/jobImagesPlan");
12
- const scriptFunctions_1 = require("./scriptFunctions");
12
+ const ensureImageJobs_1 = require("./ensureImageJobs");
13
13
  const shippedCatci_1 = require("../../catci/shippedCatci");
14
- const utils_1 = require("../../utils");
15
14
  const githubReleaseJobs_1 = require("./githubReleaseJobs");
16
15
  const scriptFiles_1 = require("./scriptFiles");
17
16
  const WORKFLOWS_FOLDER = ".github/workflows";
@@ -20,9 +19,13 @@ const WORKFLOWS_FOLDER = ".github/workflows";
20
19
  * user-maintained workflows in the same folder
21
20
  */
22
21
  const GENERATED_FILE_PREFIX = "catladder-";
22
+ // NOTE on the emoji prefixes: github sorts the Actions sidebar by raw
23
+ // code point, so the 🛠️ (U+1F6E0) prefix makes the pipeline workflows
24
+ // sort BELOW the triggerable action workflows (↩️ ⏹️ ▶️ 🚀, all lower
25
+ // code points) — the things a human clicks come first.
23
26
  const TRIGGER_WORKFLOWS = {
24
27
  mr: {
25
- name: "catladder review",
28
+ name: "🛠️ catladder review",
26
29
  on: { pull_request: { types: ["opened", "synchronize", "reopened"] } },
27
30
  concurrency: {
28
31
  group: "catladder-review-${{ github.event.number }}",
@@ -30,12 +33,12 @@ const TRIGGER_WORKFLOWS = {
30
33
  },
31
34
  },
32
35
  mainBranch: {
33
- name: "catladder main",
36
+ name: "🛠️ catladder main",
34
37
  // TODO: make the default branch configurable
35
38
  on: { push: { branches: ["main"] } },
36
39
  },
37
40
  taggedRelease: {
38
- name: "catladder release",
41
+ name: "🛠️ catladder release",
39
42
  // tags pushed with the default GITHUB_TOKEN (as the release job
40
43
  // does) don't trigger `on: push: tags` — the release job therefore
41
44
  // also dispatches this workflow explicitly for the new tag
@@ -85,15 +88,18 @@ class GithubBackend {
85
88
  ...(0, index_1.getPipelineOptions)(config, this.type).runnerVariables,
86
89
  };
87
90
  const reviewStopJobs = {};
88
- // jobs routed to the workflow_dispatch "manual tasks" workflow. A
89
- // manual job and its build closure live here instead of an automatic
90
- // workflow; `manualJobConditions` is the `if` that selects each one
91
- // from the dispatch input, `manualDispatchOptions` the leaf jobs that
92
- // become dropdown choices (closure jobs run because their leaf was
93
- // chosen, not on their own).
94
- const manualJobs = {};
95
- const manualJobConditions = {};
96
- const manualDispatchOptions = [];
91
+ // jobs routed to the per-kind workflow_dispatch workflows (deploy /
92
+ // stop / rollback). A manual job and its build closure live there
93
+ // instead of an automatic workflow; `conditions` is the `if` that
94
+ // selects each one from the dispatch input, `options` the leaf jobs
95
+ // that become dropdown choices (closure jobs run because their leaf
96
+ // was chosen, not on their own). A closure job serving leaves of
97
+ // several kinds is duplicated into each kind's workflow.
98
+ const manualKindBuckets = {
99
+ deploy: { jobs: {}, conditions: {}, options: [], envTypes: [] },
100
+ stop: { jobs: {}, conditions: {}, options: [], envTypes: [] },
101
+ rollback: { jobs: {}, conditions: {}, options: [], envTypes: [] },
102
+ };
97
103
  for (const trigger of config_1.ALL_PIPELINE_TRIGGERS) {
98
104
  const allJobs = await (0, createAllJobs_1.createAllJobs)({
99
105
  config,
@@ -170,32 +176,46 @@ class GithubBackend {
170
176
  }
171
177
  }
172
178
  }
179
+ const kindOfLeaf = new Map(leafIds.map((id) => [id, manualKind(triggerJobs.get(id).job)]));
173
180
  const jobs = {};
174
181
  for (const [id, { githubJob }] of triggerJobs) {
175
182
  const leaves = servesLeaves.get(id);
176
183
  if (leaves) {
177
- manualJobs[id] = githubJob;
178
- manualJobConditions[id] = [...leaves]
179
- .sort()
180
- .map((leaf) => `inputs.job == '${leaf}'`)
181
- .join(" || ");
184
+ // one entry per kind the job serves — restricted to that
185
+ // kind's leaves, so the `if` only references its own inputs
186
+ for (const kind of new Set([...leaves].map((leaf) => kindOfLeaf.get(leaf)))) {
187
+ const bucket = manualKindBuckets[kind];
188
+ bucket.jobs[id] = githubJob;
189
+ bucket.conditions[id] = [...leaves]
190
+ .filter((leaf) => kindOfLeaf.get(leaf) === kind)
191
+ .sort()
192
+ .map((leaf) => `inputs.job == '${leaf}'`)
193
+ .join(" || ");
194
+ }
182
195
  }
183
196
  else {
184
197
  jobs[id] = githubJob;
185
198
  }
186
199
  }
187
- manualDispatchOptions.push(...leafIds);
200
+ for (const id of leafIds) {
201
+ const bucket = manualKindBuckets[kindOfLeaf.get(id)];
202
+ bucket.options.push(id);
203
+ const context = triggerJobs.get(id).context;
204
+ if (context.type === "component") {
205
+ bucket.envTypes.push(context.environment.envType);
206
+ }
207
+ }
188
208
  if (trigger === "mr") {
189
209
  Object.assign(jobs, (0, githubReleaseJobs_1.getGithubReleaseCheckJobs)(config, images));
190
210
  }
191
211
  if (trigger === "mainBranch") {
192
- const releaseJobs = (0, githubReleaseJobs_1.getGithubReleaseJobs)(config, Object.keys(jobs), images);
193
- Object.assign(jobs, releaseJobs.main);
194
- for (const [id, job] of Object.entries(releaseJobs.manual)) {
195
- manualJobs[id] = job;
196
- manualJobConditions[id] = `inputs.job == '${id}'`;
197
- manualDispatchOptions.push(id);
198
- }
212
+ // auto release mode: the release job runs at the end of the
213
+ // main workflow itself
214
+ Object.assign(jobs, (0, githubReleaseJobs_1.getGithubReleaseJobs)(config, Object.keys(jobs), images));
215
+ // the dispatch workflow to trigger a release by hand (with a
216
+ // force checkbox where the method distinguishes it)
217
+ workflows[`${GENERATED_FILE_PREFIX}create-release.yml`] =
218
+ (0, githubReleaseJobs_1.getGithubCreateReleaseWorkflow)(config, images, workflowEnv);
199
219
  // manual release mode: the workflow that runs a queued release
200
220
  // once the main workflow completed green
201
221
  const releaseOnGreen = (0, githubReleaseJobs_1.getGithubReleaseOnGreenWorkflow)(config, images, TRIGGER_WORKFLOWS.mainBranch.name, workflowEnv);
@@ -209,41 +229,59 @@ class GithubBackend {
209
229
  ...TRIGGER_WORKFLOWS[trigger],
210
230
  ...workflowPermissions(images),
211
231
  env: workflowEnv,
212
- jobs: { ...makeEnsureImageGithubJobs(images), ...jobs },
232
+ jobs: { ...(0, ensureImageJobs_1.makeEnsureImageGithubJobs)(images), ...jobs },
213
233
  };
214
234
  }
215
235
  }
216
236
  if (Object.keys(reviewStopJobs).length > 0) {
217
237
  workflows[`${GENERATED_FILE_PREFIX}review-stop.yml`] = {
218
- name: "catladder review stop",
238
+ name: "🛠️ catladder review stop",
219
239
  on: { pull_request: { types: ["closed"] } },
220
240
  ...workflowPermissions(images),
221
241
  env: workflowEnv,
222
- jobs: { ...makeEnsureImageGithubJobs(images), ...reviewStopJobs },
242
+ jobs: { ...(0, ensureImageJobs_1.makeEnsureImageGithubJobs)(images), ...reviewStopJobs },
223
243
  };
224
244
  }
225
- if (Object.keys(manualJobs).length > 0) {
226
- workflows[`${GENERATED_FILE_PREFIX}manual.yml`] = {
227
- name: "catladder manual tasks",
245
+ for (const [kind, bucket] of Object.entries(manualKindBuckets)) {
246
+ if (Object.keys(bucket.jobs).length === 0) {
247
+ continue;
248
+ }
249
+ const options = [...new Set(bucket.options)];
250
+ // a single candidate needs no dropdown — the dispatch just runs it
251
+ const singleTask = options.length === 1;
252
+ // one common env across the kind's tasks → carry it in the name
253
+ // ("▶️ catladder deploy prod"); mixed envs keep the generic name
254
+ // and the dropdown distinguishes
255
+ const envTypes = [...new Set(bucket.envTypes)];
256
+ const envSuffix = envTypes.length === 1 &&
257
+ bucket.envTypes.length === bucket.options.length
258
+ ? ` ${envTypes[0]}`
259
+ : "";
260
+ workflows[`${GENERATED_FILE_PREFIX}${kind}.yml`] = {
261
+ name: `${MANUAL_KIND_WORKFLOW_NAMES[kind]}${envSuffix}`,
228
262
  on: {
229
- workflow_dispatch: {
230
- inputs: {
231
- job: {
232
- description: "the task to run",
233
- required: true,
234
- type: "choice",
235
- options: [...new Set(manualDispatchOptions)],
263
+ workflow_dispatch: singleTask
264
+ ? {}
265
+ : {
266
+ inputs: {
267
+ job: {
268
+ description: "the task to run",
269
+ required: true,
270
+ type: "choice",
271
+ options,
272
+ },
236
273
  },
237
274
  },
238
- },
239
275
  },
240
276
  ...workflowPermissions(images),
241
277
  env: workflowEnv,
242
278
  jobs: {
243
- ...makeEnsureImageGithubJobs(images),
244
- ...Object.fromEntries(Object.entries(manualJobs).map(([id, job]) => [
279
+ ...(0, ensureImageJobs_1.makeEnsureImageGithubJobs)(images),
280
+ ...Object.fromEntries(Object.entries(bucket.jobs).map(([id, job]) => [
245
281
  id,
246
- { ...job, if: `\${{ ${manualJobConditions[id]} }}` },
282
+ singleTask
283
+ ? job
284
+ : { ...job, if: `\${{ ${bucket.conditions[id]} }}` },
247
285
  ])),
248
286
  },
249
287
  };
@@ -258,33 +296,6 @@ exports.GithubBackend = GithubBackend;
258
296
  const workflowPermissions = (_images) => ({
259
297
  permissions: { contents: "read", packages: "write" },
260
298
  });
261
- /**
262
- * the image build jobs: always run (github has no server-side
263
- * changes-filter), the existence check makes unchanged runs fast.
264
- * Docker is native on github runners — no container, no dind.
265
- */
266
- const makeEnsureImageGithubJobs = (images) => Object.fromEntries(images.getEnsureJobs().map((job) => {
267
- var _a, _b;
268
- return [
269
- (0, createGithubJobs_1.githubGlobalJobId)(job.name),
270
- {
271
- name: job.name,
272
- "runs-on": "ubuntu-latest",
273
- steps: [
274
- { name: "Checkout", uses: "actions/checkout@v4" },
275
- {
276
- name: job.name,
277
- id: "main",
278
- run: [
279
- ...(0, scriptFunctions_1.getGithubScriptFunctionDefinitions)(),
280
- ...((_b = (_a = job.script) === null || _a === void 0 ? void 0 : _a.filter(utils_1.notNil)) !== null && _b !== void 0 ? _b : []),
281
- ].join("\n"),
282
- shell: "bash",
283
- },
284
- ],
285
- },
286
- ];
287
- }));
288
299
  const workflowFileName = (trigger) => {
289
300
  switch (trigger) {
290
301
  case "mr":
@@ -308,8 +319,18 @@ const isReviewStopJob = (context, job) => {
308
319
  };
309
320
  /**
310
321
  * stop/rollback jobs of non-review environments have no automatic
311
- * trigger; they are collected in a workflow_dispatch workflow
322
+ * trigger; they are collected in workflow_dispatch workflows
312
323
  * (gitlab runs them as manual jobs inside the pipeline)
313
324
  */
314
325
  const isManualTaskJob = (job) => job.stage === "stop" || job.stage === "rollback";
326
+ const MANUAL_KIND_WORKFLOW_NAMES = {
327
+ deploy: "▶️ catladder deploy",
328
+ stop: "⏹️ catladder stop",
329
+ rollback: "↩️ catladder rollback",
330
+ };
331
+ const manualKind = (job) => job.stage === "stop"
332
+ ? "stop"
333
+ : job.stage === "rollback"
334
+ ? "rollback"
335
+ : "deploy";
315
336
  //# sourceMappingURL=GithubBackend.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"GithubBackend.js","sourceRoot":"","sources":["../../../../../../../../packages/pipeline/src/backends/github/GithubBackend.ts"],"names":[],"mappings":";;;AAAA,0CAAkD;AAClD,+BAA4B;AAC5B,gEAA6D;AAE7D,+CAA2D;AAI3D,+CAA6D;AAC7D,oCAA8C;AAC9C,yDAK4B;AAC5B,oEAAiE;AACjE,uDAAuE;AACvE,2DAAkE;AAClE,uCAAqC;AACrC,2DAI6B;AAC7B,+CAAyE;AAEzE,MAAM,gBAAgB,GAAG,mBAAmB,CAAC;AAE7C;;;GAGG;AACH,MAAM,qBAAqB,GAAG,YAAY,CAAC;AAE3C,MAAM,iBAAiB,GAGnB;IACF,EAAE,EAAE;QACF,IAAI,EAAE,kBAAkB;QACxB,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,aAAa,EAAE,UAAU,CAAC,EAAE,EAAE;QACtE,WAAW,EAAE;YACX,KAAK,EAAE,6CAA6C;YACpD,oBAAoB,EAAE,IAAI;SAC3B;KACF;IACD,UAAU,EAAE;QACV,IAAI,EAAE,gBAAgB;QACtB,6CAA6C;QAC7C,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE;KACrC;IACD,aAAa,EAAE;QACb,IAAI,EAAE,mBAAmB;QACzB,gEAAgE;QAChE,mEAAmE;QACnE,2DAA2D;QAC3D,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,iBAAiB,EAAE,EAAE,EAAE;KACtD;CACF,CAAC;AAEF,MAAa,aAAa;IAA1B;QACW,SAAI,GAAG,QAAiB,CAAC;IA0PpC,CAAC;IAxPC,KAAK,CAAC,OAAO;QACX,MAAM,OAAO,GAAG,MAAM,IAAA,kBAAO,EAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QAChE,MAAM,OAAO,CAAC,GAAG,CACf,OAAO;aACJ,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAC;aACxD,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,iBAAM,EAAC,IAAA,WAAI,EAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC,CAAC,CACvD,CAAC;QACF,MAAM,IAAA,aAAE,EAAC,mCAAqB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACpE,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,MAAc;QAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAC7C,MAAM,OAAO,GAAG,IAAI,+BAAiB,EAAE,CAAC;QACxC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QAEtE,OAAO;YACL,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC1D,IAAI,EAAE,IAAA,WAAI,EAAC,gBAAgB,EAAE,QAAQ,CAAC;gBACtC,OAAO,EAAE,QAA8C;aACxD,CAAC,CAAC;YACH,6DAA6D;YAC7D,GAAG,OAAO,CAAC,iBAAiB,EAAE;YAC9B,GAAG,MAAM,CAAC,iBAAiB,EAAE;YAC7B,gEAAgE;YAChE,GAAG,IAAA,qCAAsB,GAAE;SAC5B,CAAC;IACJ,CAAC;IAEO,gBAAgB,CAAC,MAAc;QACrC,OAAO,IAAI,6BAAa,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IACrD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe,CACnB,MAAc,EACd,SAAwB,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,EACrD,UAA6B,IAAI,+BAAiB,EAAE;;QAEpD,MAAM,SAAS,GAAmC,EAAE,CAAC;QAErD,kEAAkE;QAClE,mEAAmE;QACnE,MAAM,WAAW,GAAG;YAClB,GAAG,0CAA4B;YAC/B,GAAG,IAAA,0BAAkB,EAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,eAAe;SACzD,CAAC;QAEF,MAAM,cAAc,GAA8B,EAAE,CAAC;QACrD,kEAAkE;QAClE,qEAAqE;QACrE,oEAAoE;QACpE,sEAAsE;QACtE,mEAAmE;QACnE,6BAA6B;QAC7B,MAAM,UAAU,GAA8B,EAAE,CAAC;QACjD,MAAM,mBAAmB,GAA2B,EAAE,CAAC;QACvD,MAAM,qBAAqB,GAAa,EAAE,CAAC;QAE3C,KAAK,MAAM,OAAO,IAAI,8BAAqB,EAAE,CAAC;YAC5C,MAAM,OAAO,GAAG,MAAM,IAAA,6BAAa,EAAC;gBAClC,MAAM;gBACN,OAAO;gBACP,YAAY,EAAE,IAAI,CAAC,IAAI;aACxB,CAAC,CAAC;YAEH,MAAM,iBAAiB,GAAG,IAAA,uCAAoB,EAAC,OAAO,CAAC,CAAC;YACxD,MAAM,WAAW,GAAG,IAAA,qCAAkB,EAAC,OAAO,CAAC,CAAC;YAEhD,mEAAmE;YACnE,yCAAyC;YACzC,yDAAyD;YACzD,MAAM,WAAW,GAAG,IAAI,GAAG,EAGxB,CAAC;YACJ,CAAC,GAAG,OAAO,CAAC,UAAU,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,CACpD,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,CACjC,WAAW,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;gBAC1B,MAAM,CAAC,EAAE,EAAE,SAAS,CAAC,GAAG,IAAA,gCAAa,EACnC,OAAO,EACP,GAAG,EACH,OAAO,EACP,iBAAiB,EACjB,MAAM,EACN,OAAO,EACP,WAAW,CACZ,CAAC;gBACF,WAAW,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;YACnD,CAAC,CAAC,CACL,CAAC;YAEF,oEAAoE;YACpE,KAAK,MAAM,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,EAAE,CAAC;gBACjE,IAAI,eAAe,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC;oBAClC,cAAc,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC;oBAC/B,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBACzB,CAAC;YACH,CAAC;YAED,oEAAoE;YACpE,iEAAiE;YACjE,mBAAmB;YACnB,MAAM,OAAO,GAAG,CAAC,GAAG,WAAW,CAAC;iBAC7B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,eAAe,CAAC,GAAG,CAAC,CAAC;iBACtE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;YAErB,iEAAiE;YACjE,qEAAqE;YACrE,+DAA+D;YAC/D,oEAAoE;YACpE,iEAAiE;YACjE,8DAA8D;YAC9D,sEAAsE;YACtE,qEAAqE;YACrE,mEAAmE;YACnE,kEAAkE;YAClE,mEAAmE;YACnE,wDAAwD;YACxD,+DAA+D;YAC/D,MAAM,UAAU,GAAG,IAAI,GAAG,EAAoB,CAAC;YAC/C,KAAK,MAAM,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,IAAI,WAAW,EAAE,CAAC;gBAC9C,KAAK,MAAM,IAAI,IAAI,MAAA,SAAS,CAAC,KAAK,mCAAI,EAAE,EAAE,CAAC;oBACzC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC;wBAAE,SAAS;oBACrC,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBAClC,IAAI,IAAI;wBAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;;wBACnB,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBAClC,CAAC;YACH,CAAC;YACD,MAAM,YAAY,GAAG,IAAI,GAAG,EAAuB,CAAC;YACpD,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;gBAC3B,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC;gBACrB,IAAI,GAAuB,CAAC;gBAC5B,OAAO,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,SAAS,EAAE,CAAC;oBACzC,IAAI,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oBACnC,IAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,GAAG,CAAC,IAAI,CAAC;wBAAE,SAAS,CAAC,+BAA+B;oBAChE,IAAI,CAAC,MAAM,EAAE,CAAC;wBACZ,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;wBACnB,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;oBAChC,CAAC;oBACD,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBACjB,KAAK,MAAM,IAAI,IAAI,MAAA,MAAA,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,0CAAE,SAAS,CAAC,KAAK,mCAAI,EAAE,EAAE,CAAC;wBAC/D,IAAI,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC;4BAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB;oBAC/D,CAAC;oBACD,KAAK,MAAM,SAAS,IAAI,MAAA,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,mCAAI,EAAE,EAAE,CAAC;wBAClD,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,uBAAuB;oBAChD,CAAC;gBACH,CAAC;YACH,CAAC;YAED,MAAM,IAAI,GAA8B,EAAE,CAAC;YAC3C,KAAK,MAAM,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,IAAI,WAAW,EAAE,CAAC;gBAC9C,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACpC,IAAI,MAAM,EAAE,CAAC;oBACX,UAAU,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC;oBAC3B,mBAAmB,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;yBAClC,IAAI,EAAE;yBACN,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,kBAAkB,IAAI,GAAG,CAAC;yBACxC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAClB,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC;gBACvB,CAAC;YACH,CAAC;YACD,qBAAqB,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC;YAEvC,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;gBACrB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAA,6CAAyB,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;YACjE,CAAC;YAED,IAAI,OAAO,KAAK,YAAY,EAAE,CAAC;gBAC7B,MAAM,WAAW,GAAG,IAAA,wCAAoB,EACtC,MAAM,EACN,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EACjB,MAAM,CACP,CAAC;gBACF,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;gBACtC,KAAK,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC3D,UAAU,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;oBACrB,mBAAmB,CAAC,EAAE,CAAC,GAAG,kBAAkB,EAAE,GAAG,CAAC;oBAClD,qBAAqB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACjC,CAAC;gBAED,+DAA+D;gBAC/D,yCAAyC;gBACzC,MAAM,cAAc,GAAG,IAAA,mDAA+B,EACpD,MAAM,EACN,MAAM,EACN,iBAAiB,CAAC,UAAU,CAAC,IAAI,EACjC,WAAW,CACZ,CAAC;gBACF,IAAI,cAAc,EAAE,CAAC;oBACnB,SAAS,CAAC,GAAG,qBAAqB,sBAAsB,CAAC;wBACvD,cAAc,CAAC;gBACnB,CAAC;YACH,CAAC;YAED,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACjC,SAAS,CAAC,GAAG,qBAAqB,GAAG,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG;oBAClE,GAAG,iBAAiB,CAAC,OAAO,CAAC;oBAC7B,GAAG,mBAAmB,CAAC,MAAM,CAAC;oBAC9B,GAAG,EAAE,WAAW;oBAChB,IAAI,EAAE,EAAE,GAAG,yBAAyB,CAAC,MAAM,CAAC,EAAE,GAAG,IAAI,EAAE;iBACxD,CAAC;YACJ,CAAC;QACH,CAAC;QAED,IAAI,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3C,SAAS,CAAC,GAAG,qBAAqB,iBAAiB,CAAC,GAAG;gBACrD,IAAI,EAAE,uBAAuB;gBAC7B,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE;gBAC3C,GAAG,mBAAmB,CAAC,MAAM,CAAC;gBAC9B,GAAG,EAAE,WAAW;gBAChB,IAAI,EAAE,EAAE,GAAG,yBAAyB,CAAC,MAAM,CAAC,EAAE,GAAG,cAAc,EAAE;aAClE,CAAC;QACJ,CAAC;QAED,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvC,SAAS,CAAC,GAAG,qBAAqB,YAAY,CAAC,GAAG;gBAChD,IAAI,EAAE,wBAAwB;gBAC9B,EAAE,EAAE;oBACF,iBAAiB,EAAE;wBACjB,MAAM,EAAE;4BACN,GAAG,EAAE;gCACH,WAAW,EAAE,iBAAiB;gCAC9B,QAAQ,EAAE,IAAI;gCACd,IAAI,EAAE,QAAQ;gCACd,OAAO,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,qBAAqB,CAAC,CAAC;6BAC7C;yBACF;qBACF;iBACF;gBACD,GAAG,mBAAmB,CAAC,MAAM,CAAC;gBAC9B,GAAG,EAAE,WAAW;gBAChB,IAAI,EAAE;oBACJ,GAAG,yBAAyB,CAAC,MAAM,CAAC;oBACpC,GAAG,MAAM,CAAC,WAAW,CACnB,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC;wBAC5C,EAAE;wBACF,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,QAAQ,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE;qBACrD,CAAC,CACH;iBACF;aACF,CAAC;QACJ,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AA3PD,sCA2PC;AAED;;GAEG;AACH,MAAM,mBAAmB,GAAG,CAAC,OAAsB,EAAE,EAAE,CAAC,CAAC;IACvD,WAAW,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE;CACrD,CAAC,CAAC;AAEH;;;;GAIG;AACH,MAAM,yBAAyB,GAAG,CAChC,MAAqB,EACM,EAAE,CAC7B,MAAM,CAAC,WAAW,CAChB,MAAM,CAAC,aAAa,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;;IAAC,OAAA;QAClC,IAAA,oCAAiB,EAAC,GAAG,CAAC,IAAI,CAAC;QAC3B;YACE,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,SAAS,EAAE,eAAe;YAC1B,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,qBAAqB,EAAE;gBACjD;oBACE,IAAI,EAAE,GAAG,CAAC,IAAI;oBACd,EAAE,EAAE,MAAM;oBACV,GAAG,EAAE;wBACH,GAAG,IAAA,oDAAkC,GAAE;wBACvC,GAAG,CAAC,MAAA,MAAA,GAAG,CAAC,MAAM,0CAAE,MAAM,CAAC,cAAM,CAAC,mCAAI,EAAE,CAAC;qBACtC,CAAC,IAAI,CAAC,IAAI,CAAC;oBACZ,KAAK,EAAE,MAAM;iBACd;aACF;SACkB;KACtB,CAAA;CAAA,CAAC,CACH,CAAC;AAEJ,MAAM,gBAAgB,GAAG,CAAC,OAAwB,EAAU,EAAE;IAC5D,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,IAAI;YACP,OAAO,YAAY,CAAC;QACtB,KAAK,YAAY;YACf,OAAO,UAAU,CAAC;QACpB,KAAK,eAAe;YAClB,OAAO,aAAa,CAAC;IACzB,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,GAAG,OAAO,mBAAmB,CAAC,CAAC;AACjD,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,eAAe,GAAG,CAAC,OAAgB,EAAE,GAAiB,EAAE,EAAE;;IAC9D,OAAA,CAAA,MAAA,GAAG,CAAC,WAAW,0CAAE,MAAM,MAAK,MAAM;QAClC,OAAO,CAAC,IAAI,KAAK,WAAW;QAC5B,OAAO,CAAC,WAAW,CAAC,OAAO,KAAK,QAAQ,CAAA;CAAA,CAAC;AAE3C;;;;GAIG;AACH,MAAM,eAAe,GAAG,CAAC,GAAiB,EAAE,EAAE,CAC5C,GAAG,CAAC,KAAK,KAAK,MAAM,IAAI,GAAG,CAAC,KAAK,KAAK,UAAU,CAAC"}
1
+ {"version":3,"file":"GithubBackend.js","sourceRoot":"","sources":["../../../../../../../../packages/pipeline/src/backends/github/GithubBackend.ts"],"names":[],"mappings":";;;AAAA,0CAAkD;AAClD,+BAA4B;AAC5B,gEAA6D;AAE7D,+CAA2D;AAI3D,+CAA6D;AAC7D,oCAA8C;AAC9C,yDAI4B;AAC5B,oEAAiE;AACjE,uDAA8D;AAC9D,2DAAkE;AAClE,2DAK6B;AAC7B,+CAAyE;AAEzE,MAAM,gBAAgB,GAAG,mBAAmB,CAAC;AAE7C;;;GAGG;AACH,MAAM,qBAAqB,GAAG,YAAY,CAAC;AAE3C,sEAAsE;AACtE,uEAAuE;AACvE,sEAAsE;AACtE,uDAAuD;AACvD,MAAM,iBAAiB,GAGnB;IACF,EAAE,EAAE;QACF,IAAI,EAAE,sBAAsB;QAC5B,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,aAAa,EAAE,UAAU,CAAC,EAAE,EAAE;QACtE,WAAW,EAAE;YACX,KAAK,EAAE,6CAA6C;YACpD,oBAAoB,EAAE,IAAI;SAC3B;KACF;IACD,UAAU,EAAE;QACV,IAAI,EAAE,oBAAoB;QAC1B,6CAA6C;QAC7C,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE;KACrC;IACD,aAAa,EAAE;QACb,IAAI,EAAE,uBAAuB;QAC7B,gEAAgE;QAChE,mEAAmE;QACnE,2DAA2D;QAC3D,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,iBAAiB,EAAE,EAAE,EAAE;KACtD;CACF,CAAC;AAEF,MAAa,aAAa;IAA1B;QACW,SAAI,GAAG,QAAiB,CAAC;IAoSpC,CAAC;IAlSC,KAAK,CAAC,OAAO;QACX,MAAM,OAAO,GAAG,MAAM,IAAA,kBAAO,EAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QAChE,MAAM,OAAO,CAAC,GAAG,CACf,OAAO;aACJ,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAC;aACxD,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,iBAAM,EAAC,IAAA,WAAI,EAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC,CAAC,CACvD,CAAC;QACF,MAAM,IAAA,aAAE,EAAC,mCAAqB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACpE,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,MAAc;QAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAC7C,MAAM,OAAO,GAAG,IAAI,+BAAiB,EAAE,CAAC;QACxC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QAEtE,OAAO;YACL,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC1D,IAAI,EAAE,IAAA,WAAI,EAAC,gBAAgB,EAAE,QAAQ,CAAC;gBACtC,OAAO,EAAE,QAA8C;aACxD,CAAC,CAAC;YACH,6DAA6D;YAC7D,GAAG,OAAO,CAAC,iBAAiB,EAAE;YAC9B,GAAG,MAAM,CAAC,iBAAiB,EAAE;YAC7B,gEAAgE;YAChE,GAAG,IAAA,qCAAsB,GAAE;SAC5B,CAAC;IACJ,CAAC;IAEO,gBAAgB,CAAC,MAAc;QACrC,OAAO,IAAI,6BAAa,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IACrD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe,CACnB,MAAc,EACd,SAAwB,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,EACrD,UAA6B,IAAI,+BAAiB,EAAE;;QAEpD,MAAM,SAAS,GAAmC,EAAE,CAAC;QAErD,kEAAkE;QAClE,mEAAmE;QACnE,MAAM,WAAW,GAAG;YAClB,GAAG,0CAA4B;YAC/B,GAAG,IAAA,0BAAkB,EAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,eAAe;SACzD,CAAC;QAEF,MAAM,cAAc,GAA8B,EAAE,CAAC;QACrD,oEAAoE;QACpE,kEAAkE;QAClE,kEAAkE;QAClE,oEAAoE;QACpE,oEAAoE;QACpE,iEAAiE;QACjE,yDAAyD;QACzD,MAAM,iBAAiB,GAAyC;YAC9D,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;YAC/D,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;YAC7D,QAAQ,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;SAClE,CAAC;QAEF,KAAK,MAAM,OAAO,IAAI,8BAAqB,EAAE,CAAC;YAC5C,MAAM,OAAO,GAAG,MAAM,IAAA,6BAAa,EAAC;gBAClC,MAAM;gBACN,OAAO;gBACP,YAAY,EAAE,IAAI,CAAC,IAAI;aACxB,CAAC,CAAC;YAEH,MAAM,iBAAiB,GAAG,IAAA,uCAAoB,EAAC,OAAO,CAAC,CAAC;YACxD,MAAM,WAAW,GAAG,IAAA,qCAAkB,EAAC,OAAO,CAAC,CAAC;YAEhD,mEAAmE;YACnE,yCAAyC;YACzC,yDAAyD;YACzD,MAAM,WAAW,GAAG,IAAI,GAAG,EAGxB,CAAC;YACJ,CAAC,GAAG,OAAO,CAAC,UAAU,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,CACpD,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,CACjC,WAAW,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;gBAC1B,MAAM,CAAC,EAAE,EAAE,SAAS,CAAC,GAAG,IAAA,gCAAa,EACnC,OAAO,EACP,GAAG,EACH,OAAO,EACP,iBAAiB,EACjB,MAAM,EACN,OAAO,EACP,WAAW,CACZ,CAAC;gBACF,WAAW,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;YACnD,CAAC,CAAC,CACL,CAAC;YAEF,oEAAoE;YACpE,KAAK,MAAM,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,EAAE,CAAC;gBACjE,IAAI,eAAe,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC;oBAClC,cAAc,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC;oBAC/B,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBACzB,CAAC;YACH,CAAC;YAED,oEAAoE;YACpE,iEAAiE;YACjE,mBAAmB;YACnB,MAAM,OAAO,GAAG,CAAC,GAAG,WAAW,CAAC;iBAC7B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,eAAe,CAAC,GAAG,CAAC,CAAC;iBACtE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;YAErB,iEAAiE;YACjE,qEAAqE;YACrE,+DAA+D;YAC/D,oEAAoE;YACpE,iEAAiE;YACjE,8DAA8D;YAC9D,sEAAsE;YACtE,qEAAqE;YACrE,mEAAmE;YACnE,kEAAkE;YAClE,mEAAmE;YACnE,wDAAwD;YACxD,+DAA+D;YAC/D,MAAM,UAAU,GAAG,IAAI,GAAG,EAAoB,CAAC;YAC/C,KAAK,MAAM,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,IAAI,WAAW,EAAE,CAAC;gBAC9C,KAAK,MAAM,IAAI,IAAI,MAAA,SAAS,CAAC,KAAK,mCAAI,EAAE,EAAE,CAAC;oBACzC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC;wBAAE,SAAS;oBACrC,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBAClC,IAAI,IAAI;wBAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;;wBACnB,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBAClC,CAAC;YACH,CAAC;YACD,MAAM,YAAY,GAAG,IAAI,GAAG,EAAuB,CAAC;YACpD,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;gBAC3B,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC;gBACrB,IAAI,GAAuB,CAAC;gBAC5B,OAAO,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,SAAS,EAAE,CAAC;oBACzC,IAAI,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oBACnC,IAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,GAAG,CAAC,IAAI,CAAC;wBAAE,SAAS,CAAC,+BAA+B;oBAChE,IAAI,CAAC,MAAM,EAAE,CAAC;wBACZ,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;wBACnB,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;oBAChC,CAAC;oBACD,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBACjB,KAAK,MAAM,IAAI,IAAI,MAAA,MAAA,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,0CAAE,SAAS,CAAC,KAAK,mCAAI,EAAE,EAAE,CAAC;wBAC/D,IAAI,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC;4BAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB;oBAC/D,CAAC;oBACD,KAAK,MAAM,SAAS,IAAI,MAAA,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,mCAAI,EAAE,EAAE,CAAC;wBAClD,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,uBAAuB;oBAChD,CAAC;gBACH,CAAC;YACH,CAAC;YAED,MAAM,UAAU,GAAG,IAAI,GAAG,CACxB,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAChE,CAAC;YACF,MAAM,IAAI,GAA8B,EAAE,CAAC;YAC3C,KAAK,MAAM,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,IAAI,WAAW,EAAE,CAAC;gBAC9C,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACpC,IAAI,MAAM,EAAE,CAAC;oBACX,yDAAyD;oBACzD,4DAA4D;oBAC5D,KAAK,MAAM,IAAI,IAAI,IAAI,GAAG,CACxB,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC,CACjD,EAAE,CAAC;wBACF,MAAM,MAAM,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;wBACvC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC;wBAC5B,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;6BAChC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC;6BAC/C,IAAI,EAAE;6BACN,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,kBAAkB,IAAI,GAAG,CAAC;6BACxC,IAAI,CAAC,MAAM,CAAC,CAAC;oBAClB,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC;gBACvB,CAAC;YACH,CAAC;YACD,KAAK,MAAM,EAAE,IAAI,OAAO,EAAE,CAAC;gBACzB,MAAM,MAAM,GAAG,iBAAiB,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAE,CAAC,CAAC;gBACtD,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACxB,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,EAAE,CAAE,CAAC,OAAO,CAAC;gBAC7C,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;oBACjC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;gBACpD,CAAC;YACH,CAAC;YAED,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;gBACrB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAA,6CAAyB,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;YACjE,CAAC;YAED,IAAI,OAAO,KAAK,YAAY,EAAE,CAAC;gBAC7B,4DAA4D;gBAC5D,uBAAuB;gBACvB,MAAM,CAAC,MAAM,CACX,IAAI,EACJ,IAAA,wCAAoB,EAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CACxD,CAAC;gBAEF,6DAA6D;gBAC7D,oDAAoD;gBACpD,SAAS,CAAC,GAAG,qBAAqB,oBAAoB,CAAC;oBACrD,IAAA,kDAA8B,EAAC,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;gBAE9D,+DAA+D;gBAC/D,yCAAyC;gBACzC,MAAM,cAAc,GAAG,IAAA,mDAA+B,EACpD,MAAM,EACN,MAAM,EACN,iBAAiB,CAAC,UAAU,CAAC,IAAI,EACjC,WAAW,CACZ,CAAC;gBACF,IAAI,cAAc,EAAE,CAAC;oBACnB,SAAS,CAAC,GAAG,qBAAqB,sBAAsB,CAAC;wBACvD,cAAc,CAAC;gBACnB,CAAC;YACH,CAAC;YAED,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACjC,SAAS,CAAC,GAAG,qBAAqB,GAAG,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG;oBAClE,GAAG,iBAAiB,CAAC,OAAO,CAAC;oBAC7B,GAAG,mBAAmB,CAAC,MAAM,CAAC;oBAC9B,GAAG,EAAE,WAAW;oBAChB,IAAI,EAAE,EAAE,GAAG,IAAA,2CAAyB,EAAC,MAAM,CAAC,EAAE,GAAG,IAAI,EAAE;iBACxD,CAAC;YACJ,CAAC;QACH,CAAC;QAED,IAAI,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3C,SAAS,CAAC,GAAG,qBAAqB,iBAAiB,CAAC,GAAG;gBACrD,IAAI,EAAE,2BAA2B;gBACjC,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE;gBAC3C,GAAG,mBAAmB,CAAC,MAAM,CAAC;gBAC9B,GAAG,EAAE,WAAW;gBAChB,IAAI,EAAE,EAAE,GAAG,IAAA,2CAAyB,EAAC,MAAM,CAAC,EAAE,GAAG,cAAc,EAAE;aAClE,CAAC;QACJ,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAE5D,EAAE,CAAC;YACF,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC1C,SAAS;YACX,CAAC;YACD,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;YAC7C,mEAAmE;YACnE,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC;YACxC,gEAAgE;YAChE,iEAAiE;YACjE,iCAAiC;YACjC,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC/C,MAAM,SAAS,GACb,QAAQ,CAAC,MAAM,KAAK,CAAC;gBACrB,MAAM,CAAC,QAAQ,CAAC,MAAM,KAAK,MAAM,CAAC,OAAO,CAAC,MAAM;gBAC9C,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE;gBACnB,CAAC,CAAC,EAAE,CAAC;YACT,SAAS,CAAC,GAAG,qBAAqB,GAAG,IAAI,MAAM,CAAC,GAAG;gBACjD,IAAI,EAAE,GAAG,0BAA0B,CAAC,IAAI,CAAC,GAAG,SAAS,EAAE;gBACvD,EAAE,EAAE;oBACF,iBAAiB,EAAE,UAAU;wBAC3B,CAAC,CAAC,EAAE;wBACJ,CAAC,CAAC;4BACE,MAAM,EAAE;gCACN,GAAG,EAAE;oCACH,WAAW,EAAE,iBAAiB;oCAC9B,QAAQ,EAAE,IAAI;oCACd,IAAI,EAAE,QAAQ;oCACd,OAAO;iCACR;6BACF;yBACF;iBACN;gBACD,GAAG,mBAAmB,CAAC,MAAM,CAAC;gBAC9B,GAAG,EAAE,WAAW;gBAChB,IAAI,EAAE;oBACJ,GAAG,IAAA,2CAAyB,EAAC,MAAM,CAAC;oBACpC,GAAG,MAAM,CAAC,WAAW,CACnB,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC;wBAC7C,EAAE;wBACF,UAAU;4BACR,CAAC,CAAC,GAAG;4BACL,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,QAAQ,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE;qBACvD,CAAC,CACH;iBACF;aACF,CAAC;QACJ,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AArSD,sCAqSC;AAED;;GAEG;AACH,MAAM,mBAAmB,GAAG,CAAC,OAAsB,EAAE,EAAE,CAAC,CAAC;IACvD,WAAW,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE;CACrD,CAAC,CAAC;AAEH,MAAM,gBAAgB,GAAG,CAAC,OAAwB,EAAU,EAAE;IAC5D,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,IAAI;YACP,OAAO,YAAY,CAAC;QACtB,KAAK,YAAY;YACf,OAAO,UAAU,CAAC;QACpB,KAAK,eAAe;YAClB,OAAO,aAAa,CAAC;IACzB,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,GAAG,OAAO,mBAAmB,CAAC,CAAC;AACjD,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,eAAe,GAAG,CAAC,OAAgB,EAAE,GAAiB,EAAE,EAAE;;IAC9D,OAAA,CAAA,MAAA,GAAG,CAAC,WAAW,0CAAE,MAAM,MAAK,MAAM;QAClC,OAAO,CAAC,IAAI,KAAK,WAAW;QAC5B,OAAO,CAAC,WAAW,CAAC,OAAO,KAAK,QAAQ,CAAA;CAAA,CAAC;AAE3C;;;;GAIG;AACH,MAAM,eAAe,GAAG,CAAC,GAAiB,EAAE,EAAE,CAC5C,GAAG,CAAC,KAAK,KAAK,MAAM,IAAI,GAAG,CAAC,KAAK,KAAK,UAAU,CAAC;AAsBnD,MAAM,0BAA0B,GAA+B;IAC7D,MAAM,EAAE,qBAAqB;IAC7B,IAAI,EAAE,mBAAmB;IACzB,QAAQ,EAAE,uBAAuB;CAClC,CAAC;AAEF,MAAM,UAAU,GAAG,CAAC,GAAiB,EAAc,EAAE,CACnD,GAAG,CAAC,KAAK,KAAK,MAAM;IAClB,CAAC,CAAC,MAAM;IACR,CAAC,CAAC,GAAG,CAAC,KAAK,KAAK,UAAU;QACxB,CAAC,CAAC,UAAU;QACZ,CAAC,CAAC,QAAQ,CAAC"}
@@ -0,0 +1,12 @@
1
+ import type { JobImagesPlan } from "../../customImages/jobImagesPlan";
2
+ import type { GithubJob } from "../../types/github-types";
3
+ /**
4
+ * the image build jobs: always run (github has no server-side
5
+ * changes-filter), the existence check makes unchanged runs fast.
6
+ * Docker is native on github runners — no container, no dind.
7
+ * `only` restricts to the named images (e.g. the create-release
8
+ * workflow needs just the release image).
9
+ */
10
+ export declare const makeEnsureImageGithubJobs: (images: JobImagesPlan, options?: {
11
+ only?: string[];
12
+ }) => Record<string, GithubJob>;
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.makeEnsureImageGithubJobs = void 0;
4
+ const createGithubJobs_1 = require("./createGithubJobs");
5
+ const scriptFunctions_1 = require("./scriptFunctions");
6
+ const utils_1 = require("../../utils");
7
+ /**
8
+ * the image build jobs: always run (github has no server-side
9
+ * changes-filter), the existence check makes unchanged runs fast.
10
+ * Docker is native on github runners — no container, no dind.
11
+ * `only` restricts to the named images (e.g. the create-release
12
+ * workflow needs just the release image).
13
+ */
14
+ const makeEnsureImageGithubJobs = (images, options = {}) => Object.fromEntries(images
15
+ .getEnsureJobs()
16
+ .filter((job) => !options.only || options.only.includes(job.name))
17
+ .map((job) => {
18
+ var _a, _b;
19
+ return [
20
+ (0, createGithubJobs_1.githubGlobalJobId)(job.name),
21
+ {
22
+ name: job.name,
23
+ "runs-on": "ubuntu-latest",
24
+ steps: [
25
+ { name: "Checkout", uses: "actions/checkout@v4" },
26
+ {
27
+ name: job.name,
28
+ id: "main",
29
+ run: [
30
+ ...(0, scriptFunctions_1.getGithubScriptFunctionDefinitions)(),
31
+ ...((_b = (_a = job.script) === null || _a === void 0 ? void 0 : _a.filter(utils_1.notNil)) !== null && _b !== void 0 ? _b : []),
32
+ ].join("\n"),
33
+ shell: "bash",
34
+ },
35
+ ],
36
+ },
37
+ ];
38
+ }));
39
+ exports.makeEnsureImageGithubJobs = makeEnsureImageGithubJobs;
40
+ //# sourceMappingURL=ensureImageJobs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ensureImageJobs.js","sourceRoot":"","sources":["../../../../../../../../packages/pipeline/src/backends/github/ensureImageJobs.ts"],"names":[],"mappings":";;;AAEA,yDAAuD;AACvD,uDAAuE;AACvE,uCAAqC;AAErC;;;;;;GAMG;AACI,MAAM,yBAAyB,GAAG,CACvC,MAAqB,EACrB,UAA+B,EAAE,EACN,EAAE,CAC7B,MAAM,CAAC,WAAW,CAChB,MAAM;KACH,aAAa,EAAE;KACf,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;KACjE,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;;IAAC,OAAA;QACZ,IAAA,oCAAiB,EAAC,GAAG,CAAC,IAAI,CAAC;QAC3B;YACE,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,SAAS,EAAE,eAAe;YAC1B,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,qBAAqB,EAAE;gBACjD;oBACE,IAAI,EAAE,GAAG,CAAC,IAAI;oBACd,EAAE,EAAE,MAAM;oBACV,GAAG,EAAE;wBACH,GAAG,IAAA,oDAAkC,GAAE;wBACvC,GAAG,CAAC,MAAA,MAAA,GAAG,CAAC,MAAM,0CAAE,MAAM,CAAC,cAAM,CAAC,mCAAI,EAAE,CAAC;qBACtC,CAAC,IAAI,CAAC,IAAI,CAAC;oBACZ,KAAK,EAAE,MAAM;iBACd;aACF;SACkB;KACtB,CAAA;CAAA,CAAC,CACL,CAAC;AA3BS,QAAA,yBAAyB,6BA2BlC"}
@@ -2,21 +2,24 @@ import type { JobImagesPlan } from "../../customImages/jobImagesPlan";
2
2
  import type { Config } from "../../types";
3
3
  import type { GithubJob, GithubWorkflow } from "../../types/github-types";
4
4
  /**
5
- * the release jobs for the github backend (the counterpart of the
6
- * gitlab release jobs):
7
- * - releases.when === "auto": the release job runs in the main-branch
8
- * workflow after all other jobs; a force variant goes to the manual
9
- * tasks workflow
10
- * - otherwise (manual, the default): the release job goes to the
11
- * manual tasks workflow. Its queue-check step releases right away on
12
- * a green main run and otherwise queues the release for the
13
- * release-on-green workflow (see getGithubReleaseOnGreenWorkflow) —
14
- * the counterpart of gitlab's queue button + executor pair.
5
+ * the release jobs of the main-branch workflow: with releases.when ===
6
+ * "auto" the release runs at the end of every main workflow run.
7
+ * Manual releasing happens via the create-release dispatch workflow
8
+ * (see getGithubCreateReleaseWorkflow) instead.
15
9
  */
16
- export declare const getGithubReleaseJobs: (config: Config, mainWorkflowJobIds: string[], images: JobImagesPlan) => {
17
- main: Record<string, GithubJob>;
18
- manual: Record<string, GithubJob>;
19
- };
10
+ export declare const getGithubReleaseJobs: (config: Config, mainWorkflowJobIds: string[], images: JobImagesPlan) => Record<string, GithubJob>;
11
+ /**
12
+ * the dispatch workflow to trigger a release by hand — a first-class
13
+ * entry in the Actions sidebar (the counterpart of gitlab's `create
14
+ * release` button). Its queue-check step releases right away when the
15
+ * main workflow run for HEAD is green and otherwise queues the release
16
+ * for the release-on-green workflow. Where the release method
17
+ * distinguishes a force mode (e.g. changesets: release a patch bump
18
+ * without pending changesets), forcing is a checkbox input — a forced
19
+ * release skips the queue-check and releases immediately, whatever the
20
+ * pipeline state.
21
+ */
22
+ export declare const getGithubCreateReleaseWorkflow: (config: Config, images: JobImagesPlan, workflowEnv: Record<string, string>) => GithubWorkflow;
20
23
  /**
21
24
  * the release-on-green workflow (manual release mode only): runs on
22
25
  * every completed main workflow run. A lightweight host job checks the