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

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 (26) hide show
  1. package/dist/apps/cli/src/catci.js +23 -0
  2. package/dist/apps/cli/src/catci.js.map +1 -1
  3. package/dist/apps/cli/src/release/githubQueuedRelease.d.ts +14 -0
  4. package/dist/apps/cli/src/release/githubQueuedRelease.js +152 -0
  5. package/dist/apps/cli/src/release/githubQueuedRelease.js.map +1 -0
  6. package/dist/bundles/catci/index.js +3 -3
  7. package/dist/bundles/catenv/index.js +272 -69
  8. package/dist/bundles/cli/index.js +272 -69
  9. package/dist/bundles/skills/catladder-releases/SKILL.md +13 -2
  10. package/dist/packages/pipeline/src/backends/github/GithubBackend.js +7 -0
  11. package/dist/packages/pipeline/src/backends/github/GithubBackend.js.map +1 -1
  12. package/dist/packages/pipeline/src/backends/github/githubReleaseJobs.d.ts +18 -2
  13. package/dist/packages/pipeline/src/backends/github/githubReleaseJobs.js +92 -10
  14. package/dist/packages/pipeline/src/backends/github/githubReleaseJobs.js.map +1 -1
  15. package/dist/packages/pipeline/src/backends/gitlab/GitlabBackend.js +31 -5
  16. package/dist/packages/pipeline/src/backends/gitlab/GitlabBackend.js.map +1 -1
  17. package/dist/packages/pipeline/src/backends/gitlab/gitlabReleaseJobs.d.ts +285 -3
  18. package/dist/packages/pipeline/src/backends/gitlab/gitlabReleaseJobs.js +142 -54
  19. package/dist/packages/pipeline/src/backends/gitlab/gitlabReleaseJobs.js.map +1 -1
  20. package/dist/packages/pipeline/src/types/github-types.d.ts +1 -0
  21. package/dist/packages/pipeline/src/types/release.d.ts +7 -1
  22. package/dist/skills/catladder-releases/SKILL.md +13 -2
  23. package/dist/tsconfig.tsbuildinfo +1 -1
  24. package/package.json +1 -1
  25. package/src/catci.ts +30 -0
  26. package/src/release/githubQueuedRelease.ts +173 -0
@@ -1,15 +1,20 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getGithubReleaseCheckJobs = exports.getGithubReleaseJobs = void 0;
3
+ exports.getGithubReleaseCheckJobs = exports.getGithubReleaseOnGreenWorkflow = exports.getGithubReleaseJobs = void 0;
4
4
  const createGithubJobs_1 = require("./createGithubJobs");
5
5
  const release_1 = require("../../release");
6
- const createReleaseJob = (config, images, needs, extraEnv) => {
6
+ const shippedCatci_1 = require("../../catci/shippedCatci");
7
+ const CATCI = `${shippedCatci_1.GENERATED_CATCI_FOLDER}/index.js`;
8
+ const createReleaseJob = (config, images, options = {}) => {
9
+ var _a;
7
10
  const method = (0, release_1.getReleaseMethod)(config);
8
11
  const resolved = images.resolveRef({ catladderImage: method.image });
9
- const imageNeeds = resolved.need && typeof resolved.need === "object"
12
+ const imageNeeds = !options.skipImageNeeds &&
13
+ resolved.need &&
14
+ typeof resolved.need === "object"
10
15
  ? [(0, createGithubJobs_1.githubGlobalJobId)(resolved.need.job)]
11
16
  : [];
12
- const allNeeds = [...imageNeeds, ...(needs !== null && needs !== void 0 ? needs : [])];
17
+ const allNeeds = [...imageNeeds, ...((_a = options.needs) !== null && _a !== void 0 ? _a : [])];
13
18
  return {
14
19
  name: "create release",
15
20
  "runs-on": "ubuntu-latest",
@@ -38,7 +43,7 @@ const createReleaseJob = (config, images, needs, extraEnv) => {
38
43
  ...(allNeeds.length > 0 ? { needs: allNeeds } : {}),
39
44
  env: {
40
45
  GITHUB_TOKEN: "${{ github.token }}",
41
- ...extraEnv,
46
+ ...options.extraEnv,
42
47
  },
43
48
  steps: [
44
49
  {
@@ -48,8 +53,21 @@ const createReleaseJob = (config, images, needs, extraEnv) => {
48
53
  // tags since the last release) to determine the version
49
54
  with: { "fetch-depth": 0 },
50
55
  },
56
+ ...(options.queueCheck
57
+ ? [
58
+ {
59
+ name: "check main workflow",
60
+ id: "queue",
61
+ run: `node ${CATCI} release github-queue-check`,
62
+ shell: "bash",
63
+ },
64
+ ]
65
+ : []),
51
66
  {
52
67
  name: "create release",
68
+ ...(options.queueCheck
69
+ ? { if: "steps.queue.outputs.queued != 'true'" }
70
+ : {}),
53
71
  run: method.script,
54
72
  shell: "bash",
55
73
  },
@@ -63,7 +81,10 @@ const createReleaseJob = (config, images, needs, extraEnv) => {
63
81
  * workflow after all other jobs; a force variant goes to the manual
64
82
  * tasks workflow
65
83
  * - otherwise (manual, the default): the release job goes to the
66
- * manual tasks workflow
84
+ * manual tasks workflow. Its queue-check step releases right away on
85
+ * a green main run and otherwise queues the release for the
86
+ * release-on-green workflow (see getGithubReleaseOnGreenWorkflow) —
87
+ * the counterpart of gitlab's queue button + executor pair.
67
88
  */
68
89
  const getGithubReleaseJobs = (config, mainWorkflowJobIds, images) => {
69
90
  var _a;
@@ -71,28 +92,89 @@ const getGithubReleaseJobs = (config, mainWorkflowJobIds, images) => {
71
92
  if (((_a = config.releases) === null || _a === void 0 ? void 0 : _a.when) === "auto") {
72
93
  return {
73
94
  main: {
74
- "create-release": createReleaseJob(config, images, mainWorkflowJobIds),
95
+ "create-release": createReleaseJob(config, images, {
96
+ needs: mainWorkflowJobIds,
97
+ }),
75
98
  },
76
99
  manual: {
77
- "force-create-release": createReleaseJob(config, images, undefined, method.forceReleaseVariables),
100
+ "force-create-release": createReleaseJob(config, images, {
101
+ extraEnv: method.forceReleaseVariables,
102
+ }),
78
103
  },
79
104
  };
80
105
  }
81
106
  return {
82
107
  main: {},
83
108
  manual: {
84
- "create-release": createReleaseJob(config, images),
109
+ "create-release": createReleaseJob(config, images, { queueCheck: true }),
85
110
  // an explicit force option wherever the method distinguishes it
86
111
  // (e.g. changesets: release a patch bump without changesets)
87
112
  ...(method.forceReleaseVariables
88
113
  ? {
89
- "force-create-release": createReleaseJob(config, images, undefined, method.forceReleaseVariables),
114
+ "force-create-release": createReleaseJob(config, images, {
115
+ extraEnv: method.forceReleaseVariables,
116
+ }),
90
117
  }
91
118
  : {}),
92
119
  },
93
120
  };
94
121
  };
95
122
  exports.getGithubReleaseJobs = getGithubReleaseJobs;
123
+ /**
124
+ * the release-on-green workflow (manual release mode only): runs on
125
+ * every completed main workflow run. A lightweight host job checks the
126
+ * queue marker (written by the create-release task while the main
127
+ * workflow was still running) — most runs have nothing queued and end
128
+ * after that single quick job. When the marker matches the completed
129
+ * run, the containerized release job creates the release.
130
+ *
131
+ * No image-build jobs here: the release image was ensured by the main
132
+ * workflow run that just completed (same commit, same content-hashed
133
+ * tag).
134
+ */
135
+ const getGithubReleaseOnGreenWorkflow = (config, images, mainWorkflowName, workflowEnv) => {
136
+ var _a;
137
+ if (((_a = config.releases) === null || _a === void 0 ? void 0 : _a.when) === "auto") {
138
+ return null;
139
+ }
140
+ return {
141
+ name: "catladder release on green",
142
+ on: {
143
+ workflow_run: {
144
+ workflows: [mainWorkflowName],
145
+ types: ["completed"],
146
+ },
147
+ },
148
+ env: workflowEnv,
149
+ jobs: {
150
+ guard: {
151
+ name: "check queued release",
152
+ "runs-on": "ubuntu-latest",
153
+ // consuming the queue marker is a ref deletion
154
+ permissions: { contents: "write" },
155
+ env: { GITHUB_TOKEN: "${{ github.token }}" },
156
+ outputs: { release: "${{ steps.guard.outputs.release }}" },
157
+ steps: [
158
+ { name: "Checkout", uses: "actions/checkout@v4" },
159
+ {
160
+ name: "check queued release",
161
+ id: "guard",
162
+ run: `node ${CATCI} release github-queued-guard "\${{ github.event.workflow_run.head_sha }}" "\${{ github.event.workflow_run.conclusion }}"`,
163
+ shell: "bash",
164
+ },
165
+ ],
166
+ },
167
+ "create-release": {
168
+ ...createReleaseJob(config, images, {
169
+ needs: ["guard"],
170
+ skipImageNeeds: true,
171
+ }),
172
+ if: "${{ needs.guard.outputs.release == 'true' }}",
173
+ },
174
+ },
175
+ };
176
+ };
177
+ exports.getGithubReleaseOnGreenWorkflow = getGithubReleaseOnGreenWorkflow;
96
178
  /**
97
179
  * the informational MR/PR check job of the release method (e.g. the
98
180
  * changeset check), added to the mr workflow. continue-on-error keeps
@@ -1 +1 @@
1
- {"version":3,"file":"githubReleaseJobs.js","sourceRoot":"","sources":["../../../../../../../../packages/pipeline/src/backends/github/githubReleaseJobs.ts"],"names":[],"mappings":";;;AACA,yDAAuD;AACvD,2CAAiD;AAIjD,MAAM,gBAAgB,GAAG,CACvB,MAAc,EACd,MAAqB,EACrB,KAAgB,EAChB,QAAiC,EACtB,EAAE;IACb,MAAM,MAAM,GAAG,IAAA,0BAAgB,EAAC,MAAM,CAAC,CAAC;IACxC,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;IACrE,MAAM,UAAU,GACd,QAAQ,CAAC,IAAI,IAAI,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ;QAChD,CAAC,CAAC,CAAC,IAAA,oCAAiB,EAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACxC,CAAC,CAAC,EAAE,CAAC;IACT,MAAM,QAAQ,GAAG,CAAC,GAAG,UAAU,EAAE,GAAG,CAAC,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,EAAE,CAAC,CAAC,CAAC;IACnD,OAAO;QACL,IAAI,EAAE,gBAAgB;QACtB,SAAS,EAAE,eAAe;QAC1B,SAAS,EAAE;YACT,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,GAAG,CAAC,QAAQ,CAAC,gBAAgB;gBAC3B,CAAC,CAAC;oBACE,WAAW,EAAE;wBACX,QAAQ,EAAE,qBAAqB;wBAC/B,QAAQ,EAAE,qBAAqB;qBAChC;iBACF;gBACH,CAAC,CAAC,EAAE,CAAC;SACR;QACD,gEAAgE;QAChE,kEAAkE;QAClE,6DAA6D;QAC7D,+DAA+D;QAC/D,mEAAmE;QACnE,2CAA2C;QAC3C,WAAW,EAAE;YACX,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,OAAO;YAChB,GAAG,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC3D;QACD,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnD,GAAG,EAAE;YACH,YAAY,EAAE,qBAAqB;YACnC,GAAG,QAAQ;SACZ;QACD,KAAK,EAAE;YACL;gBACE,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,qBAAqB;gBAC3B,2DAA2D;gBAC3D,wDAAwD;gBACxD,IAAI,EAAE,EAAE,aAAa,EAAE,CAAC,EAAE;aAC3B;YACD;gBACE,IAAI,EAAE,gBAAgB;gBACtB,GAAG,EAAE,MAAM,CAAC,MAAM;gBAClB,KAAK,EAAE,MAAM;aACd;SACF;KACF,CAAC;AACJ,CAAC,CAAC;AAEF;;;;;;;;GAQG;AACI,MAAM,oBAAoB,GAAG,CAClC,MAAc,EACd,kBAA4B,EAC5B,MAAqB,EAIrB,EAAE;;IACF,MAAM,MAAM,GAAG,IAAA,0BAAgB,EAAC,MAAM,CAAC,CAAC;IACxC,IAAI,CAAA,MAAA,MAAM,CAAC,QAAQ,0CAAE,IAAI,MAAK,MAAM,EAAE,CAAC;QACrC,OAAO;YACL,IAAI,EAAE;gBACJ,gBAAgB,EAAE,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,kBAAkB,CAAC;aACvE;YACD,MAAM,EAAE;gBACN,sBAAsB,EAAE,gBAAgB,CACtC,MAAM,EACN,MAAM,EACN,SAAS,EACT,MAAM,CAAC,qBAAqB,CAC7B;aACF;SACF,CAAC;IACJ,CAAC;IACD,OAAO;QACL,IAAI,EAAE,EAAE;QACR,MAAM,EAAE;YACN,gBAAgB,EAAE,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC;YAClD,gEAAgE;YAChE,6DAA6D;YAC7D,GAAG,CAAC,MAAM,CAAC,qBAAqB;gBAC9B,CAAC,CAAC;oBACE,sBAAsB,EAAE,gBAAgB,CACtC,MAAM,EACN,MAAM,EACN,SAAS,EACT,MAAM,CAAC,qBAAqB,CAC7B;iBACF;gBACH,CAAC,CAAC,EAAE,CAAC;SACR;KACF,CAAC;AACJ,CAAC,CAAC;AA1CW,QAAA,oBAAoB,wBA0C/B;AAEF;;;;;GAKG;AACI,MAAM,yBAAyB,GAAG,CACvC,MAAc,EACd,MAAqB,EACM,EAAE;IAC7B,MAAM,MAAM,GAAG,IAAA,0BAAgB,EAAC,MAAM,CAAC,CAAC;IACxC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;QACxB,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;IACrE,MAAM,UAAU,GACd,QAAQ,CAAC,IAAI,IAAI,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ;QAChD,CAAC,CAAC,CAAC,IAAA,oCAAiB,EAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACxC,CAAC,CAAC,EAAE,CAAC;IACT,OAAO;QACL,iBAAiB,EAAE;YACjB,IAAI,EAAE,iBAAiB;YACvB,SAAS,EAAE,eAAe;YAC1B,SAAS,EAAE;gBACT,KAAK,EAAE,QAAQ,CAAC,KAAK;gBACrB,GAAG,CAAC,QAAQ,CAAC,gBAAgB;oBAC3B,CAAC,CAAC;wBACE,WAAW,EAAE;4BACX,QAAQ,EAAE,qBAAqB;4BAC/B,QAAQ,EAAE,qBAAqB;yBAChC;qBACF;oBACH,CAAC,CAAC,EAAE,CAAC;aACR;YACD,WAAW,EAAE;gBACX,QAAQ,EAAE,MAAM;gBAChB,eAAe,EAAE,OAAO;gBACxB,GAAG,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC3D;YACD,GAAG,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvD,mBAAmB,EAAE,IAAI;YACzB,GAAG,EAAE;gBACH,YAAY,EAAE,qBAAqB;aACpC;YACD,KAAK,EAAE;gBACL;oBACE,IAAI,EAAE,UAAU;oBAChB,IAAI,EAAE,qBAAqB;oBAC3B,4DAA4D;oBAC5D,cAAc;oBACd,IAAI,EAAE,EAAE,aAAa,EAAE,CAAC,EAAE;iBAC3B;gBACD;oBACE,IAAI,EAAE,iBAAiB;oBACvB,GAAG,EAAE,MAAM,CAAC,WAAW;oBACvB,KAAK,EAAE,MAAM;iBACd;aACF;SACF;KACF,CAAC;AACJ,CAAC,CAAC;AAtDW,QAAA,yBAAyB,6BAsDpC"}
1
+ {"version":3,"file":"githubReleaseJobs.js","sourceRoot":"","sources":["../../../../../../../../packages/pipeline/src/backends/github/githubReleaseJobs.ts"],"names":[],"mappings":";;;AACA,yDAAuD;AACvD,2CAAiD;AACjD,2DAAkE;AAIlE,MAAM,KAAK,GAAG,GAAG,qCAAsB,WAAW,CAAC;AAEnD,MAAM,gBAAgB,GAAG,CACvB,MAAc,EACd,MAAqB,EACrB,UAeI,EAAE,EACK,EAAE;;IACb,MAAM,MAAM,GAAG,IAAA,0BAAgB,EAAC,MAAM,CAAC,CAAC;IACxC,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;IACrE,MAAM,UAAU,GACd,CAAC,OAAO,CAAC,cAAc;QACvB,QAAQ,CAAC,IAAI;QACb,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ;QAC/B,CAAC,CAAC,CAAC,IAAA,oCAAiB,EAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACxC,CAAC,CAAC,EAAE,CAAC;IACT,MAAM,QAAQ,GAAG,CAAC,GAAG,UAAU,EAAE,GAAG,CAAC,MAAA,OAAO,CAAC,KAAK,mCAAI,EAAE,CAAC,CAAC,CAAC;IAC3D,OAAO;QACL,IAAI,EAAE,gBAAgB;QACtB,SAAS,EAAE,eAAe;QAC1B,SAAS,EAAE;YACT,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,GAAG,CAAC,QAAQ,CAAC,gBAAgB;gBAC3B,CAAC,CAAC;oBACE,WAAW,EAAE;wBACX,QAAQ,EAAE,qBAAqB;wBAC/B,QAAQ,EAAE,qBAAqB;qBAChC;iBACF;gBACH,CAAC,CAAC,EAAE,CAAC;SACR;QACD,gEAAgE;QAChE,kEAAkE;QAClE,6DAA6D;QAC7D,+DAA+D;QAC/D,mEAAmE;QACnE,2CAA2C;QAC3C,WAAW,EAAE;YACX,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,OAAO;YAChB,GAAG,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC3D;QACD,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnD,GAAG,EAAE;YACH,YAAY,EAAE,qBAAqB;YACnC,GAAG,OAAO,CAAC,QAAQ;SACpB;QACD,KAAK,EAAE;YACL;gBACE,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,qBAAqB;gBAC3B,2DAA2D;gBAC3D,wDAAwD;gBACxD,IAAI,EAAE,EAAE,aAAa,EAAE,CAAC,EAAE;aAC3B;YACD,GAAG,CAAC,OAAO,CAAC,UAAU;gBACpB,CAAC,CAAC;oBACE;wBACE,IAAI,EAAE,qBAAqB;wBAC3B,EAAE,EAAE,OAAO;wBACX,GAAG,EAAE,QAAQ,KAAK,6BAA6B;wBAC/C,KAAK,EAAE,MAAM;qBACd;iBACF;gBACH,CAAC,CAAC,EAAE,CAAC;YACP;gBACE,IAAI,EAAE,gBAAgB;gBACtB,GAAG,CAAC,OAAO,CAAC,UAAU;oBACpB,CAAC,CAAC,EAAE,EAAE,EAAE,sCAAsC,EAAE;oBAChD,CAAC,CAAC,EAAE,CAAC;gBACP,GAAG,EAAE,MAAM,CAAC,MAAM;gBAClB,KAAK,EAAE,MAAM;aACd;SACF;KACF,CAAC;AACJ,CAAC,CAAC;AAEF;;;;;;;;;;;GAWG;AACI,MAAM,oBAAoB,GAAG,CAClC,MAAc,EACd,kBAA4B,EAC5B,MAAqB,EAIrB,EAAE;;IACF,MAAM,MAAM,GAAG,IAAA,0BAAgB,EAAC,MAAM,CAAC,CAAC;IACxC,IAAI,CAAA,MAAA,MAAM,CAAC,QAAQ,0CAAE,IAAI,MAAK,MAAM,EAAE,CAAC;QACrC,OAAO;YACL,IAAI,EAAE;gBACJ,gBAAgB,EAAE,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE;oBACjD,KAAK,EAAE,kBAAkB;iBAC1B,CAAC;aACH;YACD,MAAM,EAAE;gBACN,sBAAsB,EAAE,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE;oBACvD,QAAQ,EAAE,MAAM,CAAC,qBAAqB;iBACvC,CAAC;aACH;SACF,CAAC;IACJ,CAAC;IACD,OAAO;QACL,IAAI,EAAE,EAAE;QACR,MAAM,EAAE;YACN,gBAAgB,EAAE,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;YACxE,gEAAgE;YAChE,6DAA6D;YAC7D,GAAG,CAAC,MAAM,CAAC,qBAAqB;gBAC9B,CAAC,CAAC;oBACE,sBAAsB,EAAE,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE;wBACvD,QAAQ,EAAE,MAAM,CAAC,qBAAqB;qBACvC,CAAC;iBACH;gBACH,CAAC,CAAC,EAAE,CAAC;SACR;KACF,CAAC;AACJ,CAAC,CAAC;AAtCW,QAAA,oBAAoB,wBAsC/B;AAEF;;;;;;;;;;;GAWG;AACI,MAAM,+BAA+B,GAAG,CAC7C,MAAc,EACd,MAAqB,EACrB,gBAAwB,EACxB,WAAmC,EACZ,EAAE;;IACzB,IAAI,CAAA,MAAA,MAAM,CAAC,QAAQ,0CAAE,IAAI,MAAK,MAAM,EAAE,CAAC;QACrC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO;QACL,IAAI,EAAE,4BAA4B;QAClC,EAAE,EAAE;YACF,YAAY,EAAE;gBACZ,SAAS,EAAE,CAAC,gBAAgB,CAAC;gBAC7B,KAAK,EAAE,CAAC,WAAW,CAAC;aACrB;SACF;QACD,GAAG,EAAE,WAAW;QAChB,IAAI,EAAE;YACJ,KAAK,EAAE;gBACL,IAAI,EAAE,sBAAsB;gBAC5B,SAAS,EAAE,eAAe;gBAC1B,+CAA+C;gBAC/C,WAAW,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE;gBAClC,GAAG,EAAE,EAAE,YAAY,EAAE,qBAAqB,EAAE;gBAC5C,OAAO,EAAE,EAAE,OAAO,EAAE,oCAAoC,EAAE;gBAC1D,KAAK,EAAE;oBACL,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,qBAAqB,EAAE;oBACjD;wBACE,IAAI,EAAE,sBAAsB;wBAC5B,EAAE,EAAE,OAAO;wBACX,GAAG,EAAE,QAAQ,KAAK,0HAA0H;wBAC5I,KAAK,EAAE,MAAM;qBACd;iBACF;aACF;YACD,gBAAgB,EAAE;gBAChB,GAAG,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE;oBAClC,KAAK,EAAE,CAAC,OAAO,CAAC;oBAChB,cAAc,EAAE,IAAI;iBACrB,CAAC;gBACF,EAAE,EAAE,8CAA8C;aACnD;SACF;KACF,CAAC;AACJ,CAAC,CAAC;AA7CW,QAAA,+BAA+B,mCA6C1C;AAEF;;;;;GAKG;AACI,MAAM,yBAAyB,GAAG,CACvC,MAAc,EACd,MAAqB,EACM,EAAE;IAC7B,MAAM,MAAM,GAAG,IAAA,0BAAgB,EAAC,MAAM,CAAC,CAAC;IACxC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;QACxB,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;IACrE,MAAM,UAAU,GACd,QAAQ,CAAC,IAAI,IAAI,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ;QAChD,CAAC,CAAC,CAAC,IAAA,oCAAiB,EAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACxC,CAAC,CAAC,EAAE,CAAC;IACT,OAAO;QACL,iBAAiB,EAAE;YACjB,IAAI,EAAE,iBAAiB;YACvB,SAAS,EAAE,eAAe;YAC1B,SAAS,EAAE;gBACT,KAAK,EAAE,QAAQ,CAAC,KAAK;gBACrB,GAAG,CAAC,QAAQ,CAAC,gBAAgB;oBAC3B,CAAC,CAAC;wBACE,WAAW,EAAE;4BACX,QAAQ,EAAE,qBAAqB;4BAC/B,QAAQ,EAAE,qBAAqB;yBAChC;qBACF;oBACH,CAAC,CAAC,EAAE,CAAC;aACR;YACD,WAAW,EAAE;gBACX,QAAQ,EAAE,MAAM;gBAChB,eAAe,EAAE,OAAO;gBACxB,GAAG,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC3D;YACD,GAAG,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvD,mBAAmB,EAAE,IAAI;YACzB,GAAG,EAAE;gBACH,YAAY,EAAE,qBAAqB;aACpC;YACD,KAAK,EAAE;gBACL;oBACE,IAAI,EAAE,UAAU;oBAChB,IAAI,EAAE,qBAAqB;oBAC3B,4DAA4D;oBAC5D,cAAc;oBACd,IAAI,EAAE,EAAE,aAAa,EAAE,CAAC,EAAE;iBAC3B;gBACD;oBACE,IAAI,EAAE,iBAAiB;oBACvB,GAAG,EAAE,MAAM,CAAC,WAAW;oBACvB,KAAK,EAAE,MAAM;iBACd;aACF;SACF;KACF,CAAC;AACJ,CAAC,CAAC;AAtDW,QAAA,yBAAyB,6BAsDpC"}
@@ -7,6 +7,7 @@ const config_1 = require("../../types/config");
7
7
  const createAllJobs_1 = require("../../pipeline/createAllJobs");
8
8
  const jobImagesPlan_1 = require("../../customImages/jobImagesPlan");
9
9
  const shippedCatci_1 = require("../../catci/shippedCatci");
10
+ const release_1 = require("../../release");
10
11
  const index_1 = require("../index");
11
12
  const createGitlabJobs_1 = require("./createGitlabJobs");
12
13
  const createGitlabPipeline_1 = require("./createGitlabPipeline");
@@ -93,12 +94,29 @@ class GitlabBackend {
93
94
  }
94
95
  async createPipeline(config, images) {
95
96
  const stages = (0, getPipelineStages_1.getPipelineStages)(config);
96
- // release jobs first: they register their image on the plan, and the
97
- // per-trigger job creation below emits the build jobs of all images
98
- // registered so far
99
- const releaseJobs = (0, gitlabReleaseJobs_1.getGitlabReleaseJobs)(config, images);
97
+ // register the release image first: the per-trigger job creation
98
+ // below emits the build jobs of all images registered so far. The
99
+ // release jobs themselves are created afterwards — they need the
100
+ // main-branch job list for the queued-release executor's needs.
101
+ images.resolveRef({ catladderImage: (0, release_1.getReleaseMethod)(config).image });
100
102
  // for all triggers create jobs and add base rules
101
- const allJobsPerTrigger = await Promise.all(config_1.ALL_PIPELINE_TRIGGERS.map(async (trigger) => await (0, createGitlabJobs_1.createGitlabJobs)(await (0, createAllJobs_1.createAllJobs)({ config, trigger, pipelineType: this.type }), images, getGitlabRulesForTrigger(trigger)))).then((j) => j.flat());
103
+ const jobsPerTrigger = await Promise.all(config_1.ALL_PIPELINE_TRIGGERS.map(async (trigger) => ({
104
+ trigger,
105
+ jobs: await (0, createGitlabJobs_1.createGitlabJobs)(await (0, createAllJobs_1.createAllJobs)({ config, trigger, pipelineType: this.type }), images, getGitlabRulesForTrigger(trigger)),
106
+ })));
107
+ const allJobsPerTrigger = jobsPerTrigger.flatMap(({ jobs }) => jobs);
108
+ // the jobs the queued-release executor waits for: everything that
109
+ // runs automatically in a main-branch pipeline. Manual jobs (stop,
110
+ // rollback, gates) are excluded — gitlab skips a job whose needs
111
+ // include an unplayed manual job.
112
+ const mainBranchJobNames = [
113
+ ...new Set(jobsPerTrigger
114
+ .filter(({ trigger }) => trigger === "mainBranch")
115
+ .flatMap(({ jobs }) => jobs)
116
+ .filter(({ gitlabJob }) => !isManualGitlabJob(gitlabJob))
117
+ .map(({ name }) => name)),
118
+ ];
119
+ const releaseJobs = (0, gitlabReleaseJobs_1.getGitlabReleaseJobs)(config, images, mainBranchJobNames);
102
120
  const allWorkspaceJobs = allJobsPerTrigger
103
121
  .filter((j) => { var _a; return ((_a = j.context) === null || _a === void 0 ? void 0 : _a.type) === "workspace"; }) // sort by componentName in the same order as they appear in the config
104
122
  // this is purely for better readability in git diffs when you add new components
@@ -164,6 +182,14 @@ class GitlabBackend {
164
182
  }
165
183
  }
166
184
  exports.GitlabBackend = GitlabBackend;
185
+ /**
186
+ * whether a job can end up waiting for a human in a main-branch
187
+ * pipeline (catladder expresses manual-ness only through rules)
188
+ */
189
+ function isManualGitlabJob(job) {
190
+ var _a;
191
+ return ((_a = job.rules) !== null && _a !== void 0 ? _a : []).some((rule) => rule.when === "manual");
192
+ }
167
193
  function getGitlabRulesForTrigger(trigger) {
168
194
  // mainBranch: on push to main branch except it's a release commit
169
195
  // mr: on merge request
@@ -1 +1 @@
1
- {"version":3,"file":"GitlabBackend.js","sourceRoot":"","sources":["../../../../../../../../packages/pipeline/src/backends/gitlab/GitlabBackend.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GitlabBackend.js","sourceRoot":"","sources":["../../../../../../../../packages/pipeline/src/backends/gitlab/GitlabBackend.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,13 @@
1
1
  import type { JobImagesPlan } from "../../customImages/jobImagesPlan";
2
2
  import type { Config } from "../../types/config";
3
- export declare const getGitlabReleaseJobs: (config: Config, images: JobImagesPlan) => {
4
- "\uD83E\uDD8B changeset check"?: {
3
+ export declare const RELEASE_BUTTON_JOB_NAME = "create release";
4
+ export declare const RELEASE_EXECUTOR_JOB_NAME = "\uD83D\uDE80 release once pipeline succeeds";
5
+ export declare const getGitlabReleaseJobs: (config: Config, images: JobImagesPlan, mainBranchJobNames: string[]) => {
6
+ "\uD83E\uDD8B changeset check": {
5
7
  stage: string;
6
8
  image: string;
7
9
  script: string[];
8
- allow_failure: boolean;
10
+ allow_failure: true;
9
11
  artifacts: {
10
12
  paths: string[];
11
13
  expose_as: string;
@@ -22,11 +24,191 @@ export declare const getGitlabReleaseJobs: (config: Config, images: JobImagesPla
22
24
  needs?: import("../../types/gitlab-ci-yml").RulesNeeds;
23
25
  }[];
24
26
  };
27
+ "\u26A0\uFE0F force create release": {
28
+ rules: {
29
+ if?: string;
30
+ changes?: import("../../types/gitlab-ci-yml").Changes;
31
+ exists?: import("../../types/gitlab-ci-yml").Exists;
32
+ variables?: import("../../types/gitlab-ci-yml").RulesVariables;
33
+ when?: import("../../types/gitlab-ci-yml").When;
34
+ start_in?: string;
35
+ allow_failure?: import("../../types/gitlab-ci-yml").AllowFailure;
36
+ needs?: import("../../types/gitlab-ci-yml").RulesNeeds;
37
+ }[];
38
+ variables?: Record<string, string>;
39
+ needs: any[];
40
+ allow_failure: true;
41
+ stage: string;
42
+ image: string;
43
+ script: string[];
44
+ after_script: string[];
45
+ };
46
+ "create release": {
47
+ rules: {
48
+ if?: string;
49
+ changes?: import("../../types/gitlab-ci-yml").Changes;
50
+ exists?: import("../../types/gitlab-ci-yml").Exists;
51
+ variables?: import("../../types/gitlab-ci-yml").RulesVariables;
52
+ when?: import("../../types/gitlab-ci-yml").When;
53
+ start_in?: string;
54
+ allow_failure?: import("../../types/gitlab-ci-yml").AllowFailure;
55
+ needs?: import("../../types/gitlab-ci-yml").RulesNeeds;
56
+ }[];
57
+ stage: string;
58
+ image: string;
59
+ script: string[];
60
+ after_script: string[];
61
+ needs?: undefined;
62
+ allow_failure?: undefined;
63
+ };
64
+ } | {
65
+ "\uD83E\uDD8B changeset check"?: undefined;
66
+ "\u26A0\uFE0F force create release": {
67
+ rules: {
68
+ if?: string;
69
+ changes?: import("../../types/gitlab-ci-yml").Changes;
70
+ exists?: import("../../types/gitlab-ci-yml").Exists;
71
+ variables?: import("../../types/gitlab-ci-yml").RulesVariables;
72
+ when?: import("../../types/gitlab-ci-yml").When;
73
+ start_in?: string;
74
+ allow_failure?: import("../../types/gitlab-ci-yml").AllowFailure;
75
+ needs?: import("../../types/gitlab-ci-yml").RulesNeeds;
76
+ }[];
77
+ variables?: Record<string, string>;
78
+ needs: any[];
79
+ allow_failure: true;
80
+ stage: string;
81
+ image: string;
82
+ script: string[];
83
+ after_script: string[];
84
+ };
85
+ "create release": {
86
+ rules: {
87
+ if?: string;
88
+ changes?: import("../../types/gitlab-ci-yml").Changes;
89
+ exists?: import("../../types/gitlab-ci-yml").Exists;
90
+ variables?: import("../../types/gitlab-ci-yml").RulesVariables;
91
+ when?: import("../../types/gitlab-ci-yml").When;
92
+ start_in?: string;
93
+ allow_failure?: import("../../types/gitlab-ci-yml").AllowFailure;
94
+ needs?: import("../../types/gitlab-ci-yml").RulesNeeds;
95
+ }[];
96
+ stage: string;
97
+ image: string;
98
+ script: string[];
99
+ after_script: string[];
100
+ needs?: undefined;
101
+ allow_failure?: undefined;
102
+ };
103
+ } | {
104
+ "\uD83E\uDD8B changeset check": {
105
+ stage: string;
106
+ image: string;
107
+ script: string[];
108
+ allow_failure: true;
109
+ artifacts: {
110
+ paths: string[];
111
+ expose_as: string;
112
+ when: "always";
113
+ };
114
+ rules: {
115
+ if?: string;
116
+ changes?: import("../../types/gitlab-ci-yml").Changes;
117
+ exists?: import("../../types/gitlab-ci-yml").Exists;
118
+ variables?: import("../../types/gitlab-ci-yml").RulesVariables;
119
+ when?: import("../../types/gitlab-ci-yml").When;
120
+ start_in?: string;
121
+ allow_failure?: import("../../types/gitlab-ci-yml").AllowFailure;
122
+ needs?: import("../../types/gitlab-ci-yml").RulesNeeds;
123
+ }[];
124
+ };
125
+ "\u26A0\uFE0F force create release": {
126
+ rules: {
127
+ if?: string;
128
+ changes?: import("../../types/gitlab-ci-yml").Changes;
129
+ exists?: import("../../types/gitlab-ci-yml").Exists;
130
+ variables?: import("../../types/gitlab-ci-yml").RulesVariables;
131
+ when?: import("../../types/gitlab-ci-yml").When;
132
+ start_in?: string;
133
+ allow_failure?: import("../../types/gitlab-ci-yml").AllowFailure;
134
+ needs?: import("../../types/gitlab-ci-yml").RulesNeeds;
135
+ }[];
136
+ variables?: Record<string, string>;
137
+ needs: any[];
138
+ allow_failure: true;
139
+ stage: string;
140
+ image: string;
141
+ script: string[];
142
+ after_script: string[];
143
+ };
144
+ "create release": {
145
+ allow_failure: true;
146
+ rules: {
147
+ if?: string;
148
+ changes?: import("../../types/gitlab-ci-yml").Changes;
149
+ exists?: import("../../types/gitlab-ci-yml").Exists;
150
+ variables?: import("../../types/gitlab-ci-yml").RulesVariables;
151
+ when?: import("../../types/gitlab-ci-yml").When;
152
+ start_in?: string;
153
+ allow_failure?: import("../../types/gitlab-ci-yml").AllowFailure;
154
+ needs?: import("../../types/gitlab-ci-yml").RulesNeeds;
155
+ }[];
156
+ stage: string;
157
+ image: string;
158
+ script: string[];
159
+ after_script: string[];
160
+ needs?: undefined;
161
+ };
162
+ } | {
163
+ "\uD83E\uDD8B changeset check"?: undefined;
164
+ "\u26A0\uFE0F force create release": {
165
+ rules: {
166
+ if?: string;
167
+ changes?: import("../../types/gitlab-ci-yml").Changes;
168
+ exists?: import("../../types/gitlab-ci-yml").Exists;
169
+ variables?: import("../../types/gitlab-ci-yml").RulesVariables;
170
+ when?: import("../../types/gitlab-ci-yml").When;
171
+ start_in?: string;
172
+ allow_failure?: import("../../types/gitlab-ci-yml").AllowFailure;
173
+ needs?: import("../../types/gitlab-ci-yml").RulesNeeds;
174
+ }[];
175
+ variables?: Record<string, string>;
176
+ needs: any[];
177
+ allow_failure: true;
178
+ stage: string;
179
+ image: string;
180
+ script: string[];
181
+ after_script: string[];
182
+ };
25
183
  "create release": {
184
+ allow_failure: true;
185
+ rules: {
186
+ if?: string;
187
+ changes?: import("../../types/gitlab-ci-yml").Changes;
188
+ exists?: import("../../types/gitlab-ci-yml").Exists;
189
+ variables?: import("../../types/gitlab-ci-yml").RulesVariables;
190
+ when?: import("../../types/gitlab-ci-yml").When;
191
+ start_in?: string;
192
+ allow_failure?: import("../../types/gitlab-ci-yml").AllowFailure;
193
+ needs?: import("../../types/gitlab-ci-yml").RulesNeeds;
194
+ }[];
26
195
  stage: string;
27
196
  image: string;
28
197
  script: string[];
29
198
  after_script: string[];
199
+ needs?: undefined;
200
+ };
201
+ } | {
202
+ "\uD83E\uDD8B changeset check": {
203
+ stage: string;
204
+ image: string;
205
+ script: string[];
206
+ allow_failure: true;
207
+ artifacts: {
208
+ paths: string[];
209
+ expose_as: string;
210
+ when: "always";
211
+ };
30
212
  rules: {
31
213
  if?: string;
32
214
  changes?: import("../../types/gitlab-ci-yml").Changes;
@@ -50,10 +232,110 @@ export declare const getGitlabReleaseJobs: (config: Config, images: JobImagesPla
50
232
  needs?: import("../../types/gitlab-ci-yml").RulesNeeds;
51
233
  }[];
52
234
  variables?: Record<string, string>;
235
+ needs: any[];
236
+ allow_failure: true;
53
237
  stage: string;
54
238
  image: string;
55
239
  script: string[];
56
240
  after_script: string[];
241
+ };
242
+ "create release": {
243
+ stage: string;
244
+ image: string;
245
+ script: string[];
57
246
  needs: any[];
247
+ allow_failure: true;
248
+ rules: {
249
+ if?: string;
250
+ changes?: import("../../types/gitlab-ci-yml").Changes;
251
+ exists?: import("../../types/gitlab-ci-yml").Exists;
252
+ variables?: import("../../types/gitlab-ci-yml").RulesVariables;
253
+ when?: import("../../types/gitlab-ci-yml").When;
254
+ start_in?: string;
255
+ allow_failure?: import("../../types/gitlab-ci-yml").AllowFailure;
256
+ needs?: import("../../types/gitlab-ci-yml").RulesNeeds;
257
+ }[];
258
+ };
259
+ "\uD83D\uDE80 release once pipeline succeeds": {
260
+ needs: ({
261
+ job: string;
262
+ optional: boolean;
263
+ } | {
264
+ job: string;
265
+ })[];
266
+ rules: {
267
+ if?: string;
268
+ changes?: import("../../types/gitlab-ci-yml").Changes;
269
+ exists?: import("../../types/gitlab-ci-yml").Exists;
270
+ variables?: import("../../types/gitlab-ci-yml").RulesVariables;
271
+ when?: import("../../types/gitlab-ci-yml").When;
272
+ start_in?: string;
273
+ allow_failure?: import("../../types/gitlab-ci-yml").AllowFailure;
274
+ needs?: import("../../types/gitlab-ci-yml").RulesNeeds;
275
+ }[];
276
+ stage: string;
277
+ image: string;
278
+ script: string[];
279
+ after_script: string[];
280
+ };
281
+ } | {
282
+ "\uD83E\uDD8B changeset check"?: undefined;
283
+ "\u26A0\uFE0F force create release": {
284
+ rules: {
285
+ if?: string;
286
+ changes?: import("../../types/gitlab-ci-yml").Changes;
287
+ exists?: import("../../types/gitlab-ci-yml").Exists;
288
+ variables?: import("../../types/gitlab-ci-yml").RulesVariables;
289
+ when?: import("../../types/gitlab-ci-yml").When;
290
+ start_in?: string;
291
+ allow_failure?: import("../../types/gitlab-ci-yml").AllowFailure;
292
+ needs?: import("../../types/gitlab-ci-yml").RulesNeeds;
293
+ }[];
294
+ variables?: Record<string, string>;
295
+ needs: any[];
296
+ allow_failure: true;
297
+ stage: string;
298
+ image: string;
299
+ script: string[];
300
+ after_script: string[];
301
+ };
302
+ "create release": {
303
+ stage: string;
304
+ image: string;
305
+ script: string[];
306
+ needs: any[];
307
+ allow_failure: true;
308
+ rules: {
309
+ if?: string;
310
+ changes?: import("../../types/gitlab-ci-yml").Changes;
311
+ exists?: import("../../types/gitlab-ci-yml").Exists;
312
+ variables?: import("../../types/gitlab-ci-yml").RulesVariables;
313
+ when?: import("../../types/gitlab-ci-yml").When;
314
+ start_in?: string;
315
+ allow_failure?: import("../../types/gitlab-ci-yml").AllowFailure;
316
+ needs?: import("../../types/gitlab-ci-yml").RulesNeeds;
317
+ }[];
318
+ };
319
+ "\uD83D\uDE80 release once pipeline succeeds": {
320
+ needs: ({
321
+ job: string;
322
+ optional: boolean;
323
+ } | {
324
+ job: string;
325
+ })[];
326
+ rules: {
327
+ if?: string;
328
+ changes?: import("../../types/gitlab-ci-yml").Changes;
329
+ exists?: import("../../types/gitlab-ci-yml").Exists;
330
+ variables?: import("../../types/gitlab-ci-yml").RulesVariables;
331
+ when?: import("../../types/gitlab-ci-yml").When;
332
+ start_in?: string;
333
+ allow_failure?: import("../../types/gitlab-ci-yml").AllowFailure;
334
+ needs?: import("../../types/gitlab-ci-yml").RulesNeeds;
335
+ }[];
336
+ stage: string;
337
+ image: string;
338
+ script: string[];
339
+ after_script: string[];
58
340
  };
59
341
  };