@catladder/pipeline 1.144.1 โ†’ 1.145.0

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 (307) hide show
  1. package/dist/bash/BashExpression.d.ts +40 -0
  2. package/dist/bash/BashExpression.js +124 -0
  3. package/dist/bash/bashExpressionPerPipelineType.d.ts +6 -0
  4. package/dist/bash/bashExpressionPerPipelineType.js +11 -0
  5. package/dist/bash/bashYaml.d.ts +10 -0
  6. package/dist/bash/bashYaml.js +46 -0
  7. package/dist/bash/getInjectVarsScript.d.ts +2 -0
  8. package/dist/bash/getInjectVarsScript.js +45 -0
  9. package/dist/bash/replaceAsync.d.ts +2 -0
  10. package/dist/{pipeline/commitInfo/getCommitInfo.js โ†’ bash/replaceAsync.js} +49 -21
  11. package/dist/build/base/__tests__/createArtifactsConfig.test.js +3 -1
  12. package/dist/build/base/constants.js +3 -1
  13. package/dist/build/base/createAppBuildJob.d.ts +2 -1
  14. package/dist/build/base/createAppBuildJob.js +10 -6
  15. package/dist/build/base/createArtifactsConfig.d.ts +1 -1
  16. package/dist/build/base/createArtifactsConfig.js +3 -1
  17. package/dist/build/base/index.js +3 -1
  18. package/dist/build/base/writeBuildInfo.js +4 -3
  19. package/dist/build/base/writeDotEnv.js +12 -3
  20. package/dist/build/custom/__tests__/testJob.test.js +3 -1
  21. package/dist/build/custom/buildJob.js +4 -12
  22. package/dist/build/custom/index.js +3 -1
  23. package/dist/build/custom/testJob.d.ts +1 -1
  24. package/dist/build/custom/testJob.js +18 -14
  25. package/dist/build/docker.d.ts +5 -31
  26. package/dist/build/docker.js +16 -9
  27. package/dist/build/index.d.ts +1 -1
  28. package/dist/build/index.js +13 -7
  29. package/dist/build/node/buildJob.js +4 -12
  30. package/dist/build/node/cache.js +6 -3
  31. package/dist/build/node/constants.js +3 -1
  32. package/dist/build/node/index.js +3 -1
  33. package/dist/build/node/meteor.js +5 -2
  34. package/dist/build/node/testJob.js +18 -14
  35. package/dist/build/node/yarn.d.ts +3 -2
  36. package/dist/build/node/yarn.js +6 -3
  37. package/dist/build/rails/build.js +3 -1
  38. package/dist/build/rails/index.js +3 -1
  39. package/dist/build/rails/test.js +15 -11
  40. package/dist/build/sbom.js +3 -1
  41. package/dist/build/types.d.ts +24 -18
  42. package/dist/build/types.js +3 -1
  43. package/dist/bundles/catladder-gitlab/index.js +3 -3
  44. package/dist/catladder-gitlab.js +10 -54
  45. package/dist/config/__tests__/configruedEnvs.test.js +3 -1
  46. package/dist/config/configruedEnvs.js +3 -1
  47. package/dist/config/index.js +13 -7
  48. package/dist/config/readConfig.js +6 -5
  49. package/dist/constants.js +5 -3
  50. package/dist/context/__tests__/resolveReferences.test.js +40 -8
  51. package/dist/context/getBuildInfoVariables.d.ts +7 -0
  52. package/dist/context/getBuildInfoVariables.js +29 -0
  53. package/dist/context/getEnvConfig.js +3 -1
  54. package/dist/context/getEnvType.js +3 -1
  55. package/dist/context/getEnvironment.d.ts +3 -3
  56. package/dist/context/getEnvironment.js +10 -14
  57. package/dist/context/getEnvironmentContext.d.ts +7 -3
  58. package/dist/context/getEnvironmentContext.js +21 -11
  59. package/dist/context/getEnvironmentVariables.d.ts +26 -5
  60. package/dist/context/getEnvironmentVariables.js +41 -25
  61. package/dist/context/getLabels.js +4 -2
  62. package/dist/context/getReviewSlug.d.ts +4 -0
  63. package/dist/context/getReviewSlug.js +22 -0
  64. package/dist/context/index.d.ts +12 -3
  65. package/dist/context/index.js +21 -15
  66. package/dist/context/resolveReferences.d.ts +3 -1
  67. package/dist/context/resolveReferences.js +53 -21
  68. package/dist/context/transformJobOnlyVars.d.ts +5 -2
  69. package/dist/context/transformJobOnlyVars.js +4 -2
  70. package/dist/context/utils/envVars.d.ts +1 -1
  71. package/dist/context/utils/envVars.js +5 -2
  72. package/dist/defaults/index.js +3 -1
  73. package/dist/deploy/base/deploy.d.ts +1 -1
  74. package/dist/deploy/base/deploy.js +12 -11
  75. package/dist/deploy/base/index.js +3 -1
  76. package/dist/deploy/base/rollback.d.ts +1 -1
  77. package/dist/deploy/base/rollback.js +13 -9
  78. package/dist/deploy/base/stop.d.ts +1 -1
  79. package/dist/deploy/base/stop.js +16 -11
  80. package/dist/deploy/base/types.d.ts +1 -1
  81. package/dist/deploy/base/types.js +3 -1
  82. package/dist/deploy/base/variables.js +3 -1
  83. package/dist/deploy/cloudRun/artifactsRegistry.d.ts +2 -1
  84. package/dist/deploy/cloudRun/artifactsRegistry.js +6 -4
  85. package/dist/deploy/cloudRun/cleanup.js +3 -1
  86. package/dist/deploy/cloudRun/cloudRunRevisions.js +3 -1
  87. package/dist/deploy/cloudRun/createJobs/cloudRunJobs.js +8 -5
  88. package/dist/deploy/cloudRun/createJobs/cloudRunServices.d.ts +2 -2
  89. package/dist/deploy/cloudRun/createJobs/cloudRunServices.js +6 -3
  90. package/dist/deploy/cloudRun/createJobs/common.d.ts +3 -3
  91. package/dist/deploy/cloudRun/createJobs/common.js +3 -1
  92. package/dist/deploy/cloudRun/createJobs/constants.d.ts +1 -0
  93. package/dist/deploy/cloudRun/createJobs/constants.js +7 -0
  94. package/dist/deploy/cloudRun/createJobs/getCloudRunDeployScripts.js +9 -2
  95. package/dist/deploy/cloudRun/createJobs/getCloudRunStopScripts.js +3 -1
  96. package/dist/deploy/cloudRun/createJobs/index.js +25 -8
  97. package/dist/deploy/cloudRun/createJobs/volumes.js +3 -1
  98. package/dist/deploy/cloudRun/index.js +5 -3
  99. package/dist/deploy/cloudRun/utils/createArgsString.d.ts +2 -1
  100. package/dist/deploy/cloudRun/utils/createArgsString.js +3 -1
  101. package/dist/deploy/cloudRun/utils/database.js +13 -13
  102. package/dist/deploy/cloudRun/utils/gcloudServiceAccountLoginCommands.js +3 -1
  103. package/dist/deploy/cloudRun/utils/getServiceName.d.ts +1 -1
  104. package/dist/deploy/cloudRun/utils/getServiceName.js +3 -1
  105. package/dist/deploy/cloudRun/utils/jobName.d.ts +2 -1
  106. package/dist/deploy/cloudRun/utils/jobName.js +4 -2
  107. package/dist/deploy/cloudRun/utils/removeFirstLinesFromCommandOutput.js +3 -1
  108. package/dist/deploy/cloudSql/utils.d.ts +2 -1
  109. package/dist/deploy/cloudSql/utils.js +7 -2
  110. package/dist/deploy/custom/deployJob.js +3 -1
  111. package/dist/deploy/custom/index.js +3 -1
  112. package/dist/deploy/dockerTag/deployJob.js +3 -1
  113. package/dist/deploy/dockerTag/index.js +3 -1
  114. package/dist/deploy/index.d.ts +4 -3
  115. package/dist/deploy/index.js +13 -7
  116. package/dist/deploy/kubernetes/additionalSecretKeys.js +3 -1
  117. package/dist/deploy/kubernetes/cloudSql/index.d.ts +3 -2
  118. package/dist/deploy/kubernetes/cloudSql/index.js +6 -4
  119. package/dist/deploy/kubernetes/deployJob.js +22 -15
  120. package/dist/deploy/kubernetes/index.js +51 -14
  121. package/dist/deploy/kubernetes/kubeEnv.d.ts +3 -2
  122. package/dist/deploy/kubernetes/kubeEnv.js +7 -4
  123. package/dist/deploy/kubernetes/kubeValues.d.ts +2 -2
  124. package/dist/deploy/kubernetes/kubeValues.js +3 -2
  125. package/dist/deploy/kubernetes/mongodb.js +3 -1
  126. package/dist/deploy/kubernetes/processSecretsAsFiles.d.ts +2 -1
  127. package/dist/deploy/kubernetes/processSecretsAsFiles.js +3 -1
  128. package/dist/deploy/sbom.js +3 -1
  129. package/dist/deploy/types/base.d.ts +8 -2
  130. package/dist/deploy/types/base.js +3 -1
  131. package/dist/deploy/types/custom.d.ts +1 -1
  132. package/dist/deploy/types/custom.js +3 -1
  133. package/dist/deploy/types/dockerTag.d.ts +1 -1
  134. package/dist/deploy/types/dockerTag.js +3 -1
  135. package/dist/deploy/types/googleCloudRun.d.ts +19 -18
  136. package/dist/deploy/types/googleCloudRun.js +3 -1
  137. package/dist/deploy/types/index.d.ts +6 -6
  138. package/dist/deploy/types/index.js +13 -7
  139. package/dist/deploy/types/kubernetes.d.ts +22 -22
  140. package/dist/deploy/types/kubernetes.js +3 -1
  141. package/dist/deploy/utils.js +3 -1
  142. package/dist/index.d.ts +3 -2
  143. package/dist/index.js +16 -9
  144. package/dist/packageInfos.d.ts +2 -0
  145. package/dist/packageInfos.js +14 -0
  146. package/dist/pipeline/createAllJobs.d.ts +13 -5
  147. package/dist/pipeline/createAllJobs.js +21 -10
  148. package/dist/pipeline/createChildPipeline.d.ts +1 -1
  149. package/dist/pipeline/createChildPipeline.js +24 -7
  150. package/dist/pipeline/createJobsForComponent.d.ts +3 -3
  151. package/dist/pipeline/createJobsForComponent.js +19 -18
  152. package/dist/pipeline/createMainPipeline.d.ts +3 -0
  153. package/dist/pipeline/createMainPipeline.js +248 -0
  154. package/dist/pipeline/generatePipelineFiles.d.ts +2 -0
  155. package/dist/pipeline/generatePipelineFiles.js +178 -0
  156. package/dist/pipeline/getPipelineStages.js +3 -1
  157. package/dist/pipeline/gitlab/createGitlabJobs.d.ts +15 -5
  158. package/dist/pipeline/gitlab/createGitlabJobs.js +98 -25
  159. package/dist/pipeline/gitlab/createGitlabPipeline.d.ts +7 -2
  160. package/dist/pipeline/gitlab/createGitlabPipeline.js +34 -17
  161. package/dist/pipeline/gitlab/getPipelineTriggerForGitlabChildPipeline.d.ts +1 -0
  162. package/dist/pipeline/gitlab/getPipelineTriggerForGitlabChildPipeline.js +29 -0
  163. package/dist/pipeline/gitlab/gitlabReleaseJobs.d.ts +33 -0
  164. package/dist/pipeline/gitlab/gitlabReleaseJobs.js +24 -0
  165. package/dist/pipeline/index.d.ts +3 -1
  166. package/dist/pipeline/index.js +16 -8
  167. package/dist/pipeline/packageManager.js +4 -2
  168. package/dist/pipeline/yarn/yarnUtils.js +6 -4
  169. package/dist/rules/index.d.ts +4 -1
  170. package/dist/rules/index.js +25 -18
  171. package/dist/runner/index.d.ts +1 -1
  172. package/dist/runner/index.js +3 -1
  173. package/dist/tsconfig.tsbuildinfo +1 -1
  174. package/dist/types/config.d.ts +18 -15
  175. package/dist/types/config.js +5 -2
  176. package/dist/types/context.d.ts +37 -32
  177. package/dist/types/context.js +3 -1
  178. package/dist/types/environmentContext.d.ts +11 -7
  179. package/dist/types/environmentContext.js +3 -1
  180. package/dist/types/gitlab-ci-yml.d.ts +30 -30
  181. package/dist/types/gitlab-ci-yml.js +3 -2
  182. package/dist/types/gitlab-types.d.ts +4 -6
  183. package/dist/types/gitlab-types.js +3 -1
  184. package/dist/types/index.js +13 -7
  185. package/dist/types/jobs.d.ts +23 -6
  186. package/dist/types/jobs.js +3 -1
  187. package/dist/types/pipeline.d.ts +4 -3
  188. package/dist/types/pipeline.js +3 -1
  189. package/dist/types/utils.d.ts +1 -1
  190. package/dist/types/utils.js +3 -1
  191. package/dist/utils/gitlab.js +3 -1
  192. package/dist/utils/index.d.ts +1 -1
  193. package/dist/utils/index.js +3 -1
  194. package/dist/utils/writeFiles.d.ts +7 -0
  195. package/dist/{pipeline/commitInfo/getBuildId.js โ†’ utils/writeFiles.js} +39 -22
  196. package/examples/__snapshots__/cloud-run-memory-limit.ts.snap +480 -384
  197. package/examples/__snapshots__/cloud-run-meteor-with-worker.ts.snap +462 -366
  198. package/examples/__snapshots__/cloud-run-no-cpu-throttling.ts.snap +480 -384
  199. package/examples/__snapshots__/cloud-run-no-service.ts.snap +501 -393
  200. package/examples/__snapshots__/cloud-run-non-public.ts.snap +480 -384
  201. package/examples/__snapshots__/cloud-run-post-stop-job.ts.snap +489 -392
  202. package/examples/__snapshots__/cloud-run-service-gen2.ts.snap +480 -384
  203. package/examples/__snapshots__/cloud-run-service-with-volumes.ts.snap +501 -401
  204. package/examples/__snapshots__/cloud-run-with-sql-reuse-db.ts.snap +1155 -915
  205. package/examples/__snapshots__/cloud-run-with-sql.ts.snap +1116 -888
  206. package/examples/__snapshots__/cloud-run-with-worker.ts.snap +482 -386
  207. package/examples/__snapshots__/custom-build-job-with-tests.ts.snap +452 -356
  208. package/examples/__snapshots__/custom-build-job.ts.snap +434 -350
  209. package/examples/__snapshots__/custom-deploy.ts.snap +319 -223
  210. package/examples/__snapshots__/custom-envs.ts.snap +123 -81
  211. package/examples/__snapshots__/custom-sbom-java.ts.snap +434 -350
  212. package/examples/__snapshots__/kubernetes-application-customization.ts.snap +846 -969
  213. package/examples/__snapshots__/kubernetes-with-cloud-sql-legacy.ts.snap +886 -957
  214. package/examples/__snapshots__/kubernetes-with-cloud-sql.ts.snap +894 -969
  215. package/examples/__snapshots__/kubernetes-with-jobs.ts.snap +1626 -1728
  216. package/examples/__snapshots__/kubernetes-with-mongodb.ts.snap +974 -1137
  217. package/examples/__snapshots__/local-dot-env.ts.snap +480 -384
  218. package/examples/__snapshots__/meteor-kubernetes.ts.snap +906 -1069
  219. package/examples/__snapshots__/multiline-var.ts.snap +4500 -0
  220. package/examples/__snapshots__/native-app.ts.snap +706 -578
  221. package/examples/__snapshots__/node-build-with-custom-image.ts.snap +480 -384
  222. package/examples/__snapshots__/node-build-with-docker-additions.ts.snap +488 -384
  223. package/examples/__snapshots__/rails-k8s-with-worker.ts.snap +1656 -1942
  224. package/examples/__snapshots__/wait-for-other-deploy.ts.snap +287 -231
  225. package/examples/custom-deploy.ts +7 -7
  226. package/examples/multiline-var.ts +64 -0
  227. package/package.json +5 -8
  228. package/src/bash/BashExpression.ts +81 -0
  229. package/src/bash/bashExpressionPerPipelineType.ts +16 -0
  230. package/src/bash/bashYaml.ts +46 -0
  231. package/src/bash/getInjectVarsScript.ts +12 -0
  232. package/src/bash/replaceAsync.ts +50 -0
  233. package/src/build/base/createAppBuildJob.ts +6 -2
  234. package/src/build/base/writeBuildInfo.ts +1 -1
  235. package/src/build/base/writeDotEnv.ts +6 -1
  236. package/src/build/custom/buildJob.ts +2 -4
  237. package/src/build/custom/testJob.ts +3 -2
  238. package/src/build/docker.ts +15 -7
  239. package/src/build/node/buildJob.ts +1 -3
  240. package/src/build/node/testJob.ts +3 -2
  241. package/src/build/node/yarn.ts +9 -4
  242. package/src/build/rails/test.ts +2 -1
  243. package/src/build/types.ts +8 -1
  244. package/src/catladder-gitlab.ts +8 -55
  245. package/src/config/readConfig.ts +2 -3
  246. package/src/constants.ts +5 -2
  247. package/src/context/__tests__/resolveReferences.test.ts +11 -6
  248. package/src/context/getBuildInfoVariables.ts +40 -0
  249. package/src/context/getEnvironment.ts +7 -30
  250. package/src/context/getEnvironmentContext.ts +25 -29
  251. package/src/context/getEnvironmentVariables.ts +61 -36
  252. package/src/context/getReviewSlug.ts +27 -0
  253. package/src/context/index.ts +24 -23
  254. package/src/context/resolveReferences.ts +28 -8
  255. package/src/context/transformJobOnlyVars.ts +5 -2
  256. package/src/context/utils/envVars.ts +2 -1
  257. package/src/deploy/base/deploy.ts +20 -18
  258. package/src/deploy/base/rollback.ts +8 -10
  259. package/src/deploy/base/stop.ts +8 -9
  260. package/src/deploy/cloudRun/artifactsRegistry.ts +9 -4
  261. package/src/deploy/cloudRun/createJobs/cloudRunJobs.ts +12 -7
  262. package/src/deploy/cloudRun/createJobs/cloudRunServices.ts +3 -2
  263. package/src/deploy/cloudRun/createJobs/constants.ts +1 -0
  264. package/src/deploy/cloudRun/createJobs/getCloudRunDeployScripts.ts +20 -2
  265. package/src/deploy/cloudRun/createJobs/index.ts +17 -8
  266. package/src/deploy/cloudRun/index.ts +14 -6
  267. package/src/deploy/cloudRun/utils/createArgsString.ts +2 -1
  268. package/src/deploy/cloudRun/utils/database.ts +2 -2
  269. package/src/deploy/cloudRun/utils/jobName.ts +7 -2
  270. package/src/deploy/cloudSql/utils.ts +12 -9
  271. package/src/deploy/index.ts +2 -1
  272. package/src/deploy/kubernetes/cloudSql/index.ts +3 -2
  273. package/src/deploy/kubernetes/deployJob.ts +24 -10
  274. package/src/deploy/kubernetes/index.ts +15 -8
  275. package/src/deploy/kubernetes/kubeEnv.ts +8 -6
  276. package/src/deploy/kubernetes/kubeValues.ts +0 -1
  277. package/src/deploy/kubernetes/processSecretsAsFiles.ts +2 -1
  278. package/src/deploy/types/base.ts +6 -0
  279. package/src/deploy/types/googleCloudRun.ts +2 -0
  280. package/src/index.ts +2 -1
  281. package/src/packageInfos.ts +10 -0
  282. package/src/pipeline/createAllJobs.ts +24 -10
  283. package/src/pipeline/createChildPipeline.ts +19 -8
  284. package/src/pipeline/createJobsForComponent.ts +14 -22
  285. package/src/pipeline/createMainPipeline.ts +88 -0
  286. package/src/pipeline/generatePipelineFiles.ts +29 -0
  287. package/src/pipeline/gitlab/createGitlabJobs.ts +174 -51
  288. package/src/pipeline/gitlab/createGitlabPipeline.ts +16 -14
  289. package/src/pipeline/gitlab/getPipelineTriggerForGitlabChildPipeline.ts +46 -0
  290. package/src/pipeline/gitlab/gitlabReleaseJobs.ts +20 -0
  291. package/src/pipeline/index.ts +2 -0
  292. package/src/rules/index.ts +15 -9
  293. package/src/types/config.ts +11 -2
  294. package/src/types/context.ts +39 -26
  295. package/src/types/environmentContext.ts +12 -6
  296. package/src/types/gitlab-ci-yml.ts +0 -1
  297. package/src/types/gitlab-types.ts +5 -4
  298. package/src/types/jobs.ts +28 -3
  299. package/src/types/pipeline.ts +4 -0
  300. package/src/utils/writeFiles.ts +40 -0
  301. package/dist/deploy/cloudRun/createJobs/variables.d.ts +0 -5
  302. package/dist/deploy/cloudRun/createJobs/variables.js +0 -19
  303. package/dist/pipeline/commitInfo/getBuildId.d.ts +0 -6
  304. package/dist/pipeline/commitInfo/getCommitInfo.d.ts +0 -2
  305. package/src/deploy/cloudRun/createJobs/variables.ts +0 -21
  306. package/src/pipeline/commitInfo/getBuildId.ts +0 -17
  307. package/src/pipeline/commitInfo/getCommitInfo.ts +0 -15
@@ -41,7 +41,9 @@ var __spreadArray = this && this.__spreadArray || function (to, from, pack) {
41
41
  }
42
42
  return to.concat(ar || Array.prototype.slice.call(from));
43
43
  };
44
- exports.__esModule = true;
44
+ Object.defineProperty(exports, "__esModule", {
45
+ value: true
46
+ });
45
47
  exports.createCustomTestJobs = void 0;
46
48
  var utils_1 = require("../../utils");
47
49
  var types_1 = require("../types");
@@ -52,9 +54,10 @@ var RUNNER_CUSTOM_TEST_VARIABLES = {
52
54
  KUBERNETES_MEMORY_LIMIT: "4Gi"
53
55
  };
54
56
  var createCustomTestJobs = function (context) {
55
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v;
57
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u;
56
58
  // don't run tests after release
57
- if (((_a = context.commitInfo) === null || _a === void 0 ? void 0 : _a.trigger) === "taggedRelease") {
59
+ // TODO: this will be replaced by using rules
60
+ if (context.trigger === "taggedRelease") {
58
61
  return [];
59
62
  }
60
63
  var buildConfig = context.componentConfig.build;
@@ -62,9 +65,10 @@ var createCustomTestJobs = function (context) {
62
65
  throw new Error("deploy config is not custom");
63
66
  }
64
67
  var base = {
65
- variables: __assign(__assign(__assign({
68
+ variables: __assign(__assign({
66
69
  APP_PATH: context.componentConfig.dir
67
- }, RUNNER_CUSTOM_TEST_VARIABLES), context.environment.jobOnlyVars.build.envVars), (_b = buildConfig.extraVars) !== null && _b !== void 0 ? _b : {}),
70
+ }, context.environment.jobOnlyVars.build.envVars), (_a = buildConfig.extraVars) !== null && _a !== void 0 ? _a : {}),
71
+ runnerVariables: RUNNER_CUSTOM_TEST_VARIABLES,
68
72
  services: buildConfig.jobServices,
69
73
  cache: buildConfig.jobCache,
70
74
  stage: "test",
@@ -74,23 +78,23 @@ var createCustomTestJobs = function (context) {
74
78
  var auditJob = buildConfig.audit ? __assign(__assign(__assign({
75
79
  name: "๐Ÿ›ก audit"
76
80
  }, base), {
77
- image: (_d = (_c = buildConfig.audit) === null || _c === void 0 ? void 0 : _c.jobImage) !== null && _d !== void 0 ? _d : buildConfig.jobImage,
81
+ image: (_c = (_b = buildConfig.audit) === null || _b === void 0 ? void 0 : _b.jobImage) !== null && _c !== void 0 ? _c : buildConfig.jobImage,
78
82
  cache: undefined,
79
- script: __spreadArray([], __read((_f = (0, utils_1.ensureArray)((_e = buildConfig.audit) === null || _e === void 0 ? void 0 : _e.command)) !== null && _f !== void 0 ? _f : []), false),
83
+ script: __spreadArray([], __read((_e = (0, utils_1.ensureArray)((_d = buildConfig.audit) === null || _d === void 0 ? void 0 : _d.command)) !== null && _e !== void 0 ? _e : []), false),
80
84
  allow_failure: true
81
- }), (0, createArtifactsConfig_1.createArtifactsConfig)(context.componentConfig.dir, (_g = buildConfig.audit) === null || _g === void 0 ? void 0 : _g.artifactsReports, (_h = buildConfig.audit) === null || _h === void 0 ? void 0 : _h.artifacts)) : null;
85
+ }), (0, createArtifactsConfig_1.createArtifactsConfig)(context.componentConfig.dir, (_f = buildConfig.audit) === null || _f === void 0 ? void 0 : _f.artifactsReports, (_g = buildConfig.audit) === null || _g === void 0 ? void 0 : _g.artifacts)) : null;
82
86
  var lintJob = buildConfig.lint ? __assign(__assign(__assign({
83
87
  name: "๐Ÿ‘ฎ lint"
84
88
  }, base), {
85
- image: (_k = (_j = buildConfig.lint) === null || _j === void 0 ? void 0 : _j.jobImage) !== null && _k !== void 0 ? _k : buildConfig.jobImage,
86
- script: __spreadArray([], __read((_m = (0, utils_1.ensureArray)((_l = buildConfig.lint) === null || _l === void 0 ? void 0 : _l.command)) !== null && _m !== void 0 ? _m : []), false)
87
- }), (0, createArtifactsConfig_1.createArtifactsConfig)(context.componentConfig.dir, (_o = buildConfig.lint) === null || _o === void 0 ? void 0 : _o.artifactsReports, (_p = buildConfig.lint) === null || _p === void 0 ? void 0 : _p.artifacts)) : null;
89
+ image: (_j = (_h = buildConfig.lint) === null || _h === void 0 ? void 0 : _h.jobImage) !== null && _j !== void 0 ? _j : buildConfig.jobImage,
90
+ script: __spreadArray([], __read((_l = (0, utils_1.ensureArray)((_k = buildConfig.lint) === null || _k === void 0 ? void 0 : _k.command)) !== null && _l !== void 0 ? _l : []), false)
91
+ }), (0, createArtifactsConfig_1.createArtifactsConfig)(context.componentConfig.dir, (_m = buildConfig.lint) === null || _m === void 0 ? void 0 : _m.artifactsReports, (_o = buildConfig.lint) === null || _o === void 0 ? void 0 : _o.artifacts)) : null;
88
92
  var testJob = buildConfig.test ? __assign(__assign(__assign({
89
93
  name: "๐Ÿงช test"
90
94
  }, base), {
91
- image: (_r = (_q = buildConfig.test) === null || _q === void 0 ? void 0 : _q.jobImage) !== null && _r !== void 0 ? _r : buildConfig.jobImage,
92
- script: __spreadArray([], __read((_t = (0, utils_1.ensureArray)((_s = buildConfig.test) === null || _s === void 0 ? void 0 : _s.command)) !== null && _t !== void 0 ? _t : []), false)
93
- }), (0, createArtifactsConfig_1.createArtifactsConfig)(context.componentConfig.dir, (_u = buildConfig.test) === null || _u === void 0 ? void 0 : _u.artifactsReports, (_v = buildConfig.test) === null || _v === void 0 ? void 0 : _v.artifacts)) : null;
95
+ image: (_q = (_p = buildConfig.test) === null || _p === void 0 ? void 0 : _p.jobImage) !== null && _q !== void 0 ? _q : buildConfig.jobImage,
96
+ script: __spreadArray([], __read((_s = (0, utils_1.ensureArray)((_r = buildConfig.test) === null || _r === void 0 ? void 0 : _r.command)) !== null && _s !== void 0 ? _s : []), false)
97
+ }), (0, createArtifactsConfig_1.createArtifactsConfig)(context.componentConfig.dir, (_t = buildConfig.test) === null || _t === void 0 ? void 0 : _t.artifactsReports, (_u = buildConfig.test) === null || _u === void 0 ? void 0 : _u.artifacts)) : null;
94
98
  return [auditJob, lintJob, testJob].filter(utils_1.notNil);
95
99
  };
96
100
  exports.createCustomTestJobs = createCustomTestJobs;
@@ -3,7 +3,7 @@ import type { CatladderJob } from "../types/jobs";
3
3
  export declare const getDockerImageVariables: (context: Context) => {
4
4
  DOCKER_IMAGE_TAG: string;
5
5
  DOCKER_REGISTRY: string;
6
- DOCKER_IMAGE: string;
6
+ DOCKER_IMAGE: import("../bash/BashExpression").StringOrBashExpression;
7
7
  DOCKER_CACHE_IMAGE: string;
8
8
  } | {
9
9
  DOCKER_IMAGE_TAG: string;
@@ -23,56 +23,30 @@ export declare const requiresDockerBuild: ({
23
23
  export declare const getDockerBuildVariables: (context: Context) => {
24
24
  DOCKER_IMAGE_TAG: string;
25
25
  DOCKER_REGISTRY: string;
26
- DOCKER_IMAGE: string;
26
+ DOCKER_IMAGE: import("../bash/BashExpression").StringOrBashExpression;
27
27
  DOCKER_CACHE_IMAGE: string;
28
- DOCKER_HOST: string;
29
- DOCKER_TLS_CERTDIR: string;
30
- DOCKER_DRIVER: string;
31
- DOCKER_BUILDKIT: string;
32
28
  DOCKERFILE_ADDITIONS: string | undefined;
33
29
  DOCKERFILE_ADDITIONS_END: string | undefined;
34
30
  APP_DIR: string;
35
31
  DOCKER_DIR: string;
36
- KUBERNETES_CPU_REQUEST: string;
37
- KUBERNETES_MEMORY_REQUEST: string;
38
- KUBERNETES_MEMORY_LIMIT: string;
39
32
  } | {
40
33
  DOCKER_IMAGE_TAG: string;
41
34
  DOCKER_REGISTRY: string;
42
35
  DOCKER_CACHE_IMAGE: string;
43
36
  DOCKER_IMAGE_NAME: string;
44
37
  DOCKER_IMAGE: string;
45
- DOCKER_HOST: string;
46
- DOCKER_TLS_CERTDIR: string;
47
- DOCKER_DRIVER: string;
48
- DOCKER_BUILDKIT: string;
49
38
  DOCKERFILE_ADDITIONS: string | undefined;
50
39
  DOCKERFILE_ADDITIONS_END: string | undefined;
51
40
  APP_DIR: string;
52
41
  DOCKER_DIR: string;
53
- KUBERNETES_CPU_REQUEST: string;
54
- KUBERNETES_MEMORY_REQUEST: string;
55
- KUBERNETES_MEMORY_LIMIT: string;
56
42
  };
57
43
  export declare const DOCKER_BUILD_JOB_NAME = "\uD83D\uDD28 docker";
58
- export declare const getDockerJobBaseProps: (context: Context) => {
59
- image: string;
60
- services: {
61
- name: string;
62
- command: string[];
63
- }[];
64
- variables: {
65
- DOCKER_HOST: string;
66
- DOCKER_TLS_CERTDIR: string;
67
- DOCKER_DRIVER: string;
68
- DOCKER_BUILDKIT: string;
69
- };
70
- };
71
- export declare type DockerBuildJobDefinition = Partial<CatladderJob>;
44
+ export declare const getDockerJobBaseProps: (context: Context) => Pick<CatladderJob, "image" | "services" | "variables" | "runnerVariables">;
45
+ export type DockerBuildJobDefinition = Partial<CatladderJob>;
72
46
  export declare const createDockerBuildJobBase: (context: Context, {
73
47
  script,
74
48
  ...def
75
49
  }: Partial<CatladderJob>) => CatladderJob;
76
50
  export declare const gitlabDockerLogin: (context: Context) => string[];
77
- export declare const getDockerBuildDefaultScript: (context: Context, ensureDockerFileScript?: string | undefined) => (string | undefined)[];
51
+ export declare const getDockerBuildDefaultScript: (context: Context, ensureDockerFileScript?: string) => (string | undefined)[];
78
52
  export declare const hasDockerfile: (context: Context) => boolean;
@@ -54,7 +54,9 @@ var __importDefault = this && this.__importDefault || function (mod) {
54
54
  "default": mod
55
55
  };
56
56
  };
57
- exports.__esModule = true;
57
+ Object.defineProperty(exports, "__esModule", {
58
+ value: true
59
+ });
58
60
  exports.hasDockerfile = exports.getDockerBuildDefaultScript = exports.gitlabDockerLogin = exports.createDockerBuildJobBase = exports.getDockerJobBaseProps = exports.DOCKER_BUILD_JOB_NAME = exports.getDockerBuildVariables = exports.requiresDockerBuild = exports.getDockerImageVariables = void 0;
59
61
  var lodash_1 = require("lodash");
60
62
  var deploy_1 = require("../deploy");
@@ -64,7 +66,7 @@ var path_1 = __importDefault(require("path"));
64
66
  var gitlab_1 = require("../utils/gitlab");
65
67
  var artifactsRegistry_1 = require("../deploy/cloudRun/artifactsRegistry");
66
68
  var gcloudServiceAccountLoginCommands_1 = require("../deploy/cloudRun/utils/gcloudServiceAccountLoginCommands");
67
- var DOCKER_RUNNER_BUILD_VARIABLES = {
69
+ var DOCKER_BUILD_RUNNER_REQUESTS = {
68
70
  KUBERNETES_CPU_REQUEST: "0.5",
69
71
  KUBERNETES_MEMORY_REQUEST: "1Gi",
70
72
  KUBERNETES_MEMORY_LIMIT: "2Gi"
@@ -95,22 +97,24 @@ var requiresDockerBuild = function (_a) {
95
97
  return (0, deploy_1.isOfDeployType)(deploy, "kubernetes", "google-cloudrun", "dockerTag") || (0, deploy_1.isOfDeployType)(deploy, "custom") && deploy.requiresDocker;
96
98
  };
97
99
  exports.requiresDockerBuild = requiresDockerBuild;
98
- var getDockerBaseVariables = function () {
100
+ // those need to be runner variables
101
+ var getDockerBuildRunnerVariables = function () {
99
102
  return {
100
103
  DOCKER_HOST: "tcp://0.0.0.0:2375",
101
104
  DOCKER_TLS_CERTDIR: "",
102
105
  DOCKER_DRIVER: "overlay2",
103
- DOCKER_BUILDKIT: "1"
106
+ DOCKER_BUILDKIT: "1" // see https://docs.docker.com/develop/develop-images/build_enhancements/
104
107
  };
105
108
  };
109
+
106
110
  var getDockerBuildVariables = function (context) {
107
111
  var _a, _b, _c, _d;
108
- return __assign(__assign(__assign(__assign({}, DOCKER_RUNNER_BUILD_VARIABLES), {
112
+ return __assign({
109
113
  DOCKERFILE_ADDITIONS: (_b = (_a = context.componentConfig.build.docker) === null || _a === void 0 ? void 0 : _a.additionsBegin) === null || _b === void 0 ? void 0 : _b.join("\n"),
110
114
  DOCKERFILE_ADDITIONS_END: (_d = (_c = context.componentConfig.build.docker) === null || _c === void 0 ? void 0 : _c.additionsEnd) === null || _d === void 0 ? void 0 : _d.join("\n"),
111
115
  APP_DIR: context.componentConfig.dir,
112
116
  DOCKER_DIR: "."
113
- }), getDockerBaseVariables()), (0, exports.getDockerImageVariables)(context));
117
+ }, (0, exports.getDockerImageVariables)(context));
114
118
  };
115
119
  exports.getDockerBuildVariables = getDockerBuildVariables;
116
120
  exports.DOCKER_BUILD_JOB_NAME = "๐Ÿ”จ docker";
@@ -119,9 +123,11 @@ var getDockerJobBaseProps = function (context) {
119
123
  image: (0, runner_1.getRunnerImage)("docker-build"),
120
124
  services: [{
121
125
  name: "docker:24.0.6-dind",
126
+ // see see https://gitlab.com/gitlab-org/gitlab-runner/-/issues/27300#note_466755332
122
127
  command: ["--tls=false"]
123
128
  }],
124
- variables: getDockerBaseVariables()
129
+ variables: {},
130
+ runnerVariables: getDockerBuildRunnerVariables()
125
131
  };
126
132
  };
127
133
  exports.getDockerJobBaseProps = getDockerJobBaseProps;
@@ -135,7 +141,8 @@ var createDockerBuildJobBase = function (context, _a) {
135
141
  }, (0, exports.getDockerJobBaseProps)(context)), {
136
142
  script: script || []
137
143
  }), {
138
- variables: (0, exports.getDockerBuildVariables)(context)
144
+ variables: (0, exports.getDockerBuildVariables)(context),
145
+ runnerVariables: __assign(__assign({}, DOCKER_BUILD_RUNNER_REQUESTS), getDockerBuildRunnerVariables())
139
146
  }, def);
140
147
  };
141
148
  exports.createDockerBuildJobBase = createDockerBuildJobBase;
@@ -149,6 +156,6 @@ var getDockerBuildDefaultScript = function (context, ensureDockerFileScript) {
149
156
  };
150
157
  exports.getDockerBuildDefaultScript = getDockerBuildDefaultScript;
151
158
  var hasDockerfile = function (context) {
152
- return (0, fs_1.existsSync)(path_1["default"].join(context.componentConfig.dir, "Dockerfile"));
159
+ return (0, fs_1.existsSync)(path_1.default.join(context.componentConfig.dir, "Dockerfile"));
153
160
  };
154
161
  exports.hasDockerfile = hasDockerfile;
@@ -4,7 +4,7 @@ import type { CatladderJob } from "../types/jobs";
4
4
  import type { BuildConfig, BuildConfigType } from "./types";
5
5
  export * from "./types";
6
6
  export * from "./node";
7
- export declare type BuildTypes = { [type in BuildConfigType]: {
7
+ export type BuildTypes = { [type in BuildConfigType]: {
8
8
  jobs: (context: Context) => CatladderJob[];
9
9
  defaults: (envContext: EnvironmentContext<BuildConfigType, any>) => Partial<Extract<BuildConfig, {
10
10
  type: type;
@@ -2,12 +2,16 @@
2
2
 
3
3
  var __createBinding = this && this.__createBinding || (Object.create ? function (o, m, k, k2) {
4
4
  if (k2 === undefined) k2 = k;
5
- Object.defineProperty(o, k2, {
6
- enumerable: true,
7
- get: function () {
8
- return m[k];
9
- }
10
- });
5
+ var desc = Object.getOwnPropertyDescriptor(m, k);
6
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
+ desc = {
8
+ enumerable: true,
9
+ get: function () {
10
+ return m[k];
11
+ }
12
+ };
13
+ }
14
+ Object.defineProperty(o, k2, desc);
11
15
  } : function (o, m, k, k2) {
12
16
  if (k2 === undefined) k2 = k;
13
17
  o[k2] = m[k];
@@ -15,7 +19,9 @@ var __createBinding = this && this.__createBinding || (Object.create ? function
15
19
  var __exportStar = this && this.__exportStar || function (m, exports) {
16
20
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
17
21
  };
18
- exports.__esModule = true;
22
+ Object.defineProperty(exports, "__esModule", {
23
+ value: true
24
+ });
19
25
  exports.BUILD_TYPES = void 0;
20
26
  var custom_1 = require("./custom");
21
27
  var node_1 = require("./node");
@@ -1,15 +1,5 @@
1
1
  "use strict";
2
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
3
  var __read = this && this.__read || function (o, n) {
14
4
  var m = typeof Symbol === "function" && o[Symbol.iterator];
15
5
  if (!m) return o;
@@ -41,7 +31,9 @@ var __spreadArray = this && this.__spreadArray || function (to, from, pack) {
41
31
  }
42
32
  return to.concat(ar || Array.prototype.slice.call(from));
43
33
  };
44
- exports.__esModule = true;
34
+ Object.defineProperty(exports, "__esModule", {
35
+ value: true
36
+ });
45
37
  exports.createNodeBuildJobs = void 0;
46
38
  var path_1 = require("path");
47
39
  var runner_1 = require("../../runner");
@@ -63,7 +55,7 @@ var createNodeBuildJobs = function (context) {
63
55
  return (0, base_1.createBuildJobs)(context, {
64
56
  appBuild: buildConfig.buildCommand !== null ? {
65
57
  image: (_a = buildConfig.jobImage) !== null && _a !== void 0 ? _a : defaultImage,
66
- variables: __assign({}, constants_1.NODE_RUNNER_BUILD_VARIABLES),
58
+ runnerVariables: constants_1.NODE_RUNNER_BUILD_VARIABLES,
67
59
  cache: __spreadArray(__spreadArray(__spreadArray([], __read((_b = (0, utils_1.ensureArray)(buildConfig.jobCache)) !== null && _b !== void 0 ? _b : []), false), __read((0, cache_1.getNodeCache)(context)), false), __read((0, cache_1.getNextCache)(context)), false),
68
60
  script: __spreadArray(__spreadArray([], __read(yarnInstall), false), __read((_c = (0, utils_1.ensureArray)(buildConfig.buildCommand)) !== null && _c !== void 0 ? _c : []), false),
69
61
  artifacts: {
@@ -36,7 +36,9 @@ var __importDefault = this && this.__importDefault || function (mod) {
36
36
  "default": mod
37
37
  };
38
38
  };
39
- exports.__esModule = true;
39
+ Object.defineProperty(exports, "__esModule", {
40
+ value: true
41
+ });
40
42
  exports.getNextCache = exports.getNodeCache = exports.getNodeModulesCache = exports.getYarnCache = void 0;
41
43
  var path_1 = require("path");
42
44
  var slugify_1 = __importDefault(require("slugify"));
@@ -52,7 +54,7 @@ var getYarnCache = function (context, policy) {
52
54
  policy: policy,
53
55
  paths: [".yarn"]
54
56
  } : {
55
- key: (0, slugify_1["default"])(context.componentConfig.dir) + "-yarn",
57
+ key: (0, slugify_1.default)(context.componentConfig.dir) + "-yarn",
56
58
  policy: policy,
57
59
  paths: [(0, path_1.join)(context.componentConfig.dir, ".yarn")]
58
60
  }];
@@ -68,7 +70,8 @@ var getNodeModulesCache = function (context, policy) {
68
70
  // It would slow down all pipelines whenever one adds a new dependency as it will need to download all node_modules again.
69
71
  return [{
70
72
  // if component is in a shared workspace, use workspace cache. use individual cache else
71
- key: componentIsInWorkspace ? "node-modules-workspace" : (0, slugify_1["default"])(context.componentConfig.dir) + "-node-modules",
73
+ key: componentIsInWorkspace ? "node-modules-workspace" : (0, slugify_1.default)(context.componentConfig.dir) + "-node-modules",
74
+ // we use the dirname, not the component name, because in certain cases we have two apps in the same directory and want to share the cache, e.g. when having storybook in the same package.json
72
75
  policy: policy,
73
76
  paths: __spreadArray([], __read(componentIsInWorkspace ? (0, lodash_1.uniq)(__spreadArray(["node_modules"], __read((_c = (_b = context.packageManagerInfo) === null || _b === void 0 ? void 0 : _b.workspaces.map(function (w) {
74
77
  return (0, path_1.join)(w.location, "node_modules");
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
 
3
- exports.__esModule = true;
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
4
6
  exports.NODE_RUNNER_BUILD_VARIABLES = void 0;
5
7
  exports.NODE_RUNNER_BUILD_VARIABLES = {
6
8
  KUBERNETES_CPU_REQUEST: "0.5",
@@ -31,7 +31,9 @@ var __spreadArray = this && this.__spreadArray || function (to, from, pack) {
31
31
  }
32
32
  return to.concat(ar || Array.prototype.slice.call(from));
33
33
  };
34
- exports.__esModule = true;
34
+ Object.defineProperty(exports, "__esModule", {
35
+ value: true
36
+ });
35
37
  exports.createMeteorJobs = exports.createStorybookJobs = exports.createNodeJobs = void 0;
36
38
  var buildJob_1 = require("./buildJob");
37
39
  var meteor_1 = require("./meteor");
@@ -31,7 +31,9 @@ var __spreadArray = this && this.__spreadArray || function (to, from, pack) {
31
31
  }
32
32
  return to.concat(ar || Array.prototype.slice.call(from));
33
33
  };
34
- exports.__esModule = true;
34
+ Object.defineProperty(exports, "__esModule", {
35
+ value: true
36
+ });
35
37
  exports.createMeteorBuildJobs = void 0;
36
38
  var path_1 = require("path");
37
39
  var runner_1 = require("../../runner");
@@ -58,8 +60,9 @@ var createMeteorBuildJobs = function (context) {
58
60
  cache: __spreadArray(__spreadArray([], __read((0, cache_1.getNodeCache)(context)), false), __read(getMeteorCache(context)), false),
59
61
  image: (0, runner_1.getRunnerImage)("jobs-meteor"),
60
62
  variables: {
61
- METEOR_DISABLE_OPTIMISTIC_CACHING: "1"
63
+ METEOR_DISABLE_OPTIMISTIC_CACHING: "1" // see https://forums.meteor.com/t/veeery-long-building-time-inside-docker-container/58673/17?u=macrozone
62
64
  },
65
+
63
66
  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),
64
67
  artifacts: {
65
68
  paths: [context.componentConfig.dir + "/__build_info.json", context.componentConfig.dir + "/dist"]
@@ -41,7 +41,9 @@ var __spreadArray = this && this.__spreadArray || function (to, from, pack) {
41
41
  }
42
42
  return to.concat(ar || Array.prototype.slice.call(from));
43
43
  };
44
- exports.__esModule = true;
44
+ Object.defineProperty(exports, "__esModule", {
45
+ value: true
46
+ });
45
47
  exports.createNodeTestJobs = void 0;
46
48
  var runner_1 = require("../../runner");
47
49
  var utils_1 = require("../../utils");
@@ -50,17 +52,19 @@ var constants_1 = require("./constants");
50
52
  var yarn_1 = require("./yarn");
51
53
  var createArtifactsConfig_1 = require("../base/createArtifactsConfig");
52
54
  var createNodeTestJobs = function (context) {
53
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w;
55
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v;
54
56
  // don't run tests after release
55
- if (((_a = context.commitInfo) === null || _a === void 0 ? void 0 : _a.trigger) === "taggedRelease") {
57
+ // TODO: this will be replaced by using rules
58
+ if (context.trigger === "taggedRelease") {
56
59
  return [];
57
60
  }
58
61
  var buildConfig = context.componentConfig.build;
59
62
  var defaultImage = (0, runner_1.getRunnerImage)("jobs-default");
60
63
  var base = {
61
- variables: __assign(__assign(__assign({
64
+ variables: __assign(__assign({
62
65
  APP_PATH: context.componentConfig.dir
63
- }, constants_1.NODE_RUNNER_BUILD_VARIABLES), context.environment.jobOnlyVars.build.envVars), (_b = buildConfig.extraVars) !== null && _b !== void 0 ? _b : {}),
66
+ }, context.environment.jobOnlyVars.build.envVars), (_a = buildConfig.extraVars) !== null && _a !== void 0 ? _a : {}),
67
+ runnerVariables: constants_1.NODE_RUNNER_BUILD_VARIABLES,
64
68
  stage: "test",
65
69
  needs: [],
66
70
  envMode: "none"
@@ -69,26 +73,26 @@ var createNodeTestJobs = function (context) {
69
73
  var auditJob = buildConfig.audit !== false ? __assign(__assign(__assign({
70
74
  name: "๐Ÿ›ก audit"
71
75
  }, base), {
72
- image: (_d = (_c = buildConfig.audit) === null || _c === void 0 ? void 0 : _c.jobImage) !== null && _d !== void 0 ? _d : defaultImage,
76
+ image: (_c = (_b = buildConfig.audit) === null || _b === void 0 ? void 0 : _b.jobImage) !== null && _c !== void 0 ? _c : defaultImage,
73
77
  cache: undefined,
74
- script: __spreadArray(["cd ".concat(context.componentConfig.dir)], __read((_f = (0, utils_1.ensureArray)((_e = buildConfig.audit) === null || _e === void 0 ? void 0 : _e.command)) !== null && _f !== void 0 ? _f : [((_g = context.packageManagerInfo) === null || _g === void 0 ? void 0 : _g.isClassic) ? "yarn audit" : "yarn npm audit --environment production" // yarn 2
78
+ script: __spreadArray(["cd ".concat(context.componentConfig.dir)], __read((_e = (0, utils_1.ensureArray)((_d = buildConfig.audit) === null || _d === void 0 ? void 0 : _d.command)) !== null && _e !== void 0 ? _e : [((_f = context.packageManagerInfo) === null || _f === void 0 ? void 0 : _f.isClassic) ? "yarn audit" : "yarn npm audit --environment production" // yarn 2
75
79
  ]), false),
76
80
  allow_failure: true
77
- }), (0, createArtifactsConfig_1.createArtifactsConfig)(context.componentConfig.dir, (_h = buildConfig.audit) === null || _h === void 0 ? void 0 : _h.artifactsReports, (_j = buildConfig.audit) === null || _j === void 0 ? void 0 : _j.artifacts)) : null;
81
+ }), (0, createArtifactsConfig_1.createArtifactsConfig)(context.componentConfig.dir, (_g = buildConfig.audit) === null || _g === void 0 ? void 0 : _g.artifactsReports, (_h = buildConfig.audit) === null || _h === void 0 ? void 0 : _h.artifacts)) : null;
78
82
  var lintJob = buildConfig.lint !== false ? __assign(__assign(__assign({
79
83
  name: "๐Ÿ‘ฎ lint"
80
84
  }, base), {
81
- image: (_l = (_k = buildConfig.lint) === null || _k === void 0 ? void 0 : _k.jobImage) !== null && _l !== void 0 ? _l : defaultImage,
85
+ image: (_k = (_j = buildConfig.lint) === null || _j === void 0 ? void 0 : _j.jobImage) !== null && _k !== void 0 ? _k : defaultImage,
82
86
  cache: (0, cache_1.getNodeCache)(context),
83
- script: __spreadArray(__spreadArray(__spreadArray(__spreadArray([], __read((0, yarn_1.ensureNodeVersion)(context)), false), ["cd ".concat(context.componentConfig.dir)], false), __read(yarnInstall), false), __read((_o = (0, utils_1.ensureArray)((_m = buildConfig.lint) === null || _m === void 0 ? void 0 : _m.command)) !== null && _o !== void 0 ? _o : ["yarn lint"]), false)
84
- }), (0, createArtifactsConfig_1.createArtifactsConfig)(context.componentConfig.dir, (_p = buildConfig.lint) === null || _p === void 0 ? void 0 : _p.artifactsReports, (_q = buildConfig.lint) === null || _q === void 0 ? void 0 : _q.artifacts)) : null;
87
+ script: __spreadArray(__spreadArray(__spreadArray(__spreadArray([], __read((0, yarn_1.ensureNodeVersion)(context)), false), ["cd ".concat(context.componentConfig.dir)], false), __read(yarnInstall), false), __read((_m = (0, utils_1.ensureArray)((_l = buildConfig.lint) === null || _l === void 0 ? void 0 : _l.command)) !== null && _m !== void 0 ? _m : ["yarn lint"]), false)
88
+ }), (0, createArtifactsConfig_1.createArtifactsConfig)(context.componentConfig.dir, (_o = buildConfig.lint) === null || _o === void 0 ? void 0 : _o.artifactsReports, (_p = buildConfig.lint) === null || _p === void 0 ? void 0 : _p.artifacts)) : null;
85
89
  var testJob = buildConfig.test !== false ? __assign(__assign(__assign({
86
90
  name: "๐Ÿงช test"
87
91
  }, base), {
88
- image: (_s = (_r = buildConfig.test) === null || _r === void 0 ? void 0 : _r.jobImage) !== null && _s !== void 0 ? _s : (0, runner_1.getRunnerImage)("jobs-testing-chrome"),
92
+ image: (_r = (_q = buildConfig.test) === null || _q === void 0 ? void 0 : _q.jobImage) !== null && _r !== void 0 ? _r : (0, runner_1.getRunnerImage)("jobs-testing-chrome"),
89
93
  cache: (0, cache_1.getNodeCache)(context),
90
- script: __spreadArray(__spreadArray(__spreadArray(__spreadArray([], __read((0, yarn_1.ensureNodeVersion)(context)), false), ["cd ".concat(context.componentConfig.dir)], false), __read(yarnInstall), false), __read((_u = (0, utils_1.ensureArray)((_t = buildConfig.test) === null || _t === void 0 ? void 0 : _t.command)) !== null && _u !== void 0 ? _u : ["yarn test"]), false)
91
- }), (0, createArtifactsConfig_1.createArtifactsConfig)(context.componentConfig.dir, (_v = buildConfig.test) === null || _v === void 0 ? void 0 : _v.artifactsReports, (_w = buildConfig.test) === null || _w === void 0 ? void 0 : _w.artifacts)) : null;
94
+ script: __spreadArray(__spreadArray(__spreadArray(__spreadArray([], __read((0, yarn_1.ensureNodeVersion)(context)), false), ["cd ".concat(context.componentConfig.dir)], false), __read(yarnInstall), false), __read((_t = (0, utils_1.ensureArray)((_s = buildConfig.test) === null || _s === void 0 ? void 0 : _s.command)) !== null && _t !== void 0 ? _t : ["yarn test"]), false)
95
+ }), (0, createArtifactsConfig_1.createArtifactsConfig)(context.componentConfig.dir, (_u = buildConfig.test) === null || _u === void 0 ? void 0 : _u.artifactsReports, (_v = buildConfig.test) === null || _v === void 0 ? void 0 : _v.artifacts)) : null;
92
96
  return [auditJob, lintJob, testJob].filter(utils_1.notNil);
93
97
  };
94
98
  exports.createNodeTestJobs = createNodeTestJobs;
@@ -1,6 +1,7 @@
1
+ import { BashExpression } from "../../bash/BashExpression";
1
2
  import type { Context } from "../../types";
2
3
  export declare const ensureNodeVersion: (context: Context) => string[];
3
4
  export declare const getYarnInstall: (context: Context, options?: {
4
5
  noCustomPostInstall: boolean;
5
- } | undefined) => string[];
6
- export declare const getDockerAppCopyAndBuildScript: (context: Context) => string;
6
+ }) => string[];
7
+ export declare const getDockerAppCopyAndBuildScript: (context: Context) => BashExpression;
@@ -31,8 +31,11 @@ var __spreadArray = this && this.__spreadArray || function (to, from, pack) {
31
31
  }
32
32
  return to.concat(ar || Array.prototype.slice.call(from));
33
33
  };
34
- exports.__esModule = true;
34
+ Object.defineProperty(exports, "__esModule", {
35
+ value: true
36
+ });
35
37
  exports.getDockerAppCopyAndBuildScript = exports.getYarnInstall = exports.ensureNodeVersion = void 0;
38
+ var BashExpression_1 = require("../../bash/BashExpression");
36
39
  var utils_1 = require("../../utils");
37
40
  var gitlab_1 = require("../../utils/gitlab");
38
41
  var YARN_INSTALL_CLASSIC = "yarn install --frozen-lockfile";
@@ -59,7 +62,7 @@ var DOCKER_COPY_FILES = "COPY --chown=node:node $APP_DIR .";
59
62
  var getDockerAppCopyAndBuildScript = function (context) {
60
63
  var _a;
61
64
  if ((_a = context.packageManagerInfo) === null || _a === void 0 ? void 0 : _a.isClassic) {
62
- return "\nRUN ".concat(YARN_INSTALL_CLASSIC, " --production --ignore-scripts\n").concat(DOCKER_COPY_FILES, "\nRUN ").concat(YARN_INSTALL_CLASSIC, " --production \n ").trim();
65
+ return new BashExpression_1.BashExpression("\nRUN ".concat(YARN_INSTALL_CLASSIC, " --production --ignore-scripts\n").concat(DOCKER_COPY_FILES, "\nRUN ").concat(YARN_INSTALL_CLASSIC, " --production \n ").trim());
63
66
  }
64
67
  // yarn >= 4 ships with build in plugins, see https://github.com/yarnpkg/berry/pull/4253
65
68
  // trying to import those fail on this version
@@ -70,6 +73,6 @@ var getDockerAppCopyAndBuildScript = function (context) {
70
73
  var maybeAddWorkspaceToolsCommand = doesNotShipWithBuiltInPlugins ? "RUN yarn plugin import workspace-tools" : "";
71
74
  // copy first everything and then install
72
75
  // rebuild first does not work as it will run postinstall and that might require files in the app
73
- return "\n".concat(DOCKER_COPY_FILES, "\n").concat(maybeAddWorkspaceToolsCommand, "\nRUN ").concat(YARN_BERRY_PROD_REBUILD, "\n\n ").trim();
76
+ return new BashExpression_1.BashExpression("\n".concat(DOCKER_COPY_FILES, "\n").concat(maybeAddWorkspaceToolsCommand, "\nRUN ").concat(YARN_BERRY_PROD_REBUILD, "\n\n ").trim());
74
77
  };
75
78
  exports.getDockerAppCopyAndBuildScript = getDockerAppCopyAndBuildScript;
@@ -41,7 +41,9 @@ var __spreadArray = this && this.__spreadArray || function (to, from, pack) {
41
41
  }
42
42
  return to.concat(ar || Array.prototype.slice.call(from));
43
43
  };
44
- exports.__esModule = true;
44
+ Object.defineProperty(exports, "__esModule", {
45
+ value: true
46
+ });
45
47
  exports.createRailsBuildJobs = void 0;
46
48
  var base_1 = require("../base");
47
49
  var docker_1 = require("../docker");
@@ -31,7 +31,9 @@ var __spreadArray = this && this.__spreadArray || function (to, from, pack) {
31
31
  }
32
32
  return to.concat(ar || Array.prototype.slice.call(from));
33
33
  };
34
- exports.__esModule = true;
34
+ Object.defineProperty(exports, "__esModule", {
35
+ value: true
36
+ });
35
37
  exports.createRailsJobs = void 0;
36
38
  var build_1 = require("./build");
37
39
  var test_1 = require("./test");
@@ -41,18 +41,21 @@ var __spreadArray = this && this.__spreadArray || function (to, from, pack) {
41
41
  }
42
42
  return to.concat(ar || Array.prototype.slice.call(from));
43
43
  };
44
- exports.__esModule = true;
44
+ Object.defineProperty(exports, "__esModule", {
45
+ value: true
46
+ });
45
47
  exports.createRailsTestJobs = void 0;
46
48
  var utils_1 = require("../../utils");
47
49
  var createRailsTestJobs = function (context) {
48
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s;
50
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;
49
51
  // don't run tests after release
50
- if (((_a = context.commitInfo) === null || _a === void 0 ? void 0 : _a.trigger) === "taggedRelease") {
52
+ // TODO: this will be replaced by using rules
53
+ if (context.trigger === "taggedRelease") {
51
54
  return [];
52
55
  }
53
56
  var buildConfig = context.componentConfig.build;
54
57
  var base = {
55
- variables: __assign(__assign({}, context.environment.jobOnlyVars.build.envVars), (_b = buildConfig.extraVars) !== null && _b !== void 0 ? _b : {}),
58
+ variables: __assign(__assign({}, context.environment.jobOnlyVars.build.envVars), (_a = buildConfig.extraVars) !== null && _a !== void 0 ? _a : {}),
56
59
  stage: "test",
57
60
  needs: [],
58
61
  envMode: "none"
@@ -63,31 +66,32 @@ var createRailsTestJobs = function (context) {
63
66
  var bundlerCache = {
64
67
  key: {
65
68
  files: ["Gemfile.lock"],
66
- prefix: "$CI_JOB_IMAGE"
69
+ prefix: "$CI_JOB_IMAGE" // a changed image might have different OS libraries which no longer work with the cached gems
67
70
  },
71
+
68
72
  paths: [bundlerCacheDir]
69
73
  };
70
74
  var auditJob = buildConfig.audit !== false ? __assign(__assign({
71
75
  name: "๐Ÿ›ก audit"
72
76
  }, base), {
73
77
  cache: undefined,
74
- image: (_e = (_d = (_c = buildConfig.audit) === null || _c === void 0 ? void 0 : _c.jobImage) !== null && _d !== void 0 ? _d : buildConfig.jobImage) !== null && _e !== void 0 ? _e : defaultImage,
75
- script: __spreadArray(["cd ".concat(context.componentConfig.dir)], __read((_g = (0, utils_1.ensureArray)((_f = buildConfig.audit) === null || _f === void 0 ? void 0 : _f.command)) !== null && _g !== void 0 ? _g : ["gem install bundler-audit", "bundle audit check"]), false),
78
+ image: (_d = (_c = (_b = buildConfig.audit) === null || _b === void 0 ? void 0 : _b.jobImage) !== null && _c !== void 0 ? _c : buildConfig.jobImage) !== null && _d !== void 0 ? _d : defaultImage,
79
+ script: __spreadArray(["cd ".concat(context.componentConfig.dir)], __read((_f = (0, utils_1.ensureArray)((_e = buildConfig.audit) === null || _e === void 0 ? void 0 : _e.command)) !== null && _f !== void 0 ? _f : ["gem install bundler-audit", "bundle audit check"]), false),
76
80
  allow_failure: true
77
81
  }) : null;
78
82
  var lintJob = buildConfig.lint !== false ? __assign(__assign({
79
83
  name: "๐Ÿ‘ฎ lint"
80
84
  }, base), {
81
85
  cache: bundlerCache,
82
- image: (_k = (_j = (_h = buildConfig.lint) === null || _h === void 0 ? void 0 : _h.jobImage) !== null && _j !== void 0 ? _j : buildConfig.jobImage) !== null && _k !== void 0 ? _k : defaultImage,
83
- script: __spreadArray(__spreadArray(["cd ".concat(context.componentConfig.dir)], __read(bundlerInstall), false), __read((_m = (0, utils_1.ensureArray)((_l = buildConfig.lint) === null || _l === void 0 ? void 0 : _l.command)) !== null && _m !== void 0 ? _m : ["bundle exec rubocop"]), false)
86
+ image: (_j = (_h = (_g = buildConfig.lint) === null || _g === void 0 ? void 0 : _g.jobImage) !== null && _h !== void 0 ? _h : buildConfig.jobImage) !== null && _j !== void 0 ? _j : defaultImage,
87
+ script: __spreadArray(__spreadArray(["cd ".concat(context.componentConfig.dir)], __read(bundlerInstall), false), __read((_l = (0, utils_1.ensureArray)((_k = buildConfig.lint) === null || _k === void 0 ? void 0 : _k.command)) !== null && _l !== void 0 ? _l : ["bundle exec rubocop"]), false)
84
88
  }) : null;
85
89
  var testJob = buildConfig.test !== false ? __assign(__assign({
86
90
  name: "๐Ÿงช test"
87
91
  }, base), {
88
92
  cache: bundlerCache,
89
- image: (_q = (_p = (_o = buildConfig.test) === null || _o === void 0 ? void 0 : _o.jobImage) !== null && _p !== void 0 ? _p : buildConfig.jobImage) !== null && _q !== void 0 ? _q : defaultImage,
90
- script: __spreadArray(__spreadArray(["cd ".concat(context.componentConfig.dir)], __read(bundlerInstall), false), __read((_s = (0, utils_1.ensureArray)((_r = buildConfig.test) === null || _r === void 0 ? void 0 : _r.command)) !== null && _s !== void 0 ? _s : ["bundle exec rspec"]), false)
93
+ image: (_p = (_o = (_m = buildConfig.test) === null || _m === void 0 ? void 0 : _m.jobImage) !== null && _o !== void 0 ? _o : buildConfig.jobImage) !== null && _p !== void 0 ? _p : defaultImage,
94
+ script: __spreadArray(__spreadArray(["cd ".concat(context.componentConfig.dir)], __read(bundlerInstall), false), __read((_r = (0, utils_1.ensureArray)((_q = buildConfig.test) === null || _q === void 0 ? void 0 : _q.command)) !== null && _r !== void 0 ? _r : ["bundle exec rspec"]), false)
91
95
  }) : null;
92
96
  return [auditJob, lintJob, testJob].filter(utils_1.notNil);
93
97
  };
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
 
3
- exports.__esModule = true;
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
4
6
  exports.createSbomBuildJob = exports.SBOM_FILE = exports.SBOM_BUILD_JOB_NAME = void 0;
5
7
  var utils_1 = require("../utils");
6
8
  exports.SBOM_BUILD_JOB_NAME = "๐Ÿงพ sbom";