@catladder/pipeline 3.48.0 → 4.0.1

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 (95) hide show
  1. package/dist/build/index.d.ts +2 -2
  2. package/dist/build/node/buildJob.d.ts +3 -3
  3. package/dist/build/node/buildJob.js +185 -26
  4. package/dist/build/node/cache.d.ts +3 -3
  5. package/dist/build/node/cache.js +199 -36
  6. package/dist/build/node/index.d.ts +3 -3
  7. package/dist/build/node/index.js +151 -3
  8. package/dist/build/node/meteor.d.ts +1 -1
  9. package/dist/build/node/meteor.js +162 -27
  10. package/dist/build/node/testJob.d.ts +1 -1
  11. package/dist/build/node/testJob.js +174 -49
  12. package/dist/build/node/yarn.d.ts +2 -2
  13. package/dist/build/node/yarn.js +168 -21
  14. package/dist/constants.js +1 -1
  15. package/dist/context/createComponentContext.js +10 -12
  16. package/dist/context/createWorkspaceContext.js +29 -34
  17. package/dist/deploy/custom/deployJob.d.ts +1 -1
  18. package/dist/deploy/custom/deployJob.js +147 -23
  19. package/dist/deploy/index.d.ts +1 -1
  20. package/dist/pipeline/createAllJobs.js +30 -14
  21. package/dist/pipeline/createJobsForComponent.d.ts +1 -1
  22. package/dist/pipeline/createJobsForComponent.js +128 -4
  23. package/dist/pipeline/createJobsForWorkspace.d.ts +1 -1
  24. package/dist/pipeline/createJobsForWorkspace.js +127 -2
  25. package/dist/pipeline/yarn/yarnUtils.js +61 -1
  26. package/dist/tsconfig.tsbuildinfo +1 -1
  27. package/dist/types/context.d.ts +3 -3
  28. package/examples/__snapshots__/automatic-releases.test.ts.snap +9 -13
  29. package/examples/__snapshots__/cloud-run-execute-script-on-deploy.test.ts.snap +9 -13
  30. package/examples/__snapshots__/cloud-run-health-check-defaults.test.ts.snap +9 -13
  31. package/examples/__snapshots__/cloud-run-health-check-only-startup.test.ts.snap +9 -13
  32. package/examples/__snapshots__/cloud-run-health-check.test.ts.snap +9 -13
  33. package/examples/__snapshots__/cloud-run-http2.test.ts.snap +9 -13
  34. package/examples/__snapshots__/cloud-run-memory-limit.test.ts.snap +9 -13
  35. package/examples/__snapshots__/cloud-run-meteor-with-worker.test.ts.snap +9 -13
  36. package/examples/__snapshots__/cloud-run-nextjs.test.ts.snap +9 -13
  37. package/examples/__snapshots__/cloud-run-no-cpu-throttling.test.ts.snap +9 -13
  38. package/examples/__snapshots__/cloud-run-no-service.test.ts.snap +9 -13
  39. package/examples/__snapshots__/cloud-run-non-public.test.ts.snap +9 -13
  40. package/examples/__snapshots__/cloud-run-post-stop-job.test.ts.snap +9 -13
  41. package/examples/__snapshots__/cloud-run-service-custom-vpc-connector.test.ts.snap +9 -13
  42. package/examples/__snapshots__/cloud-run-service-custom-vpc.test.ts.snap +9 -13
  43. package/examples/__snapshots__/cloud-run-service-gen2.test.ts.snap +9 -13
  44. package/examples/__snapshots__/cloud-run-service-increase-timout.test.ts.snap +9 -13
  45. package/examples/__snapshots__/cloud-run-service-with-volumes.test.ts.snap +9 -13
  46. package/examples/__snapshots__/cloud-run-session-affinity.test.ts.snap +9 -13
  47. package/examples/__snapshots__/cloud-run-with-agents.test.ts.snap +9 -13
  48. package/examples/__snapshots__/cloud-run-with-gpu.test.ts.snap +9 -13
  49. package/examples/__snapshots__/cloud-run-with-ngnix.test.ts.snap +9 -13
  50. package/examples/__snapshots__/cloud-run-with-sql-legacy-jobs.test.ts.snap +9 -13
  51. package/examples/__snapshots__/cloud-run-with-sql-multiple-dbs.test.ts.snap +18 -30
  52. package/examples/__snapshots__/cloud-run-with-sql-reuse-db.test.ts.snap +14 -22
  53. package/examples/__snapshots__/cloud-run-with-sql.test.ts.snap +9 -13
  54. package/examples/__snapshots__/cloud-run-with-worker.test.ts.snap +9 -13
  55. package/examples/__snapshots__/cloud-run-worker-pool.test.ts.snap +9 -13
  56. package/examples/__snapshots__/custom-deploy.test.ts.snap +9 -13
  57. package/examples/__snapshots__/custom-docker-file.test.ts.snap +9 -13
  58. package/examples/__snapshots__/custom-envs.test.ts.snap +14 -22
  59. package/examples/__snapshots__/custom-verify-job.test.ts.snap +9 -13
  60. package/examples/__snapshots__/git-submodule.test.ts.snap +9 -13
  61. package/examples/__snapshots__/kubernetes-application-customization.test.ts.snap +9 -13
  62. package/examples/__snapshots__/kubernetes-with-cloud-sql.test.ts.snap +9 -13
  63. package/examples/__snapshots__/kubernetes-with-jobs.test.ts.snap +14 -22
  64. package/examples/__snapshots__/kubernetes-with-mongodb.test.ts.snap +9 -13
  65. package/examples/__snapshots__/local-dot-env.test.ts.snap +9 -13
  66. package/examples/__snapshots__/meteor-kubernetes.test.ts.snap +9 -13
  67. package/examples/__snapshots__/modify-generated-files.test.ts.snap +9 -13
  68. package/examples/__snapshots__/modify-generated-yaml.test.ts.snap +9 -13
  69. package/examples/__snapshots__/multiline-var.test.ts.snap +18 -30
  70. package/examples/__snapshots__/native-app.test.ts.snap +14 -22
  71. package/examples/__snapshots__/node-build-with-custom-image.test.ts.snap +9 -13
  72. package/examples/__snapshots__/node-build-with-docker-additions.test.ts.snap +9 -13
  73. package/examples/__snapshots__/override-secrets.test.ts.snap +9 -13
  74. package/examples/__snapshots__/referencing-other-vars.test.ts.snap +18 -30
  75. package/examples/__snapshots__/wait-for-other-deploy.test.ts.snap +14 -22
  76. package/examples/__snapshots__/workspace-api-www-turbo-cache.test.ts.snap +9 -13
  77. package/examples/__snapshots__/workspace-api-www.test.ts.snap +9 -13
  78. package/package.json +1 -1
  79. package/src/build/index.ts +6 -2
  80. package/src/build/node/buildJob.ts +26 -17
  81. package/src/build/node/cache.ts +18 -15
  82. package/src/build/node/index.ts +17 -9
  83. package/src/build/node/meteor.ts +16 -11
  84. package/src/build/node/testJob.ts +10 -6
  85. package/src/build/node/yarn.ts +10 -8
  86. package/src/context/createComponentContext.ts +6 -3
  87. package/src/context/createWorkspaceContext.ts +1 -1
  88. package/src/deploy/cloudRun/createJobs/getCloudRunDeployScripts.ts +3 -1
  89. package/src/deploy/custom/deployJob.ts +3 -3
  90. package/src/deploy/index.ts +1 -1
  91. package/src/pipeline/createAllJobs.ts +9 -7
  92. package/src/pipeline/createJobsForComponent.ts +6 -6
  93. package/src/pipeline/createJobsForWorkspace.ts +3 -3
  94. package/src/pipeline/yarn/yarnUtils.ts +34 -0
  95. package/src/types/context.ts +3 -3
@@ -10,6 +10,121 @@ var __assign = this && this.__assign || function () {
10
10
  };
11
11
  return __assign.apply(this, arguments);
12
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 (g && (g = 0, op[0] && (_ = 0)), _) 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
+ };
13
128
  var __rest = this && this.__rest || function (s, e) {
14
129
  var t = {};
15
130
  for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
@@ -73,9 +188,18 @@ var getCustomJobs = function (context) {
73
188
  return injectDefaultVarsInCustomJobs(context, rawJobs);
74
189
  };
75
190
  var createJobsForComponentContext = function (context) {
76
- var buildJobs = context.build.type !== "disabled" ? build_1.BUILD_TYPES[context.build.buildType].jobs(context) : [];
77
- var deployJobs = context.componentConfig.deploy !== false ? deploy_1.DEPLOY_TYPES[context.componentConfig.deploy.type].jobs(context) : [];
78
- var customJobs = getCustomJobs(context);
79
- return __spreadArray(__spreadArray(__spreadArray([], __read(buildJobs), false), __read(deployJobs), false), __read(customJobs), false);
191
+ return __awaiter(void 0, void 0, void 0, function () {
192
+ var _a, buildJobs, deployJobs, customJobs;
193
+ return __generator(this, function (_b) {
194
+ switch (_b.label) {
195
+ case 0:
196
+ return [4 /*yield*/, Promise.all([context.build.type !== "disabled" ? build_1.BUILD_TYPES[context.build.buildType].jobs(context) : [], context.componentConfig.deploy !== false ? deploy_1.DEPLOY_TYPES[context.componentConfig.deploy.type].jobs(context) : []])];
197
+ case 1:
198
+ _a = __read.apply(void 0, [_b.sent(), 2]), buildJobs = _a[0], deployJobs = _a[1];
199
+ customJobs = getCustomJobs(context);
200
+ return [2 /*return*/, __spreadArray(__spreadArray(__spreadArray([], __read(buildJobs), false), __read(deployJobs), false), __read(customJobs), false)];
201
+ }
202
+ });
203
+ });
80
204
  };
81
205
  exports.createJobsForComponentContext = createJobsForComponentContext;
@@ -1,3 +1,3 @@
1
1
  import type { WorkspaceContext } from "../types/context";
2
2
  import type { CatladderJob } from "../types/jobs";
3
- export declare const createJobsForWorkspace: (context: WorkspaceContext) => CatladderJob[];
3
+ export declare const createJobsForWorkspace: (context: WorkspaceContext) => Promise<CatladderJob[]>;
@@ -1,12 +1,137 @@
1
1
  "use strict";
2
2
 
3
+ var __awaiter = this && this.__awaiter || function (thisArg, _arguments, P, generator) {
4
+ function adopt(value) {
5
+ return value instanceof P ? value : new P(function (resolve) {
6
+ resolve(value);
7
+ });
8
+ }
9
+ return new (P || (P = Promise))(function (resolve, reject) {
10
+ function fulfilled(value) {
11
+ try {
12
+ step(generator.next(value));
13
+ } catch (e) {
14
+ reject(e);
15
+ }
16
+ }
17
+ function rejected(value) {
18
+ try {
19
+ step(generator["throw"](value));
20
+ } catch (e) {
21
+ reject(e);
22
+ }
23
+ }
24
+ function step(result) {
25
+ result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
26
+ }
27
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
28
+ });
29
+ };
30
+ var __generator = this && this.__generator || function (thisArg, body) {
31
+ var _ = {
32
+ label: 0,
33
+ sent: function () {
34
+ if (t[0] & 1) throw t[1];
35
+ return t[1];
36
+ },
37
+ trys: [],
38
+ ops: []
39
+ },
40
+ f,
41
+ y,
42
+ t,
43
+ g;
44
+ return g = {
45
+ next: verb(0),
46
+ "throw": verb(1),
47
+ "return": verb(2)
48
+ }, typeof Symbol === "function" && (g[Symbol.iterator] = function () {
49
+ return this;
50
+ }), g;
51
+ function verb(n) {
52
+ return function (v) {
53
+ return step([n, v]);
54
+ };
55
+ }
56
+ function step(op) {
57
+ if (f) throw new TypeError("Generator is already executing.");
58
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
59
+ 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;
60
+ if (y = 0, t) op = [op[0] & 2, t.value];
61
+ switch (op[0]) {
62
+ case 0:
63
+ case 1:
64
+ t = op;
65
+ break;
66
+ case 4:
67
+ _.label++;
68
+ return {
69
+ value: op[1],
70
+ done: false
71
+ };
72
+ case 5:
73
+ _.label++;
74
+ y = op[1];
75
+ op = [0];
76
+ continue;
77
+ case 7:
78
+ op = _.ops.pop();
79
+ _.trys.pop();
80
+ continue;
81
+ default:
82
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
83
+ _ = 0;
84
+ continue;
85
+ }
86
+ if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
87
+ _.label = op[1];
88
+ break;
89
+ }
90
+ if (op[0] === 6 && _.label < t[1]) {
91
+ _.label = t[1];
92
+ t = op;
93
+ break;
94
+ }
95
+ if (t && _.label < t[2]) {
96
+ _.label = t[2];
97
+ _.ops.push(op);
98
+ break;
99
+ }
100
+ if (t[2]) _.ops.pop();
101
+ _.trys.pop();
102
+ continue;
103
+ }
104
+ op = body.call(thisArg, _);
105
+ } catch (e) {
106
+ op = [6, e];
107
+ y = 0;
108
+ } finally {
109
+ f = t = 0;
110
+ }
111
+ if (op[0] & 5) throw op[1];
112
+ return {
113
+ value: op[0] ? op[1] : void 0,
114
+ done: true
115
+ };
116
+ }
117
+ };
3
118
  Object.defineProperty(exports, "__esModule", {
4
119
  value: true
5
120
  });
6
121
  exports.createJobsForWorkspace = void 0;
7
122
  var build_1 = require("../build");
8
123
  var createJobsForWorkspace = function (context) {
9
- var buildJobs = build_1.WORKSPACE_BUILD_TYPES[context.build.buildType].jobs(context);
10
- return buildJobs;
124
+ return __awaiter(void 0, void 0, void 0, function () {
125
+ var buildJobs;
126
+ return __generator(this, function (_a) {
127
+ switch (_a.label) {
128
+ case 0:
129
+ return [4 /*yield*/, build_1.WORKSPACE_BUILD_TYPES[context.build.buildType].jobs(context)];
130
+ case 1:
131
+ buildJobs = _a.sent();
132
+ return [2 /*return*/, buildJobs];
133
+ }
134
+ });
135
+ });
11
136
  };
12
137
  exports.createJobsForWorkspace = createJobsForWorkspace;
@@ -156,6 +156,8 @@ Object.defineProperty(exports, "__esModule", {
156
156
  });
157
157
  exports.getWorkspaceDependencies = exports.getWorkspaces = exports.getYarnVersion = void 0;
158
158
  var child_process_promise_1 = require("child-process-promise");
159
+ var promises_1 = require("fs/promises");
160
+ var path_1 = require("path");
159
161
  var memoizee_1 = __importDefault(require("memoizee"));
160
162
  var jsonParse_1 = require("../../utils/jsonParse");
161
163
  var execOrFail = function (cmd, onFail) {
@@ -179,14 +181,72 @@ var execOrFail = function (cmd, onFail) {
179
181
  });
180
182
  });
181
183
  };
184
+ var readPackageManagerVersion = function (dir) {
185
+ return __awaiter(void 0, void 0, void 0, function () {
186
+ var pkg, _a, _b, match, _c;
187
+ var _d;
188
+ return __generator(this, function (_e) {
189
+ switch (_e.label) {
190
+ case 0:
191
+ _e.trys.push([0, 2,, 3]);
192
+ _b = (_a = JSON).parse;
193
+ return [4 /*yield*/, (0, promises_1.readFile)((0, path_1.join)(dir, "package.json"), "utf-8")];
194
+ case 1:
195
+ pkg = _b.apply(_a, [_e.sent()]);
196
+ match = /^yarn@(.+)$/.exec(pkg.packageManager);
197
+ return [2 /*return*/, (_d = match === null || match === void 0 ? void 0 : match[1]) !== null && _d !== void 0 ? _d : null];
198
+ case 2:
199
+ _c = _e.sent();
200
+ return [2 /*return*/, null];
201
+ case 3:
202
+ return [2 /*return*/];
203
+ }
204
+ });
205
+ });
206
+ };
207
+ var getGitRoot = function () {
208
+ return __awaiter(void 0, void 0, void 0, function () {
209
+ var _a;
210
+ return __generator(this, function (_b) {
211
+ switch (_b.label) {
212
+ case 0:
213
+ _b.trys.push([0, 2,, 3]);
214
+ return [4 /*yield*/, (0, child_process_promise_1.exec)("git rev-parse --show-toplevel")];
215
+ case 1:
216
+ return [2 /*return*/, _b.sent().stdout.trim()];
217
+ case 2:
218
+ _a = _b.sent();
219
+ return [2 /*return*/, null];
220
+ case 3:
221
+ return [2 /*return*/];
222
+ }
223
+ });
224
+ });
225
+ };
182
226
  // export for mocking
183
227
  exports.getYarnVersion = (0, memoizee_1.default)(function () {
184
228
  return __awaiter(void 0, void 0, void 0, function () {
229
+ var fromCwd, gitRoot, fromGitRoot;
185
230
  return __generator(this, function (_a) {
186
231
  switch (_a.label) {
187
232
  case 0:
188
- return [4 /*yield*/, execOrFail("yarn --version", "")];
233
+ return [4 /*yield*/, readPackageManagerVersion(process.cwd())];
189
234
  case 1:
235
+ fromCwd = _a.sent();
236
+ if (fromCwd) return [2 /*return*/, fromCwd];
237
+ return [4 /*yield*/, getGitRoot()];
238
+ case 2:
239
+ gitRoot = _a.sent();
240
+ if (!(gitRoot && gitRoot !== process.cwd())) return [3 /*break*/, 4];
241
+ return [4 /*yield*/, readPackageManagerVersion(gitRoot)];
242
+ case 3:
243
+ fromGitRoot = _a.sent();
244
+ if (fromGitRoot) return [2 /*return*/, fromGitRoot];
245
+ _a.label = 4;
246
+ case 4:
247
+ return [4 /*yield*/, execOrFail("yarn --version", "")];
248
+ case 5:
249
+ // Fallback: invoke yarn CLI
190
250
  return [2 /*return*/, _a.sent()];
191
251
  }
192
252
  });