@catladder/pipeline 0.0.0-fix-command-710f75f1 → 0.0.0-fix-error-sql-db-delete-a719775a

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 (98) hide show
  1. package/dist/build/custom/buildJob.js +1 -0
  2. package/dist/build/docker.d.ts +4 -18
  3. package/dist/build/docker.js +15 -9
  4. package/dist/build/index.js +7 -1
  5. package/dist/build/rails/build.js +37 -16
  6. package/dist/build/rails/index.d.ts +2 -2
  7. package/dist/build/rails/test.js +1 -2
  8. package/dist/build/types.d.ts +36 -4
  9. package/dist/bundles/catladder-gitlab/index.js +543 -218
  10. package/dist/constants.js +1 -1
  11. package/dist/context/getEnvironment.js +1 -0
  12. package/dist/context/getEnvironmentContext.js +5 -3
  13. package/dist/context/getEnvironmentVariables.d.ts +5 -1
  14. package/dist/context/getEnvironmentVariables.js +7 -2
  15. package/dist/deploy/base.js +1 -1
  16. package/dist/deploy/cloudRun/index.js +14 -6
  17. package/dist/deploy/custom/deployJob.js +6 -3
  18. package/dist/deploy/index.d.ts +2 -1
  19. package/dist/deploy/kubernetes/additionalSecretKeys.d.ts +3 -1
  20. package/dist/deploy/kubernetes/additionalSecretKeys.js +5 -1
  21. package/dist/deploy/kubernetes/deployJob.js +4 -4
  22. package/dist/deploy/kubernetes/kubeValues.d.ts +1 -0
  23. package/dist/deploy/kubernetes/kubeValues.js +9 -6
  24. package/dist/deploy/kubernetes/processSecretsAsFiles.d.ts +1 -0
  25. package/dist/deploy/types/custom.d.ts +2 -1
  26. package/dist/deploy/types/googleCloudRun.d.ts +5 -1
  27. package/dist/deploy/types/kubernetes.d.ts +9 -0
  28. package/dist/pipeline/createAllJobs.d.ts +8 -0
  29. package/dist/pipeline/createAllJobs.js +164 -0
  30. package/dist/pipeline/createChildPipeline.js +24 -48
  31. package/dist/pipeline/createJobsForComponent.d.ts +3 -0
  32. package/dist/pipeline/{createJobs.js → createJobsForComponent.js} +8 -105
  33. package/dist/pipeline/gitlab/createGitlabJobs.d.ts +14 -0
  34. package/dist/pipeline/gitlab/createGitlabJobs.js +260 -0
  35. package/dist/pipeline/index.d.ts +1 -1
  36. package/dist/pipeline/index.js +1 -1
  37. package/dist/tsconfig.tsbuildinfo +1 -1
  38. package/dist/types/config.d.ts +3 -3
  39. package/dist/types/context.d.ts +3 -1
  40. package/dist/types/environmentContext.d.ts +7 -0
  41. package/dist/types/gitlab-types.d.ts +5 -1
  42. package/dist/types/jobs.d.ts +9 -2
  43. package/dist/utils/gitlab.js +1 -1
  44. package/examples/__snapshots__/cloud-run-memory-limit.ts.snap +32 -32
  45. package/examples/__snapshots__/cloud-run-no-cpu-throttling.ts.snap +32 -32
  46. package/examples/__snapshots__/cloud-run-non-public.ts.snap +32 -32
  47. package/examples/__snapshots__/cloud-run-with-sql-reuse-db.ts.snap +3116 -0
  48. package/examples/__snapshots__/cloud-run-with-sql.ts.snap +64 -64
  49. package/examples/__snapshots__/custom-build-job.ts.snap +32 -32
  50. package/examples/__snapshots__/custom-deploy.ts.snap +1384 -0
  51. package/examples/__snapshots__/kubernetes-application-customization.ts.snap +2280 -0
  52. package/examples/__snapshots__/kubernetes-with-cloud-sql-legacy.ts.snap +2204 -0
  53. package/examples/__snapshots__/kubernetes-with-jobs.ts.snap +24 -24
  54. package/examples/__snapshots__/rails-k8s-with-worker.ts.snap +1911 -0
  55. package/examples/cloud-run-with-sql-reuse-db.ts +54 -0
  56. package/examples/custom-deploy.ts +25 -0
  57. package/examples/kubernetes-application-customization.ts +57 -0
  58. package/examples/kubernetes-with-cloud-sql-legacy.ts +33 -0
  59. package/examples/rails-k8s-with-worker.ts +95 -0
  60. package/package.json +1 -1
  61. package/src/build/custom/buildJob.ts +1 -0
  62. package/src/build/docker.ts +13 -6
  63. package/src/build/index.ts +7 -1
  64. package/src/build/node/cache.ts +2 -2
  65. package/src/build/rails/build.ts +20 -10
  66. package/src/build/rails/index.ts +2 -2
  67. package/src/build/rails/test.ts +43 -39
  68. package/src/build/types.ts +40 -5
  69. package/src/config/configruedEnvs.ts +2 -8
  70. package/src/context/getEnvironment.ts +1 -0
  71. package/src/context/getEnvironmentContext.ts +6 -6
  72. package/src/context/getEnvironmentVariables.ts +9 -4
  73. package/src/deploy/base.ts +1 -1
  74. package/src/deploy/cloudRun/deployJob.ts +1 -1
  75. package/src/deploy/cloudRun/index.ts +12 -4
  76. package/src/deploy/custom/deployJob.ts +9 -1
  77. package/src/deploy/index.ts +4 -1
  78. package/src/deploy/kubernetes/additionalSecretKeys.ts +1 -1
  79. package/src/deploy/kubernetes/deployJob.ts +2 -1
  80. package/src/deploy/kubernetes/kubeValues.ts +7 -5
  81. package/src/deploy/types/custom.ts +2 -1
  82. package/src/deploy/types/googleCloudRun.ts +6 -1
  83. package/src/deploy/types/kubernetes.ts +11 -1
  84. package/src/pipeline/createAllJobs.ts +38 -0
  85. package/src/pipeline/createChildPipeline.ts +6 -22
  86. package/src/pipeline/createJobsForComponent.ts +64 -0
  87. package/src/pipeline/gitlab/createGitlabJobs.ts +149 -0
  88. package/src/pipeline/index.ts +1 -1
  89. package/src/types/context.ts +3 -1
  90. package/src/types/environmentContext.ts +7 -0
  91. package/src/types/gitlab-types.ts +10 -3
  92. package/src/types/jobs.ts +11 -2
  93. package/src/utils/gitlab.ts +1 -1
  94. package/dist/pipeline/createJobs.d.ts +0 -3
  95. package/dist/pipeline/gitlab/makeGitlabJob.d.ts +0 -10
  96. package/dist/pipeline/gitlab/makeGitlabJob.js +0 -44
  97. package/src/pipeline/createJobs.ts +0 -199
  98. package/src/pipeline/gitlab/makeGitlabJob.ts +0 -23
@@ -165,14 +165,12 @@ var __spreadArray = this && this.__spreadArray || function (to, from, pack) {
165
165
  return to.concat(ar || Array.prototype.slice.call(from));
166
166
  };
167
167
  exports.__esModule = true;
168
- exports.createJobs = void 0;
168
+ exports.createJobsForComponent = void 0;
169
169
  var lodash_1 = require("lodash");
170
170
  var build_1 = require("../build");
171
171
  var context_1 = require("../context");
172
172
  var deploy_1 = require("../deploy");
173
- var utils_1 = require("../utils");
174
173
  var getCommitInfo_1 = require("./commitInfo/getCommitInfo");
175
- var makeGitlabJob_1 = require("./gitlab/makeGitlabJob");
176
174
  var packageManager_1 = require("./packageManager");
177
175
  var injectDefaultVarsInCustomJobs = function (context, jobs) {
178
176
  return jobs.map(function (_a) {
@@ -200,76 +198,9 @@ var createRawJobs = function (context) {
200
198
  var customJobs = getCustomJobs(context);
201
199
  return __spreadArray(__spreadArray(__spreadArray([], __read(buildJobs), false), __read(deployJobs), false), __read(customJobs), false);
202
200
  };
203
- var getFullJobName = function (name, componentName, env) {
204
- if (env) {
205
- return "".concat(componentName, " ").concat(name, " | ").concat(env, " ");
206
- }
207
- return "".concat(componentName, " ").concat(name);
208
- };
209
- var getFullReferencedJobName = function (referencedJobName, componentName, env, allRawJobs) {
210
- var referencedJob = allRawJobs.find(function (j) {
211
- return j.name === referencedJobName;
212
- });
213
- if (!referencedJob) {
214
- throw new Error("unknown job referenced: " + referencedJobName);
215
- }
216
- var envToSet = referencedJob.envMode !== "none" ? env : null;
217
- return getFullJobName(referencedJobName, componentName, envToSet);
218
- };
219
- // replaces references to other jobs with the full name
220
- // the full name contains the componentname and the env name (if any)
221
- var replaceReferences = function (job, componentName, env, allRawJobs) {
222
- var _a, _b, _c;
223
- var stage = job.envMode === "stagePerEnv" ? "".concat(job.stage, " ").concat(env) : job.stage;
224
- var needsFromNeeds = (_a = job.needs) === null || _a === void 0 ? void 0 : _a.map(function (n) {
225
- return (0, lodash_1.isObject)(n) ? {
226
- job: getFullReferencedJobName(n.job, componentName, env, allRawJobs),
227
- artifacts: n.artifacts
228
- } : getFullReferencedJobName(n, componentName, env, allRawJobs);
229
- });
230
- var needsFromOtherComponents = (_b = job.needsOtherComponent) === null || _b === void 0 ? void 0 : _b.map(function (other) {
231
- return {
232
- artifacts: other.artifacts,
233
- job: getFullReferencedJobName(other.job, other.componentName, env, allRawJobs)
234
- };
235
- });
236
- var needs = __spreadArray(__spreadArray([], __read(needsFromNeeds !== null && needsFromNeeds !== void 0 ? needsFromNeeds : []), false), __read(needsFromOtherComponents !== null && needsFromOtherComponents !== void 0 ? needsFromOtherComponents : []), false);
237
- return __assign(__assign({}, job), {
238
- stage: stage,
239
- needs: needs,
240
- environment: ((_c = job.environment) === null || _c === void 0 ? void 0 : _c.on_stop) ? __assign(__assign({}, job.environment), {
241
- on_stop: getFullReferencedJobName(job.environment.on_stop, componentName, env, allRawJobs)
242
- }) : job.environment
243
- });
244
- };
245
- // this can be removed once https://gitlab.com/gitlab-org/gitlab/-/issues/220758 is resolved
246
- var addStageNeeds = function (jobs) {
247
- // when a job defines needsStages, we add these as needs
248
- return jobs.map(function (job) {
249
- var _a;
250
- if (!job.needsStages || job.needsStages.length === 0) {
251
- return job;
252
- }
253
- var neededJobs = jobs.map(function (j) {
254
- var _a, _b;
255
- var neededStage = (_a = job.needsStages) === null || _a === void 0 ? void 0 : _a.find(function (s) {
256
- return j.stage === s.stage;
257
- });
258
- if (neededStage) {
259
- return {
260
- job: j.name,
261
- artifacts: (_b = neededStage.artifacts) !== null && _b !== void 0 ? _b : false
262
- };
263
- }
264
- }).filter(utils_1.notNil);
265
- return __assign(__assign({}, job), {
266
- needs: __spreadArray(__spreadArray([], __read((_a = job.needs) !== null && _a !== void 0 ? _a : []), false), __read(neededJobs), false)
267
- });
268
- });
269
- };
270
- var createJobs = function (type, envs, config, componentName, trigger) {
201
+ var createJobsForComponent = function (config, componentName, env, trigger) {
271
202
  return __awaiter(void 0, void 0, void 0, function () {
272
- var commitInfo, _a, packageManagerInfo;
203
+ var commitInfo, _a, packageManagerInfo, context;
273
204
  return __generator(this, function (_b) {
274
205
  switch (_b.label) {
275
206
  case 0:
@@ -282,40 +213,12 @@ var createJobs = function (type, envs, config, componentName, trigger) {
282
213
  return [4 /*yield*/, (0, packageManager_1.getPackageManagerInfo)(config, componentName)];
283
214
  case 2:
284
215
  packageManagerInfo = _b.sent();
285
- return [2 /*return*/, envs.reduce(function (acc, env) {
286
- return __awaiter(void 0, void 0, void 0, function () {
287
- var context, jobs, result, _a, _b, _c, _d, _e;
288
- return __generator(this, function (_f) {
289
- switch (_f.label) {
290
- case 0:
291
- return [4 /*yield*/, (0, context_1.createContext)(config, componentName, env, commitInfo, packageManagerInfo)];
292
- case 1:
293
- context = _f.sent();
294
- jobs = addStageNeeds(createRawJobs(context));
295
- _a = [{}];
296
- return [4 /*yield*/, acc];
297
- case 2:
298
- _b = [__assign.apply(void 0, _a.concat([_f.sent()]))];
299
- _d = (_c = jobs).reduce;
300
- _e = [function (acc, job) {
301
- var _a;
302
- var jobWithResolvedReferences = replaceReferences(job, componentName, env, jobs);
303
- var jobName = getFullJobName(job.name, componentName, job.envMode !== "none" ? env : undefined);
304
- if (type === "gitlab") {
305
- return __assign(__assign({}, acc), (_a = {}, _a[jobName] = (0, makeGitlabJob_1.makeGitlabJob)(jobWithResolvedReferences), _a));
306
- }
307
- throw new Error("not supported");
308
- }];
309
- return [4 /*yield*/, Promise.resolve({})];
310
- case 3:
311
- result = __assign.apply(void 0, _b.concat([_d.apply(_c, _e.concat([_f.sent()]))]));
312
- return [2 /*return*/, result];
313
- }
314
- });
315
- });
316
- }, {})];
216
+ return [4 /*yield*/, (0, context_1.createContext)(config, componentName, env, commitInfo, packageManagerInfo)];
217
+ case 3:
218
+ context = _b.sent();
219
+ return [2 /*return*/, createRawJobs(context)];
317
220
  }
318
221
  });
319
222
  });
320
223
  };
321
- exports.createJobs = createJobs;
224
+ exports.createJobsForComponent = createJobsForComponent;
@@ -0,0 +1,14 @@
1
+ import type { GitlabJobDef } from "../../types";
2
+ import type { CatladderJob } from "../../types/jobs";
3
+ import type { AllCatladderJobs } from "../createAllJobs";
4
+ declare type AllGitlabJobs = Record<string, GitlabJobDef>;
5
+ export declare const makeGitlabJob: (componentName: string, env: string, {
6
+ envMode,
7
+ needsStages,
8
+ needsOtherComponent,
9
+ name,
10
+ needs,
11
+ ...job
12
+ }: CatladderJob<string>, allJobs: AllCatladderJobs) => [fullName: string, job: GitlabJobDef];
13
+ export declare const createGitlabJobs: (allJobs: AllCatladderJobs) => Promise<AllGitlabJobs>;
14
+ export {};
@@ -0,0 +1,260 @@
1
+ "use strict";
2
+
3
+ var __assign = this && this.__assign || function () {
4
+ __assign = Object.assign || function (t) {
5
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
6
+ s = arguments[i];
7
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __awaiter = this && this.__awaiter || function (thisArg, _arguments, P, generator) {
14
+ function adopt(value) {
15
+ return value instanceof P ? value : new P(function (resolve) {
16
+ resolve(value);
17
+ });
18
+ }
19
+ return new (P || (P = Promise))(function (resolve, reject) {
20
+ function fulfilled(value) {
21
+ try {
22
+ step(generator.next(value));
23
+ } catch (e) {
24
+ reject(e);
25
+ }
26
+ }
27
+ function rejected(value) {
28
+ try {
29
+ step(generator["throw"](value));
30
+ } catch (e) {
31
+ reject(e);
32
+ }
33
+ }
34
+ function step(result) {
35
+ result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
36
+ }
37
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
38
+ });
39
+ };
40
+ var __generator = this && this.__generator || function (thisArg, body) {
41
+ var _ = {
42
+ label: 0,
43
+ sent: function () {
44
+ if (t[0] & 1) throw t[1];
45
+ return t[1];
46
+ },
47
+ trys: [],
48
+ ops: []
49
+ },
50
+ f,
51
+ y,
52
+ t,
53
+ g;
54
+ return g = {
55
+ next: verb(0),
56
+ "throw": verb(1),
57
+ "return": verb(2)
58
+ }, typeof Symbol === "function" && (g[Symbol.iterator] = function () {
59
+ return this;
60
+ }), g;
61
+ function verb(n) {
62
+ return function (v) {
63
+ return step([n, v]);
64
+ };
65
+ }
66
+ function step(op) {
67
+ if (f) throw new TypeError("Generator is already executing.");
68
+ while (_) try {
69
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
70
+ if (y = 0, t) op = [op[0] & 2, t.value];
71
+ switch (op[0]) {
72
+ case 0:
73
+ case 1:
74
+ t = op;
75
+ break;
76
+ case 4:
77
+ _.label++;
78
+ return {
79
+ value: op[1],
80
+ done: false
81
+ };
82
+ case 5:
83
+ _.label++;
84
+ y = op[1];
85
+ op = [0];
86
+ continue;
87
+ case 7:
88
+ op = _.ops.pop();
89
+ _.trys.pop();
90
+ continue;
91
+ default:
92
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
93
+ _ = 0;
94
+ continue;
95
+ }
96
+ if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
97
+ _.label = op[1];
98
+ break;
99
+ }
100
+ if (op[0] === 6 && _.label < t[1]) {
101
+ _.label = t[1];
102
+ t = op;
103
+ break;
104
+ }
105
+ if (t && _.label < t[2]) {
106
+ _.label = t[2];
107
+ _.ops.push(op);
108
+ break;
109
+ }
110
+ if (t[2]) _.ops.pop();
111
+ _.trys.pop();
112
+ continue;
113
+ }
114
+ op = body.call(thisArg, _);
115
+ } catch (e) {
116
+ op = [6, e];
117
+ y = 0;
118
+ } finally {
119
+ f = t = 0;
120
+ }
121
+ if (op[0] & 5) throw op[1];
122
+ return {
123
+ value: op[0] ? op[1] : void 0,
124
+ done: true
125
+ };
126
+ }
127
+ };
128
+ var __rest = this && this.__rest || function (s, e) {
129
+ var t = {};
130
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
131
+ if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
132
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
133
+ }
134
+ return t;
135
+ };
136
+ var __read = this && this.__read || function (o, n) {
137
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
138
+ if (!m) return o;
139
+ var i = m.call(o),
140
+ r,
141
+ ar = [],
142
+ e;
143
+ try {
144
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
145
+ } catch (error) {
146
+ e = {
147
+ error: error
148
+ };
149
+ } finally {
150
+ try {
151
+ if (r && !r.done && (m = i["return"])) m.call(i);
152
+ } finally {
153
+ if (e) throw e.error;
154
+ }
155
+ }
156
+ return ar;
157
+ };
158
+ var __spreadArray = this && this.__spreadArray || function (to, from, pack) {
159
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
160
+ if (ar || !(i in from)) {
161
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
162
+ ar[i] = from[i];
163
+ }
164
+ }
165
+ return to.concat(ar || Array.prototype.slice.call(from));
166
+ };
167
+ exports.__esModule = true;
168
+ exports.createGitlabJobs = exports.makeGitlabJob = void 0;
169
+ var lodash_1 = require("lodash");
170
+ var defaults_1 = require("../../defaults");
171
+ var getFullJobName = function (name, componentName, env) {
172
+ if (env) {
173
+ return "".concat(componentName, " ").concat(name, " | ").concat(env, " ");
174
+ }
175
+ return "".concat(componentName, " ").concat(name);
176
+ };
177
+ var getFullReferencedJobName = function (referencedJobName, componentName, env, allJobs) {
178
+ var _a, _b;
179
+ var referencedJob = (_b = (_a = allJobs[componentName]) === null || _a === void 0 ? void 0 : _a[env]) === null || _b === void 0 ? void 0 : _b.find(function (j) {
180
+ return j.name === referencedJobName;
181
+ });
182
+ if (!referencedJob) {
183
+ throw new Error("unknown job referenced: '".concat(referencedJobName, "' from '").concat(env, ":").concat(componentName, "'"));
184
+ }
185
+ var envToSet = referencedJob.envMode !== "none" ? env : null;
186
+ return getFullJobName(referencedJobName, componentName, envToSet);
187
+ };
188
+ var getJobName = function (need) {
189
+ return (0, lodash_1.isObject)(need) ? need.job : need;
190
+ };
191
+ var makeGitlabJob = function (componentName, env, _a, allJobs) {
192
+ var _b;
193
+ var envMode = _a.envMode,
194
+ needsStages = _a.needsStages,
195
+ needsOtherComponent = _a.needsOtherComponent,
196
+ name = _a.name,
197
+ needs = _a.needs,
198
+ job = __rest(_a, ["envMode", "needsStages", "needsOtherComponent", "name", "needs"]);
199
+ var stage = envMode === "stagePerEnv" ? "".concat(job.stage, " ").concat(env) : job.stage;
200
+ var needsFromStages = needsStages === null || needsStages === void 0 ? void 0 : needsStages.flatMap(function (n) {
201
+ var _a, _b, _c, _d;
202
+ var referencedComponentName = componentName;
203
+ var allJobNamesFromThatStage = (_d = (_c = (_b = (_a = allJobs[referencedComponentName]) === null || _a === void 0 ? void 0 : _a[env]) === null || _b === void 0 ? void 0 : _b.filter(function (j) {
204
+ return j.stage === n.stage;
205
+ })) === null || _c === void 0 ? void 0 : _c.map(function (j) {
206
+ return j.name;
207
+ })) !== null && _d !== void 0 ? _d : [];
208
+ return allJobNamesFromThatStage.map(function (job) {
209
+ var _a;
210
+ return {
211
+ job: job,
212
+ artifacts: (_a = n.artifacts) !== null && _a !== void 0 ? _a : false,
213
+ componentName: referencedComponentName
214
+ };
215
+ });
216
+ });
217
+ var cleanedNeeds = __spreadArray(__spreadArray(__spreadArray([], __read(needs !== null && needs !== void 0 ? needs : []), false), __read(needsOtherComponent !== null && needsOtherComponent !== void 0 ? needsOtherComponent : []), false), __read(needsFromStages !== null && needsFromStages !== void 0 ? needsFromStages : []), false);
218
+ var gitlabNeeds = cleanedNeeds === null || cleanedNeeds === void 0 ? void 0 : cleanedNeeds.map(function (n) {
219
+ var _a;
220
+ return (0, lodash_1.isObject)(n) ? {
221
+ job: getFullReferencedJobName(n.job, (_a = n.componentName) !== null && _a !== void 0 ? _a : componentName, env, allJobs),
222
+ artifacts: n.artifacts
223
+ } : getFullReferencedJobName(n, componentName, env, allJobs);
224
+ }).sort(function (a, b) {
225
+ return getJobName(a).localeCompare(getJobName(b));
226
+ });
227
+ var fullJobName = getFullJobName(name, componentName, envMode !== "none" ? env : undefined);
228
+ var gitlabJob = __assign(__assign({}, job), {
229
+ stage: stage,
230
+ environment: ((_b = job.environment) === null || _b === void 0 ? void 0 : _b.on_stop) ? __assign(__assign({}, job.environment), {
231
+ on_stop: getFullReferencedJobName(job.environment.on_stop, componentName, env, allJobs)
232
+ }) : job.environment,
233
+ // sort in a predictable manner for snapshot tests
234
+ needs: gitlabNeeds,
235
+ retry: defaults_1.BASE_RETRY,
236
+ interruptible: true
237
+ });
238
+ return [fullJobName, gitlabJob];
239
+ };
240
+ exports.makeGitlabJob = makeGitlabJob;
241
+ var createGitlabJobs = function (allJobs) {
242
+ return __awaiter(void 0, void 0, void 0, function () {
243
+ return __generator(this, function (_a) {
244
+ return [2 /*return*/, Object.keys(allJobs).reduce(function (accForComponents, componentName) {
245
+ var componentJobs = allJobs[componentName];
246
+ return __assign(__assign({}, accForComponents), Object.keys(componentJobs).reduce(function (accForEnvs, env) {
247
+ var jobs = componentJobs[env];
248
+ return __assign(__assign({}, accForEnvs), jobs.reduce(function (accForJobs, job) {
249
+ var _a;
250
+ var _b = __read((0, exports.makeGitlabJob)(componentName, env, job, allJobs), 2),
251
+ fullJobName = _b[0],
252
+ gitlabJob = _b[1];
253
+ return __assign(__assign({}, accForJobs), (_a = {}, _a[fullJobName] = gitlabJob, _a));
254
+ }, {}));
255
+ }, {}));
256
+ }, {})];
257
+ });
258
+ });
259
+ };
260
+ exports.createGitlabJobs = createGitlabJobs;
@@ -1,2 +1,2 @@
1
1
  export * from "./createChildPipeline";
2
- export * from "./createJobs";
2
+ export * from "./createJobsForComponent";
@@ -17,4 +17,4 @@ var __exportStar = this && this.__exportStar || function (m, exports) {
17
17
  };
18
18
  exports.__esModule = true;
19
19
  __exportStar(require("./createChildPipeline"), exports);
20
- __exportStar(require("./createJobs"), exports);
20
+ __exportStar(require("./createJobsForComponent"), exports);