@catladder/pipeline 0.0.0-node16-ddfae617 → 0.0.0-prettier-cbceeed9

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 (275) hide show
  1. package/bin/catladder-gitlab-dev.js +3 -0
  2. package/bin/catladder-gitlab.js +1 -1
  3. package/dist/build/base/createBuildJob.d.ts +2 -2
  4. package/dist/build/base/createBuildJob.js +15 -30
  5. package/dist/build/base/writeBuildInfo.d.ts +2 -0
  6. package/dist/build/base/{getBuildInfo.js → writeBuildInfo.js} +3 -6
  7. package/dist/build/custom/buildJob.d.ts +3 -0
  8. package/dist/build/custom/buildJob.js +83 -0
  9. package/dist/build/custom/index.d.ts +3 -0
  10. package/dist/build/custom/index.js +40 -0
  11. package/dist/build/docker.d.ts +33 -9
  12. package/dist/build/docker.js +51 -54
  13. package/dist/build/index.d.ts +6 -5
  14. package/dist/build/index.js +20 -6
  15. package/dist/build/node/buildJob.d.ts +2 -2
  16. package/dist/build/node/buildJob.js +3 -25
  17. package/dist/build/node/cache.d.ts +2 -2
  18. package/dist/build/node/cache.js +19 -22
  19. package/dist/build/node/index.d.ts +1 -1
  20. package/dist/build/node/index.js +3 -16
  21. package/dist/build/node/meteor.d.ts +1 -1
  22. package/dist/build/node/meteor.js +9 -20
  23. package/dist/build/node/testJob.d.ts +2 -2
  24. package/dist/build/node/testJob.js +7 -21
  25. package/dist/build/node/yarn.d.ts +1 -1
  26. package/dist/build/node/yarn.js +14 -15
  27. package/dist/build/rails/build.d.ts +3 -0
  28. package/dist/build/rails/build.js +51 -0
  29. package/dist/build/rails/index.d.ts +3 -0
  30. package/dist/build/rails/index.js +41 -0
  31. package/dist/build/rails/test.d.ts +3 -0
  32. package/dist/build/rails/test.js +94 -0
  33. package/dist/build/types.d.ts +84 -9
  34. package/dist/build/types.js +0 -4
  35. package/dist/bundles/catladder-gitlab/index.js +32979 -0
  36. package/dist/catladder-gitlab.js +7 -26
  37. package/dist/config/{configruedEnvs.test.d.ts → __tests__/configruedEnvs.test.d.ts} +0 -0
  38. package/dist/config/{configruedEnvs.test.js → __tests__/configruedEnvs.test.js} +10 -12
  39. package/dist/config/configruedEnvs.d.ts +1 -1
  40. package/dist/config/configruedEnvs.js +7 -22
  41. package/dist/config/index.js +0 -4
  42. package/dist/config/readConfig.d.ts +1 -1
  43. package/dist/config/readConfig.js +2 -13
  44. package/dist/constants.js +1 -1
  45. package/dist/context/{resolveReferences.test.d.ts → __tests__/resolveReferences.test.d.ts} +0 -0
  46. package/dist/context/__tests__/resolveReferences.test.js +336 -0
  47. package/dist/context/getEnvConfig.d.ts +2 -0
  48. package/dist/context/getEnvConfig.js +18 -0
  49. package/dist/context/getEnvType.d.ts +4 -0
  50. package/dist/context/getEnvType.js +13 -0
  51. package/dist/context/getEnvironment.d.ts +3 -0
  52. package/dist/{pipeline/createChildPipeline.test.js → context/getEnvironment.js} +42 -84
  53. package/dist/context/getEnvironmentContext.d.ts +4 -0
  54. package/dist/context/getEnvironmentContext.js +33 -0
  55. package/dist/context/getEnvironmentVariables.d.ts +10 -0
  56. package/dist/context/getEnvironmentVariables.js +260 -0
  57. package/dist/context/getLabels.d.ts +8 -0
  58. package/dist/context/getLabels.js +38 -0
  59. package/dist/context/index.d.ts +5 -6
  60. package/dist/context/index.js +158 -208
  61. package/dist/context/resolveReferences.d.ts +1 -3
  62. package/dist/context/resolveReferences.js +213 -52
  63. package/dist/defaults/index.d.ts +1 -1
  64. package/dist/deploy/base.d.ts +4 -2
  65. package/dist/deploy/base.js +38 -33
  66. package/dist/deploy/cloudRun/deployJob.d.ts +3 -0
  67. package/dist/deploy/cloudRun/deployJob.js +238 -0
  68. package/dist/deploy/cloudRun/index.d.ts +4 -0
  69. package/dist/deploy/cloudRun/index.js +112 -0
  70. package/dist/deploy/cloudRun/utils/createArgsString.d.ts +11 -0
  71. package/dist/deploy/cloudRun/utils/createArgsString.js +55 -0
  72. package/dist/deploy/cloudRun/utils/database.d.ts +4 -0
  73. package/dist/deploy/cloudRun/utils/database.js +64 -0
  74. package/dist/deploy/cloudRun/utils/gcloudServiceAccountLoginCommands.d.ts +2 -0
  75. package/dist/deploy/cloudRun/utils/gcloudServiceAccountLoginCommands.js +10 -0
  76. package/dist/deploy/cloudRun/utils/jobName.d.ts +1 -0
  77. package/dist/deploy/cloudRun/utils/jobName.js +8 -0
  78. package/dist/deploy/custom/deployJob.d.ts +2 -2
  79. package/dist/deploy/custom/deployJob.js +10 -16
  80. package/dist/deploy/custom/index.d.ts +2 -1
  81. package/dist/deploy/custom/index.js +14 -19
  82. package/dist/deploy/dockerTag/deployJob.d.ts +3 -0
  83. package/dist/deploy/dockerTag/deployJob.js +24 -0
  84. package/dist/deploy/dockerTag/index.d.ts +2 -0
  85. package/dist/deploy/dockerTag/index.js +17 -0
  86. package/dist/deploy/index.d.ts +12 -8
  87. package/dist/deploy/index.js +7 -20
  88. package/dist/deploy/kubernetes/additionalSecretKeys.d.ts +4 -0
  89. package/dist/deploy/kubernetes/additionalSecretKeys.js +24 -0
  90. package/dist/deploy/kubernetes/cloudSql/index.d.ts +13 -0
  91. package/dist/deploy/kubernetes/cloudSql/index.js +30 -0
  92. package/dist/deploy/kubernetes/deployJob.d.ts +2 -2
  93. package/dist/deploy/kubernetes/deployJob.js +17 -91
  94. package/dist/deploy/kubernetes/index.d.ts +3 -1
  95. package/dist/deploy/kubernetes/index.js +42 -4
  96. package/dist/deploy/kubernetes/kubeEnv.d.ts +9 -0
  97. package/dist/deploy/kubernetes/kubeEnv.js +72 -0
  98. package/dist/deploy/kubernetes/kubeValues.d.ts +97 -0
  99. package/dist/deploy/kubernetes/kubeValues.js +124 -0
  100. package/dist/deploy/kubernetes/mongodb.d.ts +18 -5
  101. package/dist/deploy/kubernetes/mongodb.js +96 -10
  102. package/dist/deploy/kubernetes/processSecretsAsFiles.d.ts +25 -21
  103. package/dist/deploy/kubernetes/processSecretsAsFiles.js +2 -10
  104. package/dist/deploy/types/base.d.ts +14 -0
  105. package/dist/deploy/types/base.js +3 -0
  106. package/dist/deploy/types/custom.d.ts +33 -0
  107. package/dist/deploy/types/custom.js +3 -0
  108. package/dist/deploy/types/dockerTag.d.ts +10 -0
  109. package/dist/deploy/types/dockerTag.js +3 -0
  110. package/dist/deploy/types/googleCloudRun.d.ts +121 -0
  111. package/dist/deploy/types/googleCloudRun.js +3 -0
  112. package/dist/deploy/types/index.d.ts +22 -0
  113. package/dist/deploy/types/index.js +31 -0
  114. package/dist/deploy/types/kubernetes.d.ts +276 -0
  115. package/dist/deploy/types/kubernetes.js +3 -0
  116. package/dist/deploy/utils.d.ts +2 -2
  117. package/dist/deploy/utils.js +3 -10
  118. package/dist/index.js +0 -10
  119. package/dist/pipeline/commitInfo/getBuildId.d.ts +1 -0
  120. package/dist/pipeline/commitInfo/getBuildId.js +135 -0
  121. package/dist/pipeline/commitInfo/getCommitInfo.d.ts +2 -0
  122. package/dist/pipeline/commitInfo/getCommitInfo.js +140 -0
  123. package/dist/pipeline/createAllJobs.d.ts +8 -0
  124. package/dist/{build/tests/storybook.test.js → pipeline/createAllJobs.js} +54 -104
  125. package/dist/pipeline/createChildPipeline.d.ts +2 -2
  126. package/dist/pipeline/createChildPipeline.js +40 -121
  127. package/dist/pipeline/createJobsForComponent.d.ts +3 -0
  128. package/dist/pipeline/{createJobs.js → createJobsForComponent.js} +33 -192
  129. package/dist/pipeline/gitlab/createGitlabJobs.d.ts +14 -0
  130. package/dist/pipeline/gitlab/createGitlabJobs.js +260 -0
  131. package/dist/pipeline/index.d.ts +1 -1
  132. package/dist/pipeline/index.js +1 -5
  133. package/dist/pipeline/packageManager.d.ts +1 -1
  134. package/dist/pipeline/packageManager.js +20 -173
  135. package/dist/pipeline/yarn/yarnUtils.d.ts +4 -0
  136. package/dist/pipeline/yarn/yarnUtils.js +193 -0
  137. package/dist/rules/index.d.ts +3 -1
  138. package/dist/rules/index.js +7 -6
  139. package/dist/runner/index.d.ts +2 -3
  140. package/dist/runner/index.js +0 -3
  141. package/dist/tsconfig.tsbuildinfo +1 -1
  142. package/dist/types/config.d.ts +19 -25
  143. package/dist/types/config.js +6 -16
  144. package/dist/types/context.d.ts +16 -3
  145. package/dist/types/environmentContext.d.ts +28 -0
  146. package/dist/types/environmentContext.js +3 -0
  147. package/dist/types/gitlab-types.d.ts +39 -7
  148. package/dist/types/index.js +0 -6
  149. package/dist/types/jobs.d.ts +25 -17
  150. package/dist/types/jobs.js +1 -1
  151. package/dist/types/pipeline.d.ts +1 -1
  152. package/dist/types/utils.d.ts +1 -0
  153. package/dist/types/utils.js +3 -0
  154. package/dist/utils/gitlab.d.ts +5 -0
  155. package/dist/utils/gitlab.js +48 -0
  156. package/dist/utils/index.js +5 -15
  157. package/examples/__snapshots__/cloud-run-memory-limit.ts.snap +1560 -0
  158. package/examples/__snapshots__/cloud-run-no-cpu-throttling.ts.snap +1560 -0
  159. package/examples/__snapshots__/cloud-run-non-public.ts.snap +1560 -0
  160. package/examples/__snapshots__/cloud-run-with-sql-reuse-db.ts.snap +3092 -0
  161. package/examples/__snapshots__/cloud-run-with-sql.ts.snap +3103 -0
  162. package/examples/__snapshots__/custom-build-job.ts.snap +1162 -0
  163. package/examples/__snapshots__/custom-envs.ts.snap +261 -0
  164. package/examples/__snapshots__/kubernetes-application-customization.ts.snap +2280 -0
  165. package/examples/__snapshots__/kubernetes-with-jobs.ts.snap +4077 -0
  166. package/examples/__snapshots__/rails-k8s-with-worker.ts.snap +1911 -0
  167. package/examples/__snapshots__/wait-for-other-deploy.ts.snap +1626 -0
  168. package/examples/__utils__/helpers.ts +14 -0
  169. package/examples/cloud-run-memory-limit.ts +28 -0
  170. package/examples/cloud-run-no-cpu-throttling.ts +33 -0
  171. package/examples/cloud-run-non-public.ts +27 -0
  172. package/examples/cloud-run-with-sql-reuse-db.ts +54 -0
  173. package/examples/cloud-run-with-sql.ts +61 -0
  174. package/examples/custom-build-job.ts +28 -0
  175. package/examples/custom-envs.ts +31 -0
  176. package/examples/kubernetes-application-customization.ts +57 -0
  177. package/examples/kubernetes-with-jobs.ts +68 -0
  178. package/examples/rails-k8s-with-worker.ts +95 -0
  179. package/examples/wait-for-other-deploy.ts +36 -0
  180. package/package.json +16 -13
  181. package/scripts/bundle +2 -0
  182. package/src/build/base/createBuildJob.ts +12 -5
  183. package/src/build/base/{getBuildInfo.ts → writeBuildInfo.ts} +2 -2
  184. package/src/build/custom/buildJob.ts +64 -0
  185. package/src/build/custom/index.ts +7 -0
  186. package/src/build/docker.ts +58 -33
  187. package/src/build/index.ts +24 -5
  188. package/src/build/node/buildJob.ts +2 -2
  189. package/src/build/node/cache.ts +19 -8
  190. package/src/build/node/index.ts +1 -1
  191. package/src/build/node/meteor.ts +8 -2
  192. package/src/build/node/testJob.ts +4 -2
  193. package/src/build/node/yarn.ts +21 -10
  194. package/src/build/rails/build.ts +38 -0
  195. package/src/build/rails/index.ts +8 -0
  196. package/src/build/rails/test.ts +86 -0
  197. package/src/build/types.ts +97 -2
  198. package/src/catladder-gitlab.ts +4 -2
  199. package/src/config/{configruedEnvs.test.ts → __tests__/configruedEnvs.test.ts} +3 -3
  200. package/src/config/configruedEnvs.ts +2 -7
  201. package/src/config/readConfig.ts +1 -1
  202. package/src/context/{resolveReferences.test.ts → __tests__/resolveReferences.test.ts} +23 -38
  203. package/src/context/getEnvConfig.ts +21 -0
  204. package/src/context/getEnvType.ts +17 -0
  205. package/src/context/getEnvironment.ts +40 -0
  206. package/src/context/getEnvironmentContext.ts +57 -0
  207. package/src/context/getEnvironmentVariables.ts +155 -0
  208. package/src/context/getLabels.ts +20 -0
  209. package/src/context/index.ts +28 -193
  210. package/src/context/resolveReferences.ts +35 -31
  211. package/src/defaults/index.ts +1 -1
  212. package/src/deploy/base.ts +43 -19
  213. package/src/deploy/cloudRun/deployJob.ts +276 -0
  214. package/src/deploy/cloudRun/index.ts +95 -0
  215. package/src/deploy/cloudRun/utils/createArgsString.ts +26 -0
  216. package/src/deploy/cloudRun/utils/database.ts +55 -0
  217. package/src/deploy/cloudRun/utils/gcloudServiceAccountLoginCommands.ts +14 -0
  218. package/src/deploy/cloudRun/utils/jobName.ts +2 -0
  219. package/src/deploy/custom/deployJob.ts +13 -3
  220. package/src/deploy/custom/index.ts +9 -1
  221. package/src/deploy/dockerTag/deployJob.ts +31 -0
  222. package/src/deploy/dockerTag/index.ts +9 -0
  223. package/src/deploy/index.ts +26 -17
  224. package/src/deploy/kubernetes/additionalSecretKeys.ts +23 -0
  225. package/src/deploy/kubernetes/cloudSql/index.ts +28 -0
  226. package/src/deploy/kubernetes/deployJob.ts +21 -78
  227. package/src/deploy/kubernetes/index.ts +42 -1
  228. package/src/deploy/kubernetes/kubeEnv.ts +48 -0
  229. package/src/deploy/kubernetes/kubeValues.ts +96 -0
  230. package/src/deploy/kubernetes/mongodb.ts +104 -7
  231. package/src/deploy/kubernetes/processSecretsAsFiles.ts +1 -1
  232. package/src/deploy/types/base.ts +17 -0
  233. package/src/deploy/types/custom.ts +36 -0
  234. package/src/deploy/types/dockerTag.ts +12 -0
  235. package/src/deploy/types/googleCloudRun.ts +179 -0
  236. package/src/deploy/types/index.ts +28 -0
  237. package/src/deploy/types/kubernetes.ts +301 -0
  238. package/src/deploy/utils.ts +6 -2
  239. package/src/pipeline/commitInfo/getBuildId.ts +6 -0
  240. package/src/pipeline/commitInfo/getCommitInfo.ts +12 -0
  241. package/src/pipeline/createAllJobs.ts +38 -0
  242. package/src/pipeline/createChildPipeline.ts +9 -20
  243. package/src/pipeline/createJobsForComponent.ts +64 -0
  244. package/src/pipeline/gitlab/createGitlabJobs.ts +149 -0
  245. package/src/pipeline/index.ts +1 -1
  246. package/src/pipeline/packageManager.ts +4 -38
  247. package/src/pipeline/yarn/yarnUtils.ts +37 -0
  248. package/src/rules/index.ts +9 -6
  249. package/src/runner/index.ts +2 -1
  250. package/src/types/config.ts +26 -13
  251. package/src/types/context.ts +23 -2
  252. package/src/types/environmentContext.ts +33 -0
  253. package/src/types/gitlab-types.ts +36 -6
  254. package/src/types/jobs.ts +30 -6
  255. package/src/types/pipeline.ts +1 -1
  256. package/src/types/utils.ts +7 -0
  257. package/src/utils/gitlab.ts +23 -0
  258. package/tsconfig.json +3 -1
  259. package/dist/build/base/getBuildInfo.d.ts +0 -2
  260. package/dist/build/tests/storybook.test.d.ts +0 -1
  261. package/dist/context/resolveReferences.test.js +0 -141
  262. package/dist/deploy/kubernetes/cloudsql.d.ts +0 -6
  263. package/dist/deploy/kubernetes/cloudsql.js +0 -16
  264. package/dist/deploy/types.d.ts +0 -196
  265. package/dist/deploy/types.js +0 -16
  266. package/dist/pipeline/createChildPipeline.test.d.ts +0 -1
  267. package/dist/pipeline/createJobs.d.ts +0 -3
  268. package/dist/pipeline/gitlab/makeGitlabJob.d.ts +0 -8
  269. package/dist/pipeline/gitlab/makeGitlabJob.js +0 -45
  270. package/src/build/tests/storybook.test.ts +0 -54
  271. package/src/deploy/kubernetes/cloudsql.ts +0 -12
  272. package/src/deploy/types.ts +0 -189
  273. package/src/pipeline/createChildPipeline.test.ts +0 -49
  274. package/src/pipeline/createJobs.ts +0 -195
  275. package/src/pipeline/gitlab/makeGitlabJob.ts +0 -16
@@ -4,24 +4,19 @@ var __assign = this && this.__assign || function () {
4
4
  __assign = Object.assign || function (t) {
5
5
  for (var s, i = 1, n = arguments.length; i < n; i++) {
6
6
  s = arguments[i];
7
-
8
7
  for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
9
8
  }
10
-
11
9
  return t;
12
10
  };
13
-
14
11
  return __assign.apply(this, arguments);
15
12
  };
16
-
17
13
  var __read = this && this.__read || function (o, n) {
18
14
  var m = typeof Symbol === "function" && o[Symbol.iterator];
19
15
  if (!m) return o;
20
16
  var i = m.call(o),
21
- r,
22
- ar = [],
23
- e;
24
-
17
+ r,
18
+ ar = [],
19
+ e;
25
20
  try {
26
21
  while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
27
22
  } catch (error) {
@@ -35,10 +30,8 @@ var __read = this && this.__read || function (o, n) {
35
30
  if (e) throw e.error;
36
31
  }
37
32
  }
38
-
39
33
  return ar;
40
34
  };
41
-
42
35
  var __spreadArray = this && this.__spreadArray || function (to, from, pack) {
43
36
  if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
44
37
  if (ar || !(i in from)) {
@@ -48,37 +41,23 @@ var __spreadArray = this && this.__spreadArray || function (to, from, pack) {
48
41
  }
49
42
  return to.concat(ar || Array.prototype.slice.call(from));
50
43
  };
51
-
52
44
  exports.__esModule = true;
53
45
  exports.createNodeBuildJobs = void 0;
54
-
55
46
  var utils_1 = require("../../utils");
56
-
57
47
  var constants_1 = require("../base/constants");
58
-
59
48
  var createBuildJob_1 = require("../base/createBuildJob");
60
-
61
49
  var docker_1 = require("../docker");
62
-
63
50
  var path_1 = require("path");
64
-
65
51
  var types_1 = require("../types");
66
-
67
52
  var cache_1 = require("./cache");
68
-
69
53
  var constants_2 = require("./constants");
70
-
71
54
  var yarn_1 = require("./yarn");
72
-
73
55
  var createNodeBuildJobs = function (context) {
74
56
  var _a, _b, _c, _d, _e;
75
-
76
57
  var buildConfig = context.componentConfig.build;
77
-
78
58
  if (!(0, types_1.isOfBuildType)(buildConfig, "node", "node-static", "storybook")) {
79
59
  throw new Error("deploy config is not node, node-static or storybook");
80
60
  }
81
-
82
61
  var yarnInstall = (0, yarn_1.getYarnInstall)(context);
83
62
  var appBuildJob = buildConfig.buildCommand !== null ? (0, createBuildJob_1.createBuildJob)(context, {
84
63
  variables: __assign({}, constants_2.NODE_RUNNER_BUILD_VARIABLES),
@@ -109,5 +88,4 @@ var createNodeBuildJobs = function (context) {
109
88
  needs: appBuildJob ? [constants_1.APP_BUILD_JOB_NAME] : []
110
89
  })] : []), false);
111
90
  };
112
-
113
91
  exports.createNodeBuildJobs = createNodeBuildJobs;
@@ -1,5 +1,5 @@
1
- import { Context } from "../../types/context";
2
- import { GitlabJobCache } from "../../types/gitlab-types";
1
+ import type { Context } from "../../types/context";
2
+ import type { GitlabJobCache } from "../../types/gitlab-types";
3
3
  export declare const getYarnCache: (context: Context, policy?: string) => GitlabJobCache[];
4
4
  export declare const getNodeModulesCache: (context: Context, policy?: string) => GitlabJobCache[];
5
5
  export declare const getNodeCache: (context: Context, policy?: string) => GitlabJobCache[];
@@ -4,10 +4,9 @@ var __read = this && this.__read || function (o, n) {
4
4
  var m = typeof Symbol === "function" && o[Symbol.iterator];
5
5
  if (!m) return o;
6
6
  var i = m.call(o),
7
- r,
8
- ar = [],
9
- e;
10
-
7
+ r,
8
+ ar = [],
9
+ e;
11
10
  try {
12
11
  while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
13
12
  } catch (error) {
@@ -21,10 +20,8 @@ var __read = this && this.__read || function (o, n) {
21
20
  if (e) throw e.error;
22
21
  }
23
22
  }
24
-
25
23
  return ar;
26
24
  };
27
-
28
25
  var __spreadArray = this && this.__spreadArray || function (to, from, pack) {
29
26
  if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
30
27
  if (ar || !(i in from)) {
@@ -34,56 +31,57 @@ var __spreadArray = this && this.__spreadArray || function (to, from, pack) {
34
31
  }
35
32
  return to.concat(ar || Array.prototype.slice.call(from));
36
33
  };
37
-
34
+ var __importDefault = this && this.__importDefault || function (mod) {
35
+ return mod && mod.__esModule ? mod : {
36
+ "default": mod
37
+ };
38
+ };
38
39
  exports.__esModule = true;
39
40
  exports.getNextCache = exports.getNodeCache = exports.getNodeModulesCache = exports.getYarnCache = void 0;
40
-
41
41
  var path_1 = require("path");
42
-
42
+ var slugify_1 = __importDefault(require("slugify"));
43
43
  var getYarnCache = function (context, policy) {
44
+ var _a;
44
45
  if (policy === void 0) {
45
46
  policy = "pull-push";
46
47
  }
47
-
48
- return [{
48
+ var componentIsInWorkspace = (_a = context.packageManagerInfo) === null || _a === void 0 ? void 0 : _a.componentIsInWorkspace;
49
+ return [componentIsInWorkspace ? {
49
50
  key: "yarn",
50
51
  policy: policy,
51
52
  paths: [".yarn"]
53
+ } : {
54
+ key: (0, slugify_1["default"])(context.componentConfig.dir) + "-yarn",
55
+ policy: policy,
56
+ paths: [(0, path_1.join)(context.componentConfig.dir, ".yarn")]
52
57
  }];
53
58
  };
54
-
55
59
  exports.getYarnCache = getYarnCache;
56
-
57
60
  var getNodeModulesCache = function (context, policy) {
58
61
  var _a, _b, _c;
59
-
60
62
  if (policy === void 0) {
61
63
  policy = "pull-push";
62
64
  }
63
-
64
65
  var componentIsInWorkspace = (_a = context.packageManagerInfo) === null || _a === void 0 ? void 0 : _a.componentIsInWorkspace;
66
+ // We intentionally do not use the contents of yarn.lock as a cache key, as yarn install should always guarantee that the files are updated, but it can still use part of the cache if not all packages are up-to-date.
67
+ // It would slow down all pipelines whenever one adds a new dependency as it will need to download all node_modules again.
65
68
  return [{
66
69
  // if component is in a shared workspace, use workspace cache. use individual cache else
67
- key: componentIsInWorkspace ? "node-modules-workspace" : context.componentConfig.dir + "-node-modules",
70
+ key: componentIsInWorkspace ? "node-modules-workspace" : (0, slugify_1["default"])(context.componentConfig.dir) + "-node-modules",
68
71
  policy: policy,
69
72
  paths: __spreadArray([], __read(componentIsInWorkspace ? __spreadArray(["node_modules"], __read((_c = (_b = context.packageManagerInfo) === null || _b === void 0 ? void 0 : _b.workspaces.map(function (w) {
70
73
  return (0, path_1.join)(w.location, "node_modules");
71
74
  })) !== null && _c !== void 0 ? _c : []), false) : [(0, path_1.join)(context.componentConfig.dir, "node_modules")]), false)
72
75
  }];
73
76
  };
74
-
75
77
  exports.getNodeModulesCache = getNodeModulesCache;
76
-
77
78
  var getNodeCache = function (context, policy) {
78
79
  if (policy === void 0) {
79
80
  policy = "pull-push";
80
81
  }
81
-
82
82
  return __spreadArray(__spreadArray([], __read((0, exports.getYarnCache)(context, policy)), false), __read((0, exports.getNodeModulesCache)(context, policy)), false);
83
83
  };
84
-
85
84
  exports.getNodeCache = getNodeCache;
86
-
87
85
  var getNextCache = function (context) {
88
86
  return [{
89
87
  key: context.componentName + "-next-cache",
@@ -91,5 +89,4 @@ var getNextCache = function (context) {
91
89
  paths: [context.componentConfig.dir + "/.next/cache/"]
92
90
  }];
93
91
  };
94
-
95
92
  exports.getNextCache = getNextCache;
@@ -1,5 +1,5 @@
1
1
  import type { Context } from "../../types/context";
2
- import { CatladderJob } from "../../types/jobs";
2
+ import type { CatladderJob } from "../../types/jobs";
3
3
  export declare const createNodeJobs: (context: Context) => CatladderJob[];
4
4
  export declare const createStorybookJobs: (context: Context) => CatladderJob[];
5
5
  export declare const createMeteorJobs: (context: Context) => CatladderJob[];
@@ -4,10 +4,9 @@ var __read = this && this.__read || function (o, n) {
4
4
  var m = typeof Symbol === "function" && o[Symbol.iterator];
5
5
  if (!m) return o;
6
6
  var i = m.call(o),
7
- r,
8
- ar = [],
9
- e;
10
-
7
+ r,
8
+ ar = [],
9
+ e;
11
10
  try {
12
11
  while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
13
12
  } catch (error) {
@@ -21,10 +20,8 @@ var __read = this && this.__read || function (o, n) {
21
20
  if (e) throw e.error;
22
21
  }
23
22
  }
24
-
25
23
  return ar;
26
24
  };
27
-
28
25
  var __spreadArray = this && this.__spreadArray || function (to, from, pack) {
29
26
  if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
30
27
  if (ar || !(i in from)) {
@@ -34,30 +31,20 @@ var __spreadArray = this && this.__spreadArray || function (to, from, pack) {
34
31
  }
35
32
  return to.concat(ar || Array.prototype.slice.call(from));
36
33
  };
37
-
38
34
  exports.__esModule = true;
39
35
  exports.createMeteorJobs = exports.createStorybookJobs = exports.createNodeJobs = void 0;
40
-
41
36
  var buildJob_1 = require("./buildJob");
42
-
43
37
  var meteor_1 = require("./meteor");
44
-
45
38
  var testJob_1 = require("./testJob");
46
-
47
39
  var createNodeJobs = function (context) {
48
40
  return __spreadArray(__spreadArray([], __read((0, testJob_1.createNodeTestJobs)(context)), false), __read((0, buildJob_1.createNodeBuildJobs)(context)), false);
49
41
  };
50
-
51
42
  exports.createNodeJobs = createNodeJobs;
52
-
53
43
  var createStorybookJobs = function (context) {
54
44
  return __spreadArray([], __read((0, buildJob_1.createNodeBuildJobs)(context)), false);
55
45
  };
56
-
57
46
  exports.createStorybookJobs = createStorybookJobs;
58
-
59
47
  var createMeteorJobs = function (context) {
60
48
  return __spreadArray(__spreadArray([], __read((0, testJob_1.createNodeTestJobs)(context)), false), __read((0, meteor_1.createMeteorBuildJobs)(context)), false);
61
49
  };
62
-
63
50
  exports.createMeteorJobs = createMeteorJobs;
@@ -1,3 +1,3 @@
1
1
  import type { Context } from "../../types/context";
2
- import { CatladderJob } from "../../types/jobs";
2
+ import type { CatladderJob } from "../../types/jobs";
3
3
  export declare const createMeteorBuildJobs: (context: Context) => CatladderJob[];
@@ -4,10 +4,9 @@ var __read = this && this.__read || function (o, n) {
4
4
  var m = typeof Symbol === "function" && o[Symbol.iterator];
5
5
  if (!m) return o;
6
6
  var i = m.call(o),
7
- r,
8
- ar = [],
9
- e;
10
-
7
+ r,
8
+ ar = [],
9
+ e;
11
10
  try {
12
11
  while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
13
12
  } catch (error) {
@@ -21,10 +20,8 @@ var __read = this && this.__read || function (o, n) {
21
20
  if (e) throw e.error;
22
21
  }
23
22
  }
24
-
25
23
  return ar;
26
24
  };
27
-
28
25
  var __spreadArray = this && this.__spreadArray || function (to, from, pack) {
29
26
  if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
30
27
  if (ar || !(i in from)) {
@@ -34,26 +31,16 @@ var __spreadArray = this && this.__spreadArray || function (to, from, pack) {
34
31
  }
35
32
  return to.concat(ar || Array.prototype.slice.call(from));
36
33
  };
37
-
38
34
  exports.__esModule = true;
39
35
  exports.createMeteorBuildJobs = void 0;
40
-
41
36
  var path_1 = require("path");
42
-
43
37
  var runner_1 = require("../../runner");
44
-
45
38
  var constants_1 = require("../base/constants");
46
-
47
39
  var createBuildJob_1 = require("../base/createBuildJob");
48
-
49
40
  var docker_1 = require("../docker");
50
-
51
41
  var types_1 = require("../types");
52
-
53
42
  var cache_1 = require("./cache");
54
-
55
43
  var yarn_1 = require("./yarn");
56
-
57
44
  var getMeteorCache = function (context) {
58
45
  return [{
59
46
  key: context.componentName + "meteor-build-cache",
@@ -61,18 +48,18 @@ var getMeteorCache = function (context) {
61
48
  paths: [(0, path_1.join)(context.componentConfig.dir, ".meteor/local/resolver-result-cache.json"), (0, path_1.join)(context.componentConfig.dir, ".meteor/local/plugin-cache"), (0, path_1.join)(context.componentConfig.dir, ".meteor/local/isopacks"), (0, path_1.join)(context.componentConfig.dir, ".meteor/local/bundler-cache/scanner")]
62
49
  }];
63
50
  };
64
-
65
51
  var createMeteorBuildJobs = function (context) {
66
52
  var buildConfig = context.componentConfig.build;
67
-
68
53
  if (!(0, types_1.isOfBuildType)(buildConfig, "meteor")) {
69
54
  throw new Error("deploy config is not meteor");
70
55
  }
71
-
72
56
  var yarnInstall = (0, yarn_1.getYarnInstall)(context);
73
57
  var appBuildJob = buildConfig.buildCommand !== null ? (0, createBuildJob_1.createBuildJob)(context, {
74
58
  cache: __spreadArray(__spreadArray([], __read((0, cache_1.getNodeCache)(context)), false), __read(getMeteorCache(context)), false),
75
59
  image: (0, runner_1.getRunnerImage)("jobs-meteor"),
60
+ variables: {
61
+ METEOR_DISABLE_OPTIMISTIC_CACHING: "1"
62
+ },
76
63
  script: __spreadArray(__spreadArray([], __read(yarnInstall), false), ['echo "add healthcheck package"', "meteor add panter:healthroute --allow-superuser", "meteor add qualia:prod-shell --allow-superuser", 'TOOL_NODE_FLAGS="--max_old_space_size=3584 --min_semi_space_size=8 --max_semi_space_size=256 --optimize_for_size" meteor build ./dist --architecture os.linux.x86_64 --allow-superuser --server-only --directory', "cp ./__build_info.json ./dist/bundle/programs/server"], false),
77
64
  artifacts: {
78
65
  paths: [context.componentConfig.dir + "/__build_info.json", context.componentConfig.dir + "/dist"]
@@ -80,8 +67,10 @@ var createMeteorBuildJobs = function (context) {
80
67
  }) : null;
81
68
  return __spreadArray(__spreadArray([], __read(appBuildJob ? [appBuildJob] : []), false), [(0, docker_1.createDockerBuildJobDefault)(context, {
82
69
  script: ["ensureMeteorDockerfile"],
70
+ variables: {
71
+ METEOR_INSTALL_SCRIPTS: buildConfig.installScripts ? "true" : ""
72
+ },
83
73
  needs: appBuildJob ? [constants_1.APP_BUILD_JOB_NAME] : []
84
74
  })], false);
85
75
  };
86
-
87
76
  exports.createMeteorBuildJobs = createMeteorBuildJobs;
@@ -1,3 +1,3 @@
1
- import { Context } from "../../types/context";
2
- import { CatladderJob } from "../../types/jobs";
1
+ import type { Context } from "../../types/context";
2
+ import type { CatladderJob } from "../../types/jobs";
3
3
  export declare const createNodeTestJobs: (context: Context) => CatladderJob[];
@@ -4,24 +4,19 @@ var __assign = this && this.__assign || function () {
4
4
  __assign = Object.assign || function (t) {
5
5
  for (var s, i = 1, n = arguments.length; i < n; i++) {
6
6
  s = arguments[i];
7
-
8
7
  for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
9
8
  }
10
-
11
9
  return t;
12
10
  };
13
-
14
11
  return __assign.apply(this, arguments);
15
12
  };
16
-
17
13
  var __read = this && this.__read || function (o, n) {
18
14
  var m = typeof Symbol === "function" && o[Symbol.iterator];
19
15
  if (!m) return o;
20
16
  var i = m.call(o),
21
- r,
22
- ar = [],
23
- e;
24
-
17
+ r,
18
+ ar = [],
19
+ e;
25
20
  try {
26
21
  while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
27
22
  } catch (error) {
@@ -35,10 +30,8 @@ var __read = this && this.__read || function (o, n) {
35
30
  if (e) throw e.error;
36
31
  }
37
32
  }
38
-
39
33
  return ar;
40
34
  };
41
-
42
35
  var __spreadArray = this && this.__spreadArray || function (to, from, pack) {
43
36
  if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
44
37
  if (ar || !(i in from)) {
@@ -48,26 +41,19 @@ var __spreadArray = this && this.__spreadArray || function (to, from, pack) {
48
41
  }
49
42
  return to.concat(ar || Array.prototype.slice.call(from));
50
43
  };
51
-
52
44
  exports.__esModule = true;
53
45
  exports.createNodeTestJobs = void 0;
54
-
46
+ var runner_1 = require("../../runner");
55
47
  var utils_1 = require("../../utils");
56
-
57
48
  var cache_1 = require("./cache");
58
-
59
49
  var constants_1 = require("./constants");
60
-
61
50
  var yarn_1 = require("./yarn");
62
-
63
51
  var createNodeTestJobs = function (context) {
64
- var _a, _b, _c, _d, _e, _f, _g, _h, _j; // don't run tests after release
65
-
66
-
52
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
53
+ // don't run tests after release
67
54
  if (((_a = context.commitInfo) === null || _a === void 0 ? void 0 : _a.trigger) === "taggedRelease") {
68
55
  return [];
69
56
  }
70
-
71
57
  var buildConfig = context.componentConfig.build;
72
58
  var base = {
73
59
  variables: __assign(__assign({
@@ -95,10 +81,10 @@ var createNodeTestJobs = function (context) {
95
81
  var testJob = buildConfig.test !== false ? __assign(__assign({
96
82
  name: "🧪 test"
97
83
  }, base), {
84
+ image: (0, runner_1.getRunnerImage)("jobs-testing-chrome"),
98
85
  cache: (0, cache_1.getNodeCache)(context),
99
86
  script: __spreadArray(__spreadArray(["cd ".concat(context.componentConfig.dir)], __read(yarnInstall), false), __read((_j = (0, utils_1.ensureArray)((_h = buildConfig.test) === null || _h === void 0 ? void 0 : _h.command)) !== null && _j !== void 0 ? _j : ["yarn test"]), false)
100
87
  }) : null;
101
88
  return [auditJob, lintJob, testJob].filter(utils_1.notNil);
102
89
  };
103
-
104
90
  exports.createNodeTestJobs = createNodeTestJobs;
@@ -1,4 +1,4 @@
1
- import { Context } from "../../types";
1
+ import type { Context } from "../../types";
2
2
  export declare const getYarnInstallCommand: (context: Context, options?: {
3
3
  prodOnly?: boolean | undefined;
4
4
  noScripts?: boolean | undefined;
@@ -4,10 +4,9 @@ var __read = this && this.__read || function (o, n) {
4
4
  var m = typeof Symbol === "function" && o[Symbol.iterator];
5
5
  if (!m) return o;
6
6
  var i = m.call(o),
7
- r,
8
- ar = [],
9
- e;
10
-
7
+ r,
8
+ ar = [],
9
+ e;
11
10
  try {
12
11
  while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
13
12
  } catch (error) {
@@ -21,10 +20,8 @@ var __read = this && this.__read || function (o, n) {
21
20
  if (e) throw e.error;
22
21
  }
23
22
  }
24
-
25
23
  return ar;
26
24
  };
27
-
28
25
  var __spreadArray = this && this.__spreadArray || function (to, from, pack) {
29
26
  if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
30
27
  if (ar || !(i in from)) {
@@ -34,27 +31,29 @@ var __spreadArray = this && this.__spreadArray || function (to, from, pack) {
34
31
  }
35
32
  return to.concat(ar || Array.prototype.slice.call(from));
36
33
  };
37
-
38
34
  exports.__esModule = true;
39
35
  exports.getYarnInstall = exports.ensureNodeVersion = exports.getYarnInstallCommand = void 0;
40
-
41
36
  var getYarnInstallCommand = function (context, options) {
42
37
  var _a;
43
-
44
- return ((_a = context.packageManagerInfo) === null || _a === void 0 ? void 0 : _a.isClassic) ? "yarn install --frozen-lockfile ".concat((options === null || options === void 0 ? void 0 : options.prodOnly) ? "--production" : "", " ").concat((options === null || options === void 0 ? void 0 : options.noScripts) ? "--ignore-scripts" : "") : (options === null || options === void 0 ? void 0 : options.prodOnly) ? "".concat((options === null || options === void 0 ? void 0 : options.noScripts) ? "YARN_ENABLE_SCRIPTS=false " : "", "yarn plugin import workspace-tools && yarn workspaces focus --production") // needs yarn plugin import workspace-tools
38
+ if ((_a = context.packageManagerInfo) === null || _a === void 0 ? void 0 : _a.isClassic) {
39
+ return "yarn install --frozen-lockfile ".concat((options === null || options === void 0 ? void 0 : options.prodOnly) ? "--production" : "", " ").concat((options === null || options === void 0 ? void 0 : options.noScripts) ? "--ignore-scripts" : "");
40
+ }
41
+ // is modern
42
+ // yarn >= 4 ships with build in plugins, see https://github.com/yarnpkg/berry/pull/4253
43
+ // trying to import those fail on this version
44
+ var doesNotShipWithBuiltInPlugins = ["2", "3"].some(function (v) {
45
+ var _a;
46
+ return (_a = context.packageManagerInfo) === null || _a === void 0 ? void 0 : _a.version.startsWith(v);
47
+ });
48
+ return (options === null || options === void 0 ? void 0 : options.prodOnly) ? "".concat((options === null || options === void 0 ? void 0 : options.noScripts) ? "YARN_ENABLE_SCRIPTS=false " : "").concat(doesNotShipWithBuiltInPlugins ? "yarn plugin import workspace-tools && " : " ", "yarn workspaces focus --production && yarn rebuild") // needs yarn plugin import workspace-tools
45
49
  : "".concat((options === null || options === void 0 ? void 0 : options.noScripts) ? "YARN_ENABLE_SCRIPTS=false " : "", "yarn install --immutable");
46
50
  };
47
-
48
51
  exports.getYarnInstallCommand = getYarnInstallCommand;
49
-
50
52
  var ensureNodeVersion = function (context) {
51
53
  return ["if [ -f ./.nvmrc ]; then source /root/.nvm/nvm.sh && nvm install <<< .nvmrc; fi"];
52
54
  };
53
-
54
55
  exports.ensureNodeVersion = ensureNodeVersion;
55
-
56
56
  var getYarnInstall = function (context) {
57
57
  return __spreadArray(__spreadArray([], __read((0, exports.ensureNodeVersion)(context)), false), [(0, exports.getYarnInstallCommand)(context)], false);
58
58
  };
59
-
60
59
  exports.getYarnInstall = getYarnInstall;
@@ -0,0 +1,3 @@
1
+ import type { Context } from "../..";
2
+ import type { CatladderJob } from "../../types/jobs";
3
+ export declare const createRailsBuildJobs: (context: Context) => CatladderJob[];
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+
3
+ var __read = this && this.__read || function (o, n) {
4
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
5
+ if (!m) return o;
6
+ var i = m.call(o),
7
+ r,
8
+ ar = [],
9
+ e;
10
+ try {
11
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
12
+ } catch (error) {
13
+ e = {
14
+ error: error
15
+ };
16
+ } finally {
17
+ try {
18
+ if (r && !r.done && (m = i["return"])) m.call(i);
19
+ } finally {
20
+ if (e) throw e.error;
21
+ }
22
+ }
23
+ return ar;
24
+ };
25
+ exports.__esModule = true;
26
+ exports.createRailsBuildJobs = void 0;
27
+ var types_1 = require("../types");
28
+ var docker_1 = require("../docker");
29
+ var createRailsBuildJobs = function (context) {
30
+ var _a, _b, _c;
31
+ var buildConfig = context.componentConfig.build;
32
+ if (!(0, types_1.isOfBuildType)(buildConfig, "rails")) {
33
+ // should not happen
34
+ throw new Error("build type is not rails");
35
+ }
36
+ var cnbConf = buildConfig.cnbBuilder;
37
+ var packEnvArgs = Object.entries((_a = cnbConf === null || cnbConf === void 0 ? void 0 : cnbConf.buildVars) !== null && _a !== void 0 ? _a : {}).map(function (_a) {
38
+ var _b = __read(_a, 2),
39
+ k = _b[0],
40
+ v = _b[1];
41
+ return "--env '".concat(k).concat(v ? "=".concat(v) : "", "'");
42
+ }).join(" ");
43
+ return [(0, docker_1.createDockerBuildJobBase)(context, {
44
+ variables: context.componentConfig.build.extraVars,
45
+ // custom script
46
+ script: [docker_1.gitlabDockerLogin, "docker pull $DOCKER_CACHE_IMAGE || true", "wget --output-document=- https://github.com/buildpacks/pack/releases/download/v".concat(cnbConf === null || cnbConf === void 0 ? void 0 : cnbConf.packVersion, "/pack-v").concat(cnbConf === null || cnbConf === void 0 ? void 0 : cnbConf.packVersion, "-linux.tgz | tar -zx --directory /usr/local/bin pack"), "chmod +x /usr/local/bin/pack",
47
+ // replace private git ssh gem sources with https to make bundler with credentials via env var work
48
+ "sed --in-place 's|git@\\([^:]*\\):|https://\\1/|g' Gemfile Gemfile.lock", "pack build \"$DOCKER_IMAGE:$DOCKER_IMAGE_TAG\" --builder '".concat(cnbConf === null || cnbConf === void 0 ? void 0 : cnbConf.image, "' --publish --cache-image \"$DOCKER_CACHE_IMAGE\" ").concat(packEnvArgs, " ").concat((_c = (_b = cnbConf === null || cnbConf === void 0 ? void 0 : cnbConf.packExtraArgs) === null || _b === void 0 ? void 0 : _b.join(" ")) !== null && _c !== void 0 ? _c : "")]
49
+ })];
50
+ };
51
+ exports.createRailsBuildJobs = createRailsBuildJobs;
@@ -0,0 +1,3 @@
1
+ import type { Context } from "../../types";
2
+ import type { CatladderJob } from "../../types/jobs";
3
+ export declare const createRailsJobs: (context: Context) => CatladderJob[];
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+
3
+ var __read = this && this.__read || function (o, n) {
4
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
5
+ if (!m) return o;
6
+ var i = m.call(o),
7
+ r,
8
+ ar = [],
9
+ e;
10
+ try {
11
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
12
+ } catch (error) {
13
+ e = {
14
+ error: error
15
+ };
16
+ } finally {
17
+ try {
18
+ if (r && !r.done && (m = i["return"])) m.call(i);
19
+ } finally {
20
+ if (e) throw e.error;
21
+ }
22
+ }
23
+ return ar;
24
+ };
25
+ var __spreadArray = this && this.__spreadArray || function (to, from, pack) {
26
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
27
+ if (ar || !(i in from)) {
28
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
29
+ ar[i] = from[i];
30
+ }
31
+ }
32
+ return to.concat(ar || Array.prototype.slice.call(from));
33
+ };
34
+ exports.__esModule = true;
35
+ exports.createRailsJobs = void 0;
36
+ var build_1 = require("./build");
37
+ var test_1 = require("./test");
38
+ var createRailsJobs = function (context) {
39
+ return __spreadArray(__spreadArray([], __read((0, test_1.createRailsTestJobs)(context)), false), __read((0, build_1.createRailsBuildJobs)(context)), false);
40
+ };
41
+ exports.createRailsJobs = createRailsJobs;
@@ -0,0 +1,3 @@
1
+ import type { Context } from "../..";
2
+ import type { CatladderJob } from "../../types/jobs";
3
+ export declare const createRailsTestJobs: (context: Context) => CatladderJob[];