@catladder/pipeline 1.144.1 → 1.146.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 (335) 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 +40 -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 +10 -4
  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 +4 -5
  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/__utils__/helpers.ts +2 -2
  226. package/examples/custom-deploy.ts +7 -7
  227. package/examples/multiline-var.ts +64 -0
  228. package/package.json +5 -8
  229. package/scripts/generate-gitlab-ci-types.ts +2 -2
  230. package/src/bash/BashExpression.ts +81 -0
  231. package/src/bash/bashExpressionPerPipelineType.ts +16 -0
  232. package/src/bash/bashYaml.ts +46 -0
  233. package/src/bash/getInjectVarsScript.ts +12 -0
  234. package/src/bash/replaceAsync.ts +50 -0
  235. package/src/build/base/__tests__/createArtifactsConfig.test.ts +3 -3
  236. package/src/build/base/createAppBuildJob.ts +8 -4
  237. package/src/build/base/createArtifactsConfig.ts +2 -2
  238. package/src/build/base/index.ts +1 -1
  239. package/src/build/base/writeBuildInfo.ts +1 -1
  240. package/src/build/base/writeDotEnv.ts +6 -1
  241. package/src/build/custom/__tests__/testJob.test.ts +1 -1
  242. package/src/build/custom/buildJob.ts +4 -6
  243. package/src/build/custom/testJob.ts +6 -5
  244. package/src/build/docker.ts +21 -13
  245. package/src/build/index.ts +1 -1
  246. package/src/build/node/buildJob.ts +3 -5
  247. package/src/build/node/cache.ts +4 -4
  248. package/src/build/node/meteor.ts +1 -1
  249. package/src/build/node/testJob.ts +6 -5
  250. package/src/build/node/yarn.ts +14 -9
  251. package/src/build/rails/test.ts +2 -1
  252. package/src/build/types.ts +8 -1
  253. package/src/catladder-gitlab.ts +8 -55
  254. package/src/config/configruedEnvs.ts +6 -6
  255. package/src/config/readConfig.ts +4 -5
  256. package/src/constants.ts +5 -2
  257. package/src/context/__tests__/resolveReferences.test.ts +11 -6
  258. package/src/context/getBuildInfoVariables.ts +40 -0
  259. package/src/context/getEnvConfig.ts +1 -1
  260. package/src/context/getEnvType.ts +1 -1
  261. package/src/context/getEnvironment.ts +7 -30
  262. package/src/context/getEnvironmentContext.ts +25 -29
  263. package/src/context/getEnvironmentVariables.ts +72 -47
  264. package/src/context/getReviewSlug.ts +27 -0
  265. package/src/context/index.ts +26 -25
  266. package/src/context/resolveReferences.ts +40 -17
  267. package/src/context/transformJobOnlyVars.ts +6 -3
  268. package/src/context/utils/envVars.ts +5 -4
  269. package/src/deploy/base/deploy.ts +25 -23
  270. package/src/deploy/base/index.ts +1 -1
  271. package/src/deploy/base/rollback.ts +9 -11
  272. package/src/deploy/base/stop.ts +9 -10
  273. package/src/deploy/cloudRun/artifactsRegistry.ts +13 -8
  274. package/src/deploy/cloudRun/cleanup.ts +3 -3
  275. package/src/deploy/cloudRun/cloudRunRevisions.ts +3 -3
  276. package/src/deploy/cloudRun/createJobs/cloudRunJobs.ts +22 -17
  277. package/src/deploy/cloudRun/createJobs/cloudRunServices.ts +7 -6
  278. package/src/deploy/cloudRun/createJobs/common.ts +1 -1
  279. package/src/deploy/cloudRun/createJobs/constants.ts +1 -0
  280. package/src/deploy/cloudRun/createJobs/getCloudRunDeployScripts.ts +25 -7
  281. package/src/deploy/cloudRun/createJobs/getCloudRunStopScripts.ts +1 -1
  282. package/src/deploy/cloudRun/createJobs/index.ts +18 -9
  283. package/src/deploy/cloudRun/createJobs/volumes.ts +2 -2
  284. package/src/deploy/cloudRun/index.ts +22 -10
  285. package/src/deploy/cloudRun/utils/createArgsString.ts +3 -2
  286. package/src/deploy/cloudRun/utils/database.ts +7 -7
  287. package/src/deploy/cloudRun/utils/gcloudServiceAccountLoginCommands.ts +1 -1
  288. package/src/deploy/cloudRun/utils/jobName.ts +7 -2
  289. package/src/deploy/cloudRun/utils/removeFirstLinesFromCommandOutput.ts +1 -1
  290. package/src/deploy/cloudSql/utils.ts +13 -10
  291. package/src/deploy/index.ts +5 -4
  292. package/src/deploy/kubernetes/cloudSql/index.ts +6 -5
  293. package/src/deploy/kubernetes/deployJob.ts +28 -14
  294. package/src/deploy/kubernetes/index.ts +15 -8
  295. package/src/deploy/kubernetes/kubeEnv.ts +9 -7
  296. package/src/deploy/kubernetes/kubeValues.ts +5 -6
  297. package/src/deploy/kubernetes/mongodb.ts +1 -1
  298. package/src/deploy/kubernetes/processSecretsAsFiles.ts +5 -4
  299. package/src/deploy/types/base.ts +6 -0
  300. package/src/deploy/types/googleCloudRun.ts +2 -0
  301. package/src/deploy/utils.ts +2 -2
  302. package/src/index.ts +2 -1
  303. package/src/packageInfos.ts +10 -0
  304. package/src/pipeline/createAllJobs.ts +28 -14
  305. package/src/pipeline/createChildPipeline.ts +20 -9
  306. package/src/pipeline/createJobsForComponent.ts +15 -23
  307. package/src/pipeline/createMainPipeline.ts +91 -0
  308. package/src/pipeline/generatePipelineFiles.ts +29 -0
  309. package/src/pipeline/getPipelineStages.ts +1 -1
  310. package/src/pipeline/gitlab/createGitlabJobs.ts +182 -59
  311. package/src/pipeline/gitlab/createGitlabPipeline.ts +16 -14
  312. package/src/pipeline/gitlab/getPipelineTriggerForGitlabChildPipeline.ts +46 -0
  313. package/src/pipeline/gitlab/gitlabReleaseJobs.ts +20 -0
  314. package/src/pipeline/index.ts +2 -0
  315. package/src/pipeline/packageManager.ts +2 -2
  316. package/src/pipeline/yarn/yarnUtils.ts +7 -7
  317. package/src/rules/index.ts +15 -9
  318. package/src/types/config.ts +12 -3
  319. package/src/types/context.ts +39 -26
  320. package/src/types/environmentContext.ts +13 -7
  321. package/src/types/gitlab-ci-yml.ts +0 -1
  322. package/src/types/gitlab-types.ts +5 -4
  323. package/src/types/jobs.ts +29 -4
  324. package/src/types/pipeline.ts +4 -0
  325. package/src/types/utils.ts +4 -4
  326. package/src/utils/gitlab.ts +1 -1
  327. package/src/utils/index.ts +2 -2
  328. package/src/utils/writeFiles.ts +40 -0
  329. package/dist/deploy/cloudRun/createJobs/variables.d.ts +0 -5
  330. package/dist/deploy/cloudRun/createJobs/variables.js +0 -19
  331. package/dist/pipeline/commitInfo/getBuildId.d.ts +0 -6
  332. package/dist/pipeline/commitInfo/getCommitInfo.d.ts +0 -2
  333. package/src/deploy/cloudRun/createJobs/variables.ts +0 -21
  334. package/src/pipeline/commitInfo/getBuildId.ts +0 -17
  335. package/src/pipeline/commitInfo/getCommitInfo.ts +0 -15
@@ -1,5 +1,5 @@
1
1
  import type { AllowUnknownProps, DeployConfigBase } from "./base";
2
- export declare type DeployConfigKubernetesClusterGCloud = {
2
+ export type DeployConfigKubernetesClusterGCloud = {
3
3
  type: "gcloud";
4
4
  /**
5
5
  * gcoud name of the cluster
@@ -18,22 +18,22 @@ export declare type DeployConfigKubernetesClusterGCloud = {
18
18
  */
19
19
  domainCanonical?: string;
20
20
  };
21
- export declare type DeployConfigKubernetesCluster = DeployConfigKubernetesClusterGCloud;
22
- export declare type KubernetesAutoscaleMetricResourceTarget = {
21
+ export type DeployConfigKubernetesCluster = DeployConfigKubernetesClusterGCloud;
22
+ export type KubernetesAutoscaleMetricResourceTarget = {
23
23
  type: "Utilization";
24
24
  averageUtilization: number;
25
25
  } | {
26
26
  type: "AverageValue";
27
27
  averageValue: number | string;
28
28
  };
29
- export declare type KubernetesAutoscaleMetric = {
29
+ export type KubernetesAutoscaleMetric = {
30
30
  type: "Resource";
31
31
  resource: {
32
32
  name: "cpu" | "memory";
33
33
  target: KubernetesAutoscaleMetricResourceTarget;
34
34
  };
35
35
  };
36
- export declare type KubernetesAutoscale = {
36
+ export type KubernetesAutoscale = {
37
37
  minReplicas: number;
38
38
  maxReplicas: number;
39
39
  /**
@@ -41,7 +41,7 @@ export declare type KubernetesAutoscale = {
41
41
  */
42
42
  metrics: KubernetesAutoscaleMetric[];
43
43
  };
44
- export declare type KubernetesResourcesDef = {
44
+ export type KubernetesResourcesDef = {
45
45
  limits?: {
46
46
  cpu?: string;
47
47
  memory?: string;
@@ -51,7 +51,7 @@ export declare type KubernetesResourcesDef = {
51
51
  memory?: string;
52
52
  };
53
53
  };
54
- declare type KubernetesHealthDef = {
54
+ type KubernetesHealthDef = {
55
55
  httpGet?: {
56
56
  path?: string;
57
57
  port?: number;
@@ -65,7 +65,7 @@ declare type KubernetesHealthDef = {
65
65
  successThreshold?: number;
66
66
  };
67
67
  };
68
- export declare type KubernetesUpdateStrategy = {
68
+ export type KubernetesUpdateStrategy = {
69
69
  rollingUpdate: {
70
70
  /**
71
71
  * how many pods can be created additionally to the target number
@@ -82,7 +82,7 @@ export declare type KubernetesUpdateStrategy = {
82
82
  };
83
83
  type: "RollingUpdate";
84
84
  };
85
- export declare type KubernetesWorkerDef = {
85
+ export type KubernetesWorkerDef = {
86
86
  enabled: boolean;
87
87
  /**
88
88
  * which command to run. defaults to `yarn start`
@@ -97,18 +97,18 @@ export declare type KubernetesWorkerDef = {
97
97
  */
98
98
  livenessProbe?: boolean;
99
99
  };
100
- declare type KubernetesTolerationExists = {
100
+ type KubernetesTolerationExists = {
101
101
  operator: "Exists";
102
102
  };
103
- declare type KubernetesTolerationEqual = {
103
+ type KubernetesTolerationEqual = {
104
104
  operator: "Equal";
105
105
  value: string;
106
106
  };
107
- export declare type KubernetesToleration = {
107
+ export type KubernetesToleration = {
108
108
  key: string;
109
109
  effect: "NoSchedule" | "PreferNoSchedule" | "NoExecute";
110
110
  } & (KubernetesTolerationEqual | KubernetesTolerationExists);
111
- export declare type DeployConfigMongodbBase = {
111
+ export type DeployConfigMongodbBase = {
112
112
  enabled?: boolean;
113
113
  dbName?: string;
114
114
  persistence?: {
@@ -124,7 +124,7 @@ export declare type DeployConfigMongodbBase = {
124
124
  resources?: KubernetesResourcesDef;
125
125
  tolerations?: KubernetesToleration[];
126
126
  };
127
- export declare type KubernetesRedirect = {
127
+ export type KubernetesRedirect = {
128
128
  /**
129
129
  * the domain to redirect from
130
130
  */
@@ -141,21 +141,21 @@ export declare type KubernetesRedirect = {
141
141
  */
142
142
  rule?: string;
143
143
  };
144
- export declare type DeployConfigMongodbStandalone = {
144
+ export type DeployConfigMongodbStandalone = {
145
145
  architecture: "standalone";
146
146
  };
147
- export declare type DeployConfigMongodbReplicaset = {
147
+ export type DeployConfigMongodbReplicaset = {
148
148
  architecture: "replicaset";
149
149
  /**
150
150
  * defaults to 2
151
151
  */
152
152
  replicaCount?: number;
153
153
  };
154
- export declare type DeployConfigMongodb = DeployConfigMongodbBase & (DeployConfigMongodbStandalone | DeployConfigMongodbReplicaset);
154
+ export type DeployConfigMongodb = DeployConfigMongodbBase & (DeployConfigMongodbStandalone | DeployConfigMongodbReplicaset);
155
155
  /**
156
156
  * @deprecated use config with instanceConnectionName
157
157
  */
158
- declare type DeployConfigKubernetesValuesCloudSQLLegacy = {
158
+ type DeployConfigKubernetesValuesCloudSQLLegacy = {
159
159
  enabled: boolean;
160
160
  /**
161
161
  * @deprecated use config with instanceConnectionName
@@ -178,7 +178,7 @@ declare type DeployConfigKubernetesValuesCloudSQLLegacy = {
178
178
  */
179
179
  type?: "legacy";
180
180
  };
181
- export declare type DeployConfigKubernetesValuesCloudSQLUnmanaged = {
181
+ export type DeployConfigKubernetesValuesCloudSQLUnmanaged = {
182
182
  enabled: boolean;
183
183
  instanceConnectionName: string;
184
184
  /**
@@ -204,8 +204,8 @@ export declare type DeployConfigKubernetesValuesCloudSQLUnmanaged = {
204
204
  */
205
205
  dbBaseName?: string;
206
206
  };
207
- export declare type DeployConfigKubernetesValuesCloudSQL = DeployConfigKubernetesValuesCloudSQLLegacy | DeployConfigKubernetesValuesCloudSQLUnmanaged;
208
- export declare type DeployConfigKubernetesValues = AllowUnknownProps<{
207
+ export type DeployConfigKubernetesValuesCloudSQL = DeployConfigKubernetesValuesCloudSQLLegacy | DeployConfigKubernetesValuesCloudSQLUnmanaged;
208
+ export type DeployConfigKubernetesValues = AllowUnknownProps<{
209
209
  /**
210
210
  * enable cloudsql db. Currently you have to manually set it up
211
211
  */
@@ -331,7 +331,7 @@ export declare type DeployConfigKubernetesValues = AllowUnknownProps<{
331
331
  */
332
332
  secretsAsFile?: string[];
333
333
  }>;
334
- export declare type DeployConfigKubernetes = {
334
+ export type DeployConfigKubernetes = {
335
335
  type: "kubernetes";
336
336
  /**
337
337
  * cluster config to use.
@@ -1,3 +1,5 @@
1
1
  "use strict";
2
2
 
3
- exports.__esModule = true;
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -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.contextIsStoppable = exports.getKubernetesNamespace = exports.getFullKubernetesClusterName = void 0;
5
7
  var types_1 = require("./types");
6
8
  var getFullKubernetesClusterName = function (cluster) {
package/dist/index.d.ts CHANGED
@@ -1,8 +1,9 @@
1
- export * from "./pipeline/";
1
+ export * from "./pipeline";
2
2
  export * from "./types";
3
3
  export * from "./rules";
4
4
  export * from "./runner";
5
5
  export * from "./config";
6
6
  export * from "./context";
7
7
  export * from "./build";
8
- export * from "./deploy";
8
+ export * from "./deploy";
9
+ export * from "./utils/writeFiles";
package/dist/index.js CHANGED
@@ -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,12 +19,15 @@ 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;
19
- __exportStar(require("./pipeline/"), exports);
22
+ Object.defineProperty(exports, "__esModule", {
23
+ value: true
24
+ });
25
+ __exportStar(require("./pipeline"), exports);
20
26
  __exportStar(require("./types"), exports);
21
27
  __exportStar(require("./rules"), exports);
22
28
  __exportStar(require("./runner"), exports);
23
29
  __exportStar(require("./config"), exports);
24
30
  __exportStar(require("./context"), exports);
25
31
  __exportStar(require("./build"), exports);
26
- __exportStar(require("./deploy"), exports);
32
+ __exportStar(require("./deploy"), exports);
33
+ __exportStar(require("./utils/writeFiles"), exports);
@@ -0,0 +1,2 @@
1
+ declare const ownPkg: any;
2
+ export default ownPkg;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+
3
+ // we can't import the package.json directly, because the bundling process will inline it
4
+ // but the version is only set during deployement, when its already bundled
5
+ // instead we need to use require.main.path to get the path of the main module, which is actually the file in the bin
6
+ // this will point to the root package.json
7
+ var _a;
8
+ Object.defineProperty(exports, "__esModule", {
9
+ value: true
10
+ });
11
+ var path = ((_a = require.main) === null || _a === void 0 ? void 0 : _a.path) + "/../package.json";
12
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
13
+ var ownPkg = require(path);
14
+ exports.default = ownPkg;
@@ -1,8 +1,16 @@
1
- import type { Config, PipelineTrigger } from "../types";
2
- import type { CatladderJob } from "../types/jobs";
3
- export declare type AllCatladderJobs = {
1
+ import type { CatladderJobWithContext, Config, PipelineTrigger, PipelineType } from "../types";
2
+ export type AllCatladderJobs = {
4
3
  [componentName: string]: {
5
- [env: string]: Array<CatladderJob>;
4
+ [env: string]: Array<CatladderJobWithContext>;
6
5
  };
7
6
  };
8
- export declare const createAllJobs: (config: Config, trigger: PipelineTrigger) => Promise<AllCatladderJobs>;
7
+ export type AllJobsContext = {
8
+ config: Config;
9
+ trigger: PipelineTrigger;
10
+ pipelineType: PipelineType;
11
+ };
12
+ export declare const createAllJobs: ({
13
+ config,
14
+ trigger,
15
+ pipelineType
16
+ }: AllJobsContext) => Promise<AllCatladderJobs>;
@@ -55,7 +55,7 @@ var __generator = this && this.__generator || function (thisArg, body) {
55
55
  }
56
56
  function step(op) {
57
57
  if (f) throw new TypeError("Generator is already executing.");
58
- while (_) try {
58
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
59
59
  if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
60
60
  if (y = 0, t) op = [op[0] & 2, t.value];
61
61
  switch (op[0]) {
@@ -115,17 +115,22 @@ var __generator = this && this.__generator || function (thisArg, body) {
115
115
  };
116
116
  }
117
117
  };
118
- exports.__esModule = true;
118
+ Object.defineProperty(exports, "__esModule", {
119
+ value: true
120
+ });
119
121
  exports.createAllJobs = void 0;
120
122
  var config_1 = require("../config");
121
123
  var createJobsForComponent_1 = require("./createJobsForComponent");
122
- var createAllJobs = function (config, trigger) {
123
- return __awaiter(void 0, void 0, void 0, function () {
124
- var _a, _b;
125
- return __generator(this, function (_c) {
126
- switch (_c.label) {
124
+ var createAllJobs = function (_a) {
125
+ return __awaiter(void 0, [_a], void 0, function (_b) {
126
+ var _c, _d;
127
+ var config = _b.config,
128
+ trigger = _b.trigger,
129
+ pipelineType = _b.pipelineType;
130
+ return __generator(this, function (_e) {
131
+ switch (_e.label) {
127
132
  case 0:
128
- _b = (_a = Object).fromEntries;
133
+ _d = (_c = Object).fromEntries;
129
134
  return [4 /*yield*/, Promise.all(Object.keys(config.components).map(function (componentName) {
130
135
  return __awaiter(void 0, void 0, void 0, function () {
131
136
  var envs, _a, _b, _c;
@@ -142,7 +147,13 @@ var createAllJobs = function (config, trigger) {
142
147
  switch (_b.label) {
143
148
  case 0:
144
149
  _a = [env];
145
- return [4 /*yield*/, (0, createJobsForComponent_1.createJobsForComponent)(config, componentName, env, trigger)];
150
+ return [4 /*yield*/, (0, createJobsForComponent_1.createJobsForComponent)({
151
+ config: config,
152
+ componentName: componentName,
153
+ env: env,
154
+ trigger: trigger,
155
+ pipelineType: pipelineType
156
+ })];
146
157
  case 1:
147
158
  return [2 /*return*/, _a.concat([_b.sent()])];
148
159
  }
@@ -156,7 +167,7 @@ var createAllJobs = function (config, trigger) {
156
167
  });
157
168
  }))];
158
169
  case 1:
159
- return [2 /*return*/, _b.apply(_a, [_c.sent()])];
170
+ return [2 /*return*/, _d.apply(_c, [_e.sent()])];
160
171
  }
161
172
  });
162
173
  });
@@ -1,3 +1,3 @@
1
1
  import type { Pipeline } from "../types";
2
2
  import type { Config, PipelineTrigger } from "../types/config";
3
- export declare const createChildPipeline: <T extends "gitlab">(type: T, trigger: PipelineTrigger, config: Config) => Promise<Pipeline<T>>;
3
+ export declare const createChildPipeline: <T extends "gitlab">(pipelineType: T, trigger: PipelineTrigger, config: Config) => Promise<Pipeline<T>>;
@@ -55,7 +55,7 @@ var __generator = this && this.__generator || function (thisArg, body) {
55
55
  }
56
56
  function step(op) {
57
57
  if (f) throw new TypeError("Generator is already executing.");
58
- while (_) try {
58
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
59
59
  if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
60
60
  if (y = 0, t) op = [op[0] & 2, t.value];
61
61
  switch (op[0]) {
@@ -115,29 +115,46 @@ var __generator = this && this.__generator || function (thisArg, body) {
115
115
  };
116
116
  }
117
117
  };
118
- exports.__esModule = true;
118
+ Object.defineProperty(exports, "__esModule", {
119
+ value: true
120
+ });
119
121
  exports.createChildPipeline = void 0;
122
+ var rules_1 = require("../rules");
120
123
  var createAllJobs_1 = require("./createAllJobs");
121
124
  var getPipelineStages_1 = require("./getPipelineStages");
122
125
  var createGitlabJobs_1 = require("./gitlab/createGitlabJobs");
123
126
  var createGitlabPipeline_1 = require("./gitlab/createGitlabPipeline");
124
- var createChildPipeline = function (type, trigger, config) {
127
+ var createChildPipeline = function (pipelineType, trigger, config) {
125
128
  return __awaiter(void 0, void 0, void 0, function () {
126
129
  var jobs, stages, gitlabJobs;
127
130
  return __generator(this, function (_a) {
128
131
  switch (_a.label) {
129
132
  case 0:
130
- return [4 /*yield*/, (0, createAllJobs_1.createAllJobs)(config, trigger)];
133
+ return [4 /*yield*/, (0, createAllJobs_1.createAllJobs)({
134
+ config: config,
135
+ trigger: trigger,
136
+ pipelineType: pipelineType
137
+ })];
131
138
  case 1:
132
139
  jobs = _a.sent();
133
140
  stages = (0, getPipelineStages_1.getPipelineStages)(config);
134
- if (!(type === "gitlab")) return [3 /*break*/, 3];
141
+ if (!(pipelineType === "gitlab")) return [3 /*break*/, 3];
135
142
  return [4 /*yield*/, (0, createGitlabJobs_1.createGitlabJobs)(jobs)];
136
143
  case 2:
137
144
  gitlabJobs = _a.sent();
138
- return [2 /*return*/, (0, createGitlabPipeline_1.createGitlabPipelineFromStagesAndJobs)(stages, gitlabJobs)];
145
+ return [2 /*return*/, (0, createGitlabPipeline_1.createGitlabPipelineWithDefaults)({
146
+ workflow: {
147
+ rules: rules_1.RULES_ALWAYS
148
+ },
149
+ stages: stages,
150
+ jobs: Object.fromEntries(gitlabJobs.map(function (_a) {
151
+ var gitlabJob = _a.gitlabJob,
152
+ name = _a.name;
153
+ return [name, gitlabJob];
154
+ }))
155
+ })];
139
156
  case 3:
140
- throw new Error("".concat(type, " is not supported"));
157
+ throw new Error("".concat(pipelineType, " is not supported"));
141
158
  }
142
159
  });
143
160
  });
@@ -1,3 +1,3 @@
1
- import type { Config, PipelineTrigger } from "../types/config";
2
- import type { CatladderJob } from "../types/jobs";
3
- export declare const createJobsForComponent: (config: Config, componentName: string, env: string, trigger: PipelineTrigger) => Promise<Array<CatladderJob>>;
1
+ import type { CreateContextContext } from "../context";
2
+ import type { CatladderJobWithContext } from "../types/context";
3
+ export declare const createJobsForComponent: (contextContext: Omit<CreateContextContext, "packageManagerInfo">) => Promise<Array<CatladderJobWithContext>>;
@@ -65,7 +65,7 @@ var __generator = this && this.__generator || function (thisArg, body) {
65
65
  }
66
66
  function step(op) {
67
67
  if (f) throw new TypeError("Generator is already executing.");
68
- while (_) try {
68
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
69
69
  if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
70
70
  if (y = 0, t) op = [op[0] & 2, t.value];
71
71
  switch (op[0]) {
@@ -164,13 +164,14 @@ var __spreadArray = this && this.__spreadArray || function (to, from, pack) {
164
164
  }
165
165
  return to.concat(ar || Array.prototype.slice.call(from));
166
166
  };
167
- exports.__esModule = true;
167
+ Object.defineProperty(exports, "__esModule", {
168
+ value: true
169
+ });
168
170
  exports.createJobsForComponent = void 0;
169
171
  var lodash_1 = require("lodash");
170
172
  var build_1 = require("../build");
171
173
  var context_1 = require("../context");
172
174
  var deploy_1 = require("../deploy");
173
- var getCommitInfo_1 = require("./commitInfo/getCommitInfo");
174
175
  var packageManager_1 = require("./packageManager");
175
176
  var injectDefaultVarsInCustomJobs = function (context, jobs) {
176
177
  return jobs.map(function (_a) {
@@ -195,25 +196,25 @@ var createRawJobs = function (context) {
195
196
  var customJobs = getCustomJobs(context);
196
197
  return __spreadArray(__spreadArray(__spreadArray([], __read(buildJobs), false), __read(deployJobs), false), __read(customJobs), false);
197
198
  };
198
- var createJobsForComponent = function (config, componentName, env, trigger) {
199
+ var createJobsForComponent = function (contextContext) {
199
200
  return __awaiter(void 0, void 0, void 0, function () {
200
- var commitInfo, _a, packageManagerInfo, context;
201
- return __generator(this, function (_b) {
202
- switch (_b.label) {
201
+ var packageManagerInfo, context;
202
+ return __generator(this, function (_a) {
203
+ switch (_a.label) {
203
204
  case 0:
204
- _a = [{}];
205
- return [4 /*yield*/, (0, getCommitInfo_1.getBaseCommitInfo)()];
205
+ return [4 /*yield*/, (0, packageManager_1.getPackageManagerInfo)(contextContext.config, contextContext.componentName)];
206
206
  case 1:
207
- commitInfo = __assign.apply(void 0, [__assign.apply(void 0, _a.concat([_b.sent()])), {
208
- trigger: trigger
209
- }]);
210
- return [4 /*yield*/, (0, packageManager_1.getPackageManagerInfo)(config, componentName)];
207
+ packageManagerInfo = _a.sent();
208
+ return [4 /*yield*/, (0, context_1.createContext)(__assign(__assign({}, contextContext), {
209
+ packageManagerInfo: packageManagerInfo
210
+ }))];
211
211
  case 2:
212
- packageManagerInfo = _b.sent();
213
- return [4 /*yield*/, (0, context_1.createContext)(config, componentName, env, commitInfo, packageManagerInfo)];
214
- case 3:
215
- context = _b.sent();
216
- return [2 /*return*/, createRawJobs(context)];
212
+ context = _a.sent();
213
+ return [2 /*return*/, createRawJobs(context).map(function (job) {
214
+ return __assign(__assign({}, job), {
215
+ context: context
216
+ });
217
+ })];
217
218
  }
218
219
  });
219
220
  });
@@ -0,0 +1,3 @@
1
+ import type { Pipeline } from "../types";
2
+ import { type Config } from "../types/config";
3
+ export declare const createMainPipeline: <T extends "gitlab">(pipelineType: T, config: Config) => Promise<Pipeline<T>>;