@catladder/pipeline 0.0.0-waitfor-deploy-31ebcf14 → 0.0.0-yarn-cache-a697966f

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 (371) hide show
  1. package/README.md +3 -0
  2. package/bin/catladder-gitlab-dev.js +3 -0
  3. package/bin/catladder-gitlab.js +1 -1
  4. package/dist/build/base/__tests__/createArtifactsConfig.test.js +40 -0
  5. package/dist/build/base/createAppBuildJob.d.ts +8 -0
  6. package/dist/build/base/{createBuildJob.js → createAppBuildJob.js} +20 -34
  7. package/dist/build/base/createArtifactsConfig.d.ts +4 -0
  8. package/dist/build/base/createArtifactsConfig.js +63 -0
  9. package/dist/build/base/index.d.ts +8 -0
  10. package/dist/build/base/index.js +57 -0
  11. package/dist/build/base/writeBuildInfo.d.ts +2 -0
  12. package/dist/build/base/{getBuildInfo.js → writeBuildInfo.js} +3 -6
  13. package/dist/build/base/writeDotEnv.d.ts +7 -0
  14. package/dist/build/base/writeDotEnv.js +43 -0
  15. package/dist/build/custom/__tests__/testJob.test.js +37 -0
  16. package/dist/build/custom/buildJob.d.ts +3 -0
  17. package/dist/build/custom/buildJob.js +83 -0
  18. package/dist/build/custom/index.d.ts +3 -0
  19. package/dist/build/custom/index.js +41 -0
  20. package/dist/build/custom/testJob.d.ts +7 -0
  21. package/dist/build/custom/testJob.js +97 -0
  22. package/dist/build/docker.d.ts +62 -12
  23. package/dist/build/docker.js +78 -69
  24. package/dist/build/index.d.ts +6 -5
  25. package/dist/build/index.js +20 -6
  26. package/dist/build/node/buildJob.d.ts +2 -2
  27. package/dist/build/node/buildJob.js +38 -57
  28. package/dist/build/node/cache.d.ts +2 -2
  29. package/dist/build/node/cache.js +23 -25
  30. package/dist/build/node/index.d.ts +1 -1
  31. package/dist/build/node/index.js +3 -16
  32. package/dist/build/node/meteor.d.ts +1 -1
  33. package/dist/build/node/meteor.js +22 -33
  34. package/dist/build/node/testJob.d.ts +2 -2
  35. package/dist/build/node/testJob.js +22 -32
  36. package/dist/build/node/yarn.d.ts +5 -6
  37. package/dist/build/node/yarn.js +38 -23
  38. package/dist/build/rails/build.d.ts +3 -0
  39. package/dist/build/rails/build.js +83 -0
  40. package/dist/build/rails/index.d.ts +3 -0
  41. package/dist/build/rails/index.js +41 -0
  42. package/dist/build/rails/test.d.ts +3 -0
  43. package/dist/build/rails/test.js +94 -0
  44. package/dist/build/sbom.d.ts +5 -0
  45. package/dist/build/sbom.js +29 -0
  46. package/dist/build/types.d.ts +167 -19
  47. package/dist/build/types.js +0 -4
  48. package/dist/bundles/catladder-gitlab/index.js +34271 -0
  49. package/dist/catladder-gitlab.js +7 -26
  50. package/dist/config/{configruedEnvs.test.js → __tests__/configruedEnvs.test.js} +10 -12
  51. package/dist/config/configruedEnvs.d.ts +1 -1
  52. package/dist/config/configruedEnvs.js +7 -22
  53. package/dist/config/index.js +0 -4
  54. package/dist/config/readConfig.d.ts +1 -1
  55. package/dist/config/readConfig.js +2 -13
  56. package/dist/constants.js +1 -1
  57. package/dist/context/__tests__/resolveReferences.test.js +336 -0
  58. package/dist/context/getEnvConfig.d.ts +2 -0
  59. package/dist/context/getEnvConfig.js +18 -0
  60. package/dist/context/getEnvType.d.ts +4 -0
  61. package/dist/context/getEnvType.js +13 -0
  62. package/dist/context/getEnvironment.d.ts +3 -0
  63. package/dist/context/getEnvironment.js +158 -0
  64. package/dist/context/getEnvironmentContext.d.ts +4 -0
  65. package/dist/context/getEnvironmentContext.js +33 -0
  66. package/dist/context/getEnvironmentVariables.d.ts +9 -0
  67. package/dist/context/getEnvironmentVariables.js +264 -0
  68. package/dist/context/getLabels.d.ts +9 -0
  69. package/dist/context/getLabels.js +39 -0
  70. package/dist/context/index.d.ts +5 -6
  71. package/dist/context/index.js +158 -208
  72. package/dist/context/resolveReferences.d.ts +1 -3
  73. package/dist/context/resolveReferences.js +213 -52
  74. package/dist/context/transformJobOnlyVars.d.ts +10 -0
  75. package/dist/{build/tests/storybook.test.js → context/transformJobOnlyVars.js} +50 -104
  76. package/dist/context/utils/envVars.d.ts +8 -0
  77. package/dist/context/utils/envVars.js +52 -0
  78. package/dist/defaults/index.d.ts +1 -1
  79. package/dist/deploy/base/deploy.d.ts +5 -0
  80. package/dist/deploy/base/deploy.js +106 -0
  81. package/dist/deploy/base/index.d.ts +10 -0
  82. package/dist/deploy/base/index.js +42 -0
  83. package/dist/deploy/base/rollback.d.ts +5 -0
  84. package/dist/deploy/base/rollback.js +37 -0
  85. package/dist/deploy/base/stop.d.ts +5 -0
  86. package/dist/deploy/base/stop.js +41 -0
  87. package/dist/deploy/base/types.d.ts +2 -0
  88. package/dist/deploy/base/types.js +3 -0
  89. package/dist/deploy/base/variables.d.ts +6 -0
  90. package/dist/deploy/base/variables.js +10 -0
  91. package/dist/deploy/cloudRun/artifactsRegistry.d.ts +22 -0
  92. package/dist/deploy/cloudRun/artifactsRegistry.js +124 -0
  93. package/dist/deploy/cloudRun/cleanup.d.ts +2 -0
  94. package/dist/deploy/cloudRun/cleanup.js +51 -0
  95. package/dist/deploy/cloudRun/cloudRunRevisions.d.ts +2 -0
  96. package/dist/deploy/cloudRun/cloudRunRevisions.js +61 -0
  97. package/dist/deploy/cloudRun/deployJob.d.ts +3 -0
  98. package/dist/deploy/cloudRun/deployJob.js +253 -0
  99. package/dist/deploy/cloudRun/index.d.ts +4 -0
  100. package/dist/deploy/cloudRun/index.js +121 -0
  101. package/dist/deploy/cloudRun/utils/createArgsString.d.ts +11 -0
  102. package/dist/deploy/cloudRun/utils/createArgsString.js +55 -0
  103. package/dist/deploy/cloudRun/utils/database.d.ts +4 -0
  104. package/dist/deploy/cloudRun/utils/database.js +64 -0
  105. package/dist/deploy/cloudRun/utils/gcloudServiceAccountLoginCommands.d.ts +2 -0
  106. package/dist/deploy/cloudRun/utils/gcloudServiceAccountLoginCommands.js +10 -0
  107. package/dist/deploy/cloudRun/utils/getServiceName.d.ts +2 -0
  108. package/dist/deploy/cloudRun/utils/getServiceName.js +8 -0
  109. package/dist/deploy/cloudRun/utils/jobName.d.ts +1 -0
  110. package/dist/deploy/cloudRun/utils/jobName.js +8 -0
  111. package/dist/deploy/cloudRun/utils/removeFirstLinesFromCommandOutput.d.ts +9 -0
  112. package/dist/deploy/cloudRun/utils/removeFirstLinesFromCommandOutput.js +16 -0
  113. package/dist/deploy/cloudSql/utils.d.ts +3 -0
  114. package/dist/deploy/cloudSql/utils.js +9 -0
  115. package/dist/deploy/custom/deployJob.d.ts +2 -2
  116. package/dist/deploy/custom/deployJob.js +24 -20
  117. package/dist/deploy/custom/index.d.ts +2 -1
  118. package/dist/deploy/custom/index.js +14 -19
  119. package/dist/deploy/dockerTag/deployJob.d.ts +3 -0
  120. package/dist/deploy/dockerTag/deployJob.js +65 -0
  121. package/dist/deploy/dockerTag/index.d.ts +2 -0
  122. package/dist/deploy/dockerTag/index.js +17 -0
  123. package/dist/deploy/index.d.ts +13 -8
  124. package/dist/deploy/index.js +7 -20
  125. package/dist/deploy/kubernetes/additionalSecretKeys.d.ts +6 -0
  126. package/dist/deploy/kubernetes/additionalSecretKeys.js +28 -0
  127. package/dist/deploy/kubernetes/cloudSql/index.d.ts +13 -0
  128. package/dist/deploy/kubernetes/cloudSql/index.js +51 -0
  129. package/dist/deploy/kubernetes/deployJob.d.ts +2 -2
  130. package/dist/deploy/kubernetes/deployJob.js +25 -110
  131. package/dist/deploy/kubernetes/index.d.ts +3 -1
  132. package/dist/deploy/kubernetes/index.js +42 -4
  133. package/dist/deploy/kubernetes/kubeEnv.d.ts +9 -0
  134. package/dist/deploy/kubernetes/kubeEnv.js +72 -0
  135. package/dist/deploy/kubernetes/kubeValues.d.ts +90 -0
  136. package/dist/deploy/kubernetes/kubeValues.js +124 -0
  137. package/dist/deploy/kubernetes/mongodb.d.ts +18 -5
  138. package/dist/deploy/kubernetes/mongodb.js +97 -10
  139. package/dist/deploy/kubernetes/processSecretsAsFiles.d.ts +25 -28
  140. package/dist/deploy/kubernetes/processSecretsAsFiles.js +2 -10
  141. package/dist/deploy/sbom.d.ts +4 -0
  142. package/dist/deploy/sbom.js +17 -0
  143. package/dist/deploy/types/base.d.ts +30 -0
  144. package/dist/deploy/types/base.js +3 -0
  145. package/dist/deploy/types/custom.d.ts +33 -0
  146. package/dist/deploy/types/custom.js +3 -0
  147. package/dist/deploy/types/dockerTag.d.ts +12 -0
  148. package/dist/deploy/types/dockerTag.js +3 -0
  149. package/dist/deploy/types/googleCloudRun.d.ts +143 -0
  150. package/dist/deploy/types/googleCloudRun.js +3 -0
  151. package/dist/deploy/types/index.d.ts +22 -0
  152. package/dist/deploy/types/index.js +31 -0
  153. package/dist/deploy/types/kubernetes.d.ts +351 -0
  154. package/dist/deploy/types/kubernetes.js +3 -0
  155. package/dist/deploy/utils.d.ts +2 -2
  156. package/dist/deploy/utils.js +3 -10
  157. package/dist/index.js +0 -10
  158. package/dist/pipeline/commitInfo/getBuildId.d.ts +6 -0
  159. package/dist/pipeline/{createChildPipeline.test.js → commitInfo/getBuildId.js} +45 -84
  160. package/dist/pipeline/commitInfo/getCommitInfo.d.ts +2 -0
  161. package/dist/pipeline/commitInfo/getCommitInfo.js +143 -0
  162. package/dist/pipeline/createAllJobs.d.ts +8 -0
  163. package/dist/pipeline/createAllJobs.js +164 -0
  164. package/dist/pipeline/createChildPipeline.d.ts +2 -2
  165. package/dist/pipeline/createChildPipeline.js +41 -121
  166. package/dist/pipeline/createJobsForComponent.d.ts +3 -0
  167. package/dist/pipeline/{createJobs.js → createJobsForComponent.js} +34 -206
  168. package/dist/pipeline/gitlab/createGitlabJobs.d.ts +16 -0
  169. package/dist/pipeline/gitlab/createGitlabJobs.js +275 -0
  170. package/dist/pipeline/index.d.ts +1 -1
  171. package/dist/pipeline/index.js +1 -5
  172. package/dist/pipeline/packageManager.d.ts +1 -1
  173. package/dist/pipeline/packageManager.js +26 -183
  174. package/dist/pipeline/yarn/yarnUtils.d.ts +5 -0
  175. package/dist/pipeline/yarn/yarnUtils.js +238 -0
  176. package/dist/rules/index.d.ts +4 -1
  177. package/dist/rules/index.js +9 -7
  178. package/dist/runner/index.d.ts +2 -3
  179. package/dist/runner/index.js +0 -3
  180. package/dist/tsconfig.tsbuildinfo +1 -1
  181. package/dist/types/config.d.ts +34 -28
  182. package/dist/types/config.js +6 -16
  183. package/dist/types/context.d.ts +39 -14
  184. package/dist/types/environmentContext.d.ts +28 -0
  185. package/dist/types/environmentContext.js +3 -0
  186. package/dist/types/gitlab-ci-yml.d.ts +769 -0
  187. package/dist/types/gitlab-ci-yml.js +9 -0
  188. package/dist/types/gitlab-types.d.ts +13 -59
  189. package/dist/types/index.js +0 -6
  190. package/dist/types/jobs.d.ts +27 -20
  191. package/dist/types/jobs.js +1 -1
  192. package/dist/types/pipeline.d.ts +1 -1
  193. package/dist/types/utils.d.ts +1 -0
  194. package/dist/types/utils.js +3 -0
  195. package/dist/utils/gitlab.d.ts +6 -0
  196. package/dist/utils/gitlab.js +54 -0
  197. package/dist/utils/index.d.ts +1 -1
  198. package/dist/utils/index.js +5 -15
  199. package/examples/__snapshots__/cloud-run-memory-limit.ts.snap +1845 -0
  200. package/examples/__snapshots__/cloud-run-meteor-with-worker.ts.snap +1813 -0
  201. package/examples/__snapshots__/cloud-run-no-cpu-throttling.ts.snap +1845 -0
  202. package/examples/__snapshots__/cloud-run-non-public.ts.snap +1845 -0
  203. package/examples/__snapshots__/cloud-run-post-stop-job.ts.snap +1855 -0
  204. package/examples/__snapshots__/cloud-run-with-sql-reuse-db.ts.snap +3659 -0
  205. package/examples/__snapshots__/cloud-run-with-sql.ts.snap +3670 -0
  206. package/examples/__snapshots__/cloud-run-with-worker.ts.snap +1853 -0
  207. package/examples/__snapshots__/custom-build-job-with-tests.ts.snap +1685 -0
  208. package/examples/__snapshots__/custom-build-job.ts.snap +1391 -0
  209. package/examples/__snapshots__/custom-deploy.ts.snap +1615 -0
  210. package/examples/__snapshots__/custom-envs.ts.snap +1111 -0
  211. package/examples/__snapshots__/custom-sbom-java.ts.snap +1399 -0
  212. package/examples/__snapshots__/kubernetes-application-customization.ts.snap +2527 -0
  213. package/examples/__snapshots__/kubernetes-with-cloud-sql-legacy.ts.snap +2487 -0
  214. package/examples/__snapshots__/kubernetes-with-cloud-sql.ts.snap +2499 -0
  215. package/examples/__snapshots__/kubernetes-with-jobs.ts.snap +4568 -0
  216. package/examples/__snapshots__/kubernetes-with-mongodb.ts.snap +2691 -0
  217. package/examples/__snapshots__/meteor-kubernetes.ts.snap +2612 -0
  218. package/examples/__snapshots__/native-app.ts.snap +2987 -0
  219. package/examples/__snapshots__/node-build-with-custom-image.ts.snap +1845 -0
  220. package/examples/__snapshots__/rails-k8s-with-worker.ts.snap +4199 -0
  221. package/examples/__snapshots__/wait-for-other-deploy.ts.snap +2013 -0
  222. package/examples/__utils__/helpers.ts +14 -0
  223. package/examples/cloud-run-memory-limit.ts +28 -0
  224. package/examples/cloud-run-meteor-with-worker.ts +35 -0
  225. package/examples/cloud-run-no-cpu-throttling.ts +33 -0
  226. package/examples/cloud-run-non-public.ts +27 -0
  227. package/examples/cloud-run-post-stop-job.ts +40 -0
  228. package/examples/cloud-run-with-sql-reuse-db.ts +54 -0
  229. package/examples/cloud-run-with-sql.ts +62 -0
  230. package/examples/cloud-run-with-worker.ts +35 -0
  231. package/examples/custom-build-job-with-tests.ts +55 -0
  232. package/examples/custom-build-job.ts +28 -0
  233. package/examples/custom-deploy.ts +36 -0
  234. package/examples/custom-envs.ts +31 -0
  235. package/examples/custom-sbom-java.ts +34 -0
  236. package/examples/kubernetes-application-customization.ts +57 -0
  237. package/examples/kubernetes-with-cloud-sql-legacy.ts +33 -0
  238. package/examples/kubernetes-with-cloud-sql.ts +35 -0
  239. package/examples/kubernetes-with-jobs.ts +68 -0
  240. package/examples/kubernetes-with-mongodb.ts +49 -0
  241. package/examples/meteor-kubernetes.ts +65 -0
  242. package/examples/native-app.ts +81 -0
  243. package/examples/node-build-with-custom-image.ts +25 -0
  244. package/examples/rails-k8s-with-worker.ts +98 -0
  245. package/examples/wait-for-other-deploy.ts +36 -0
  246. package/package.json +73 -16
  247. package/scripts/bundle +2 -0
  248. package/scripts/generate-gitlab-ci-types.ts +51 -0
  249. package/src/build/base/__tests__/__snapshots__/createArtifactsConfig.test.ts.snap +49 -0
  250. package/src/build/base/__tests__/createArtifactsConfig.test.ts +41 -0
  251. package/src/build/base/{createBuildJob.ts → createAppBuildJob.ts} +18 -7
  252. package/src/build/base/createArtifactsConfig.ts +34 -0
  253. package/src/build/base/index.ts +35 -0
  254. package/src/build/base/{getBuildInfo.ts → writeBuildInfo.ts} +2 -2
  255. package/src/build/base/writeDotEnv.ts +21 -0
  256. package/src/build/custom/__tests__/testJob.test.ts +32 -0
  257. package/src/build/custom/buildJob.ts +56 -0
  258. package/src/build/custom/index.ts +8 -0
  259. package/src/build/custom/testJob.ts +91 -0
  260. package/src/build/docker.ts +106 -51
  261. package/src/build/index.ts +24 -5
  262. package/src/build/node/buildJob.ts +60 -57
  263. package/src/build/node/cache.ts +23 -11
  264. package/src/build/node/index.ts +1 -1
  265. package/src/build/node/meteor.ts +36 -32
  266. package/src/build/node/testJob.ts +25 -5
  267. package/src/build/node/yarn.ts +73 -25
  268. package/src/build/rails/build.ts +56 -0
  269. package/src/build/rails/index.ts +8 -0
  270. package/src/build/rails/test.ts +92 -0
  271. package/src/build/sbom.ts +43 -0
  272. package/src/build/types.ts +193 -18
  273. package/src/catladder-gitlab.ts +4 -2
  274. package/src/config/{configruedEnvs.test.ts → __tests__/configruedEnvs.test.ts} +3 -3
  275. package/src/config/configruedEnvs.ts +2 -7
  276. package/src/config/readConfig.ts +1 -1
  277. package/src/context/{resolveReferences.test.ts → __tests__/resolveReferences.test.ts} +23 -38
  278. package/src/context/getEnvConfig.ts +21 -0
  279. package/src/context/getEnvType.ts +17 -0
  280. package/src/context/getEnvironment.ts +42 -0
  281. package/src/context/getEnvironmentContext.ts +57 -0
  282. package/src/context/getEnvironmentVariables.ts +175 -0
  283. package/src/context/getLabels.ts +21 -0
  284. package/src/context/index.ts +28 -193
  285. package/src/context/resolveReferences.ts +35 -31
  286. package/src/context/transformJobOnlyVars.ts +42 -0
  287. package/src/context/utils/envVars.ts +26 -0
  288. package/src/defaults/index.ts +1 -1
  289. package/src/deploy/{base.ts → base/deploy.ts} +50 -63
  290. package/src/deploy/base/index.ts +22 -0
  291. package/src/deploy/base/rollback.ts +40 -0
  292. package/src/deploy/base/stop.ts +44 -0
  293. package/src/deploy/base/types.ts +3 -0
  294. package/src/deploy/base/variables.ts +6 -0
  295. package/src/deploy/cloudRun/artifactsRegistry.ts +122 -0
  296. package/src/deploy/cloudRun/cleanup.ts +30 -0
  297. package/src/deploy/cloudRun/cloudRunRevisions.ts +67 -0
  298. package/src/deploy/cloudRun/deployJob.ts +310 -0
  299. package/src/deploy/cloudRun/index.ts +101 -0
  300. package/src/deploy/cloudRun/utils/createArgsString.ts +26 -0
  301. package/src/deploy/cloudRun/utils/database.ts +55 -0
  302. package/src/deploy/cloudRun/utils/gcloudServiceAccountLoginCommands.ts +14 -0
  303. package/src/deploy/cloudRun/utils/getServiceName.ts +3 -0
  304. package/src/deploy/cloudRun/utils/jobName.ts +2 -0
  305. package/src/deploy/cloudRun/utils/removeFirstLinesFromCommandOutput.ts +12 -0
  306. package/src/deploy/cloudSql/utils.ts +23 -0
  307. package/src/deploy/custom/deployJob.ts +34 -11
  308. package/src/deploy/custom/index.ts +9 -1
  309. package/src/deploy/dockerTag/deployJob.ts +30 -0
  310. package/src/deploy/dockerTag/index.ts +9 -0
  311. package/src/deploy/index.ts +29 -17
  312. package/src/deploy/kubernetes/additionalSecretKeys.ts +23 -0
  313. package/src/deploy/kubernetes/cloudSql/index.ts +72 -0
  314. package/src/deploy/kubernetes/deployJob.ts +34 -99
  315. package/src/deploy/kubernetes/index.ts +42 -1
  316. package/src/deploy/kubernetes/kubeEnv.ts +48 -0
  317. package/src/deploy/kubernetes/kubeValues.ts +101 -0
  318. package/src/deploy/kubernetes/mongodb.ts +105 -7
  319. package/src/deploy/kubernetes/processSecretsAsFiles.ts +1 -1
  320. package/src/deploy/sbom.ts +24 -0
  321. package/src/deploy/types/base.ts +37 -0
  322. package/src/deploy/types/custom.ts +36 -0
  323. package/src/deploy/types/dockerTag.ts +14 -0
  324. package/src/deploy/types/googleCloudRun.ts +204 -0
  325. package/src/deploy/types/index.ts +28 -0
  326. package/src/deploy/types/kubernetes.ts +386 -0
  327. package/src/deploy/utils.ts +6 -2
  328. package/src/pipeline/commitInfo/getBuildId.ts +17 -0
  329. package/src/pipeline/commitInfo/getCommitInfo.ts +15 -0
  330. package/src/pipeline/createAllJobs.ts +38 -0
  331. package/src/pipeline/createChildPipeline.ts +10 -20
  332. package/src/pipeline/createJobsForComponent.ts +63 -0
  333. package/src/pipeline/gitlab/createGitlabJobs.ts +162 -0
  334. package/src/pipeline/index.ts +1 -1
  335. package/src/pipeline/packageManager.ts +19 -52
  336. package/src/pipeline/yarn/yarnUtils.ts +63 -0
  337. package/src/rules/index.ts +13 -7
  338. package/src/runner/index.ts +2 -1
  339. package/src/types/config.ts +39 -13
  340. package/src/types/context.ts +47 -11
  341. package/src/types/environmentContext.ts +33 -0
  342. package/src/types/gitlab-ci-yml.ts +892 -0
  343. package/src/types/gitlab-types.ts +51 -57
  344. package/src/types/jobs.ts +29 -7
  345. package/src/types/pipeline.ts +1 -1
  346. package/src/types/utils.ts +7 -0
  347. package/src/utils/gitlab.ts +33 -0
  348. package/src/utils/index.ts +1 -1
  349. package/tsconfig.json +4 -2
  350. package/dist/build/base/createBuildJob.d.ts +0 -7
  351. package/dist/build/base/getBuildInfo.d.ts +0 -2
  352. package/dist/context/resolveReferences.test.js +0 -141
  353. package/dist/deploy/base.d.ts +0 -8
  354. package/dist/deploy/base.js +0 -114
  355. package/dist/deploy/kubernetes/cloudsql.d.ts +0 -6
  356. package/dist/deploy/kubernetes/cloudsql.js +0 -16
  357. package/dist/deploy/types.d.ts +0 -202
  358. package/dist/deploy/types.js +0 -16
  359. package/dist/pipeline/createJobs.d.ts +0 -3
  360. package/dist/pipeline/gitlab/makeGitlabJob.d.ts +0 -9
  361. package/dist/pipeline/gitlab/makeGitlabJob.js +0 -46
  362. package/src/build/tests/storybook.test.ts +0 -54
  363. package/src/deploy/kubernetes/cloudsql.ts +0 -12
  364. package/src/deploy/types.ts +0 -195
  365. package/src/pipeline/createChildPipeline.test.ts +0 -49
  366. package/src/pipeline/createJobs.ts +0 -206
  367. package/src/pipeline/gitlab/makeGitlabJob.ts +0 -17
  368. /package/dist/build/{tests/storybook.test.d.ts → base/__tests__/createArtifactsConfig.test.d.ts} +0 -0
  369. /package/dist/{config/configruedEnvs.test.d.ts → build/custom/__tests__/testJob.test.d.ts} +0 -0
  370. /package/dist/{context/resolveReferences.test.d.ts → config/__tests__/configruedEnvs.test.d.ts} +0 -0
  371. /package/dist/{pipeline/createChildPipeline.test.d.ts → context/__tests__/resolveReferences.test.d.ts} +0 -0
package/README.md ADDED
@@ -0,0 +1,3 @@
1
+ ## @catladder/pipeline 🐱 🔧
2
+
3
+ See [@catladder/cli](https://www.npmjs.com/package/@catladder/cli).
@@ -0,0 +1,3 @@
1
+ #! /usr/bin/env node
2
+
3
+ require("../dist/catladder-gitlab.js");
@@ -1,3 +1,3 @@
1
1
  #! /usr/bin/env node
2
2
 
3
- require("../dist/catladder-gitlab.js");
3
+ require("../dist/bundles/catladder-gitlab/index.js");
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ var createArtifactsConfig_1 = require("../createArtifactsConfig");
5
+ describe("createArtifactsConfig", function () {
6
+ it("returns undefined if no artifacts or artifactsReports", function () {
7
+ expect((0, createArtifactsConfig_1.createArtifactsConfig)(".")).toBeUndefined();
8
+ });
9
+ it("returns artifacts if no artifactsReports", function () {
10
+ expect((0, createArtifactsConfig_1.createArtifactsConfig)(".", undefined, {
11
+ paths: ["testpath"],
12
+ reports: {
13
+ coverage_report: {
14
+ coverage_format: "cobertura",
15
+ path: "some"
16
+ },
17
+ terraform: "something"
18
+ }
19
+ })).toMatchSnapshot();
20
+ });
21
+ it("returns junit parts of artifactsReports", function () {
22
+ expect((0, createArtifactsConfig_1.createArtifactsConfig)(".", {
23
+ junit: ["report.xml"]
24
+ })).toMatchSnapshot();
25
+ });
26
+ it("merges junit files if both given", function () {
27
+ var _a, _b;
28
+ var result = (0, createArtifactsConfig_1.createArtifactsConfig)(".", {
29
+ junit: ["partial-report.xml"]
30
+ }, {
31
+ paths: ["testpath"],
32
+ reports: {
33
+ junit: "full-report.xml",
34
+ terraform: "something"
35
+ }
36
+ });
37
+ expect(result).toMatchSnapshot();
38
+ expect((_b = (_a = result === null || result === void 0 ? void 0 : result.artifacts) === null || _a === void 0 ? void 0 : _a.reports) === null || _b === void 0 ? void 0 : _b.junit).toHaveLength(2);
39
+ });
40
+ });
@@ -0,0 +1,8 @@
1
+ import type { Context } from "../..";
2
+ import type { CatladderJob } from "../../types/jobs";
3
+ export declare type AppBuildJobDefinition = Partial<CatladderJob>;
4
+ export declare const createAppBuildJob: (context: Context, {
5
+ script,
6
+ variables,
7
+ ...def
8
+ }: AppBuildJobDefinition) => CatladderJob;
@@ -4,35 +4,27 @@ var __assign = this && this.__assign || function () {
4
4
  __assign = Object.assign || function (t) {
5
5
  for (var s, i = 1, n = arguments.length; i < n; i++) {
6
6
  s = arguments[i];
7
-
8
7
  for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
9
8
  }
10
-
11
9
  return t;
12
10
  };
13
-
14
11
  return __assign.apply(this, arguments);
15
12
  };
16
-
17
13
  var __rest = this && this.__rest || function (s, e) {
18
14
  var t = {};
19
-
20
15
  for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
21
-
22
16
  if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
23
17
  if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
24
18
  }
25
19
  return t;
26
20
  };
27
-
28
21
  var __read = this && this.__read || function (o, n) {
29
22
  var m = typeof Symbol === "function" && o[Symbol.iterator];
30
23
  if (!m) return o;
31
24
  var i = m.call(o),
32
- r,
33
- ar = [],
34
- e;
35
-
25
+ r,
26
+ ar = [],
27
+ e;
36
28
  try {
37
29
  while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
38
30
  } catch (error) {
@@ -46,10 +38,8 @@ var __read = this && this.__read || function (o, n) {
46
38
  if (e) throw e.error;
47
39
  }
48
40
  }
49
-
50
41
  return ar;
51
42
  };
52
-
53
43
  var __spreadArray = this && this.__spreadArray || function (to, from, pack) {
54
44
  if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
55
45
  if (ar || !(i in from)) {
@@ -59,29 +49,21 @@ var __spreadArray = this && this.__spreadArray || function (to, from, pack) {
59
49
  }
60
50
  return to.concat(ar || Array.prototype.slice.call(from));
61
51
  };
62
-
63
52
  exports.__esModule = true;
64
- exports.createBuildJob = void 0;
65
-
53
+ exports.createAppBuildJob = void 0;
66
54
  var lodash_1 = require("lodash");
67
-
55
+ var path_1 = require("path");
68
56
  var __1 = require("../..");
69
-
70
57
  var utils_1 = require("../../utils");
71
-
72
58
  var yarn_1 = require("../node/yarn");
73
-
74
59
  var constants_1 = require("./constants");
75
-
76
- var getBuildInfo_1 = require("./getBuildInfo");
77
-
78
- var createBuildJob = function (context, _a) {
79
- var _b, _c;
80
-
60
+ var writeBuildInfo_1 = require("./writeBuildInfo");
61
+ var writeDotEnv_1 = require("./writeDotEnv");
62
+ var createAppBuildJob = function (context, _a) {
63
+ var _b, _c, _d, _e;
81
64
  var script = _a.script,
82
- variables = _a.variables,
83
- def = __rest(_a, ["script", "variables"]);
84
-
65
+ variables = _a.variables,
66
+ def = __rest(_a, ["script", "variables"]);
85
67
  return (0, lodash_1.merge)({
86
68
  name: constants_1.APP_BUILD_JOB_NAME,
87
69
  envMode: "jobPerEnv",
@@ -89,12 +71,16 @@ var createBuildJob = function (context, _a) {
89
71
  image: (0, __1.getRunnerImage)("jobs-default"),
90
72
  needs: [],
91
73
  cache: [],
92
- variables: __assign(__assign(__assign(__assign({}, constants_1.RUNNER_BUILD_RESOURCE_VARIABLES), variables !== null && variables !== void 0 ? variables : {}), context.environment.envVars), (_b = context.componentConfig.build.extraVars) !== null && _b !== void 0 ? _b : {}),
93
- script: __spreadArray(__spreadArray(__spreadArray(__spreadArray([], __read((0, getBuildInfo_1.getBuildInfo)(context)), false), __read((0, yarn_1.ensureNodeVersion)(context)), false), ["cd ".concat(context.componentConfig.dir)], false), __read((_c = (0, utils_1.ensureArray)(script)) !== null && _c !== void 0 ? _c : []), false),
74
+ variables: __assign(__assign(__assign(__assign(__assign({}, constants_1.RUNNER_BUILD_RESOURCE_VARIABLES), variables !== null && variables !== void 0 ? variables : {}), context.environment.envVars), context.environment.jobOnlyVars.build.envVars), (_b = context.componentConfig.build.extraVars) !== null && _b !== void 0 ? _b : {}),
75
+ script: __spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray([], __read(context.componentConfig.dotEnv ? (0, writeDotEnv_1.writeDotEnv)(context) : []), false), __read((0, writeBuildInfo_1.writeBuildInfo)(context)), false), __read((0, yarn_1.ensureNodeVersion)(context)), false), ["cd ".concat(context.componentConfig.dir)], false), __read((_c = (0, utils_1.ensureArray)(script)) !== null && _c !== void 0 ? _c : []), false),
94
76
  artifacts: {
95
- paths: [context.componentConfig.dir + "/__build_info.json"]
77
+ paths: [(0, path_1.join)(context.componentConfig.dir, "__build_info.json")],
78
+ reports: {
79
+ junit: (_e = (_d = context.componentConfig.build.artifactsReports) === null || _d === void 0 ? void 0 : _d.junit) === null || _e === void 0 ? void 0 : _e.map(function (p) {
80
+ return (0, path_1.join)(context.componentConfig.dir, p);
81
+ })
82
+ }
96
83
  }
97
84
  }, def);
98
85
  };
99
-
100
- exports.createBuildJob = createBuildJob;
86
+ exports.createAppBuildJob = createAppBuildJob;
@@ -0,0 +1,4 @@
1
+ import type { BuildConfigArtifactsReports } from "../types";
2
+ import type { Artifacts } from "../../types";
3
+ import type { OptionalArtifacts } from "../custom/testJob";
4
+ export declare const createArtifactsConfig: (rootPath: string, artifactsReports?: BuildConfigArtifactsReports | undefined, artifacts?: Artifacts | undefined) => OptionalArtifacts;
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+
3
+ var __assign = this && this.__assign || function () {
4
+ __assign = Object.assign || function (t) {
5
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
6
+ s = arguments[i];
7
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __read = this && this.__read || function (o, n) {
14
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
15
+ if (!m) return o;
16
+ var i = m.call(o),
17
+ r,
18
+ ar = [],
19
+ e;
20
+ try {
21
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
22
+ } catch (error) {
23
+ e = {
24
+ error: error
25
+ };
26
+ } finally {
27
+ try {
28
+ if (r && !r.done && (m = i["return"])) m.call(i);
29
+ } finally {
30
+ if (e) throw e.error;
31
+ }
32
+ }
33
+ return ar;
34
+ };
35
+ var __spreadArray = this && this.__spreadArray || function (to, from, pack) {
36
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
37
+ if (ar || !(i in from)) {
38
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
39
+ ar[i] = from[i];
40
+ }
41
+ }
42
+ return to.concat(ar || Array.prototype.slice.call(from));
43
+ };
44
+ exports.__esModule = true;
45
+ exports.createArtifactsConfig = void 0;
46
+ var path_1 = require("path");
47
+ var createArtifactsConfig = function (rootPath, artifactsReports, artifacts) {
48
+ var _a, _b, _c, _d;
49
+ return artifactsReports || artifacts ? {
50
+ artifacts: __assign(__assign({
51
+ paths: []
52
+ }, artifacts), {
53
+ reports: __assign(__assign({}, artifacts === null || artifacts === void 0 ? void 0 : artifacts.reports), {
54
+ junit: [artifactsReports === null || artifactsReports === void 0 ? void 0 : artifactsReports.junit, Array.isArray((_a = artifacts === null || artifacts === void 0 ? void 0 : artifacts.reports) === null || _a === void 0 ? void 0 : _a.junit) && ((_b = artifacts === null || artifacts === void 0 ? void 0 : artifacts.reports) === null || _b === void 0 ? void 0 : _b.junit), typeof ((_c = artifacts === null || artifacts === void 0 ? void 0 : artifacts.reports) === null || _c === void 0 ? void 0 : _c.junit) === "string" && [(_d = artifacts === null || artifacts === void 0 ? void 0 : artifacts.reports) === null || _d === void 0 ? void 0 : _d.junit]].filter(Array.isArray).reduce(function (acc, curr) {
55
+ return __spreadArray(__spreadArray([], __read(acc), false), __read(curr.map(function (p) {
56
+ return (0, path_1.join)(rootPath, p);
57
+ })), false);
58
+ }, [])
59
+ })
60
+ })
61
+ } : undefined;
62
+ };
63
+ exports.createArtifactsConfig = createArtifactsConfig;
@@ -0,0 +1,8 @@
1
+ import type { Context } from "../../types/context";
2
+ import type { CatladderJob } from "../../types/jobs";
3
+ import type { DockerBuildJobDefinition } from "../docker";
4
+ import type { AppBuildJobDefinition } from "./createAppBuildJob";
5
+ export declare const createBuildJobs: (context: Context, definitions: {
6
+ appBuild?: AppBuildJobDefinition;
7
+ dockerBuild: DockerBuildJobDefinition;
8
+ }) => CatladderJob[];
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+
3
+ var __assign = this && this.__assign || function () {
4
+ __assign = Object.assign || function (t) {
5
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
6
+ s = arguments[i];
7
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __read = this && this.__read || function (o, n) {
14
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
15
+ if (!m) return o;
16
+ var i = m.call(o),
17
+ r,
18
+ ar = [],
19
+ e;
20
+ try {
21
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
22
+ } catch (error) {
23
+ e = {
24
+ error: error
25
+ };
26
+ } finally {
27
+ try {
28
+ if (r && !r.done && (m = i["return"])) m.call(i);
29
+ } finally {
30
+ if (e) throw e.error;
31
+ }
32
+ }
33
+ return ar;
34
+ };
35
+ var __spreadArray = this && this.__spreadArray || function (to, from, pack) {
36
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
37
+ if (ar || !(i in from)) {
38
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
39
+ ar[i] = from[i];
40
+ }
41
+ }
42
+ return to.concat(ar || Array.prototype.slice.call(from));
43
+ };
44
+ exports.__esModule = true;
45
+ exports.createBuildJobs = void 0;
46
+ var sbom_1 = require("../../deploy/sbom");
47
+ var docker_1 = require("../docker");
48
+ var sbom_2 = require("../sbom");
49
+ var constants_1 = require("./constants");
50
+ var createAppBuildJob_1 = require("./createAppBuildJob");
51
+ var createBuildJobs = function (context, definitions) {
52
+ var _a;
53
+ return __spreadArray(__spreadArray(__spreadArray([], __read(definitions.appBuild ? [(0, createAppBuildJob_1.createAppBuildJob)(context, definitions.appBuild)] : []), false), __read((0, docker_1.requiresDockerBuild)(context) ? [(0, docker_1.createDockerBuildJobBase)(context, __assign(__assign({}, definitions.dockerBuild), {
54
+ needs: __spreadArray(__spreadArray([], __read((_a = definitions.dockerBuild.needs) !== null && _a !== void 0 ? _a : []), false), __read(definitions.appBuild ? [constants_1.APP_BUILD_JOB_NAME] : []), false)
55
+ }))] : []), false), __read((0, sbom_1.sbomDeactivated)(context) ? [] : [(0, sbom_2.createSbomBuildJob)(context)]), false);
56
+ };
57
+ exports.createBuildJobs = createBuildJobs;
@@ -0,0 +1,2 @@
1
+ import type { Context } from "../../types";
2
+ export declare const writeBuildInfo: (context: Context) => string[];
@@ -1,12 +1,9 @@
1
1
  "use strict";
2
2
 
3
3
  exports.__esModule = true;
4
- exports.getBuildInfo = void 0;
5
-
6
- var getBuildInfo = function (context) {
4
+ exports.writeBuildInfo = void 0;
5
+ var writeBuildInfo = function (context) {
7
6
  var _a, _b;
8
-
9
7
  return ["echo '{\"id\":\"".concat((_a = context.commitInfo) === null || _a === void 0 ? void 0 : _a.buildId, "\",\"time\":\"").concat((_b = context.commitInfo) === null || _b === void 0 ? void 0 : _b.buildTime, "\"}' > ").concat(context.componentConfig.dir, "/__build_info.json")];
10
8
  };
11
-
12
- exports.getBuildInfo = getBuildInfo;
9
+ exports.writeBuildInfo = writeBuildInfo;
@@ -0,0 +1,7 @@
1
+ import type { Context } from "../../types";
2
+ /**
3
+ * writes a .env file in the components folder
4
+ * @param context
5
+ * @returns
6
+ */
7
+ export declare const writeDotEnv: (context: Context) => string[];
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+
3
+ var __read = this && this.__read || function (o, n) {
4
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
5
+ if (!m) return o;
6
+ var i = m.call(o),
7
+ r,
8
+ ar = [],
9
+ e;
10
+ try {
11
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
12
+ } catch (error) {
13
+ e = {
14
+ error: error
15
+ };
16
+ } finally {
17
+ try {
18
+ if (r && !r.done && (m = i["return"])) m.call(i);
19
+ } finally {
20
+ if (e) throw e.error;
21
+ }
22
+ }
23
+ return ar;
24
+ };
25
+ exports.__esModule = true;
26
+ exports.writeDotEnv = void 0;
27
+ /**
28
+ * writes a .env file in the components folder
29
+ * @param context
30
+ * @returns
31
+ */
32
+ var writeDotEnv = function (context) {
33
+ var envVars = context.environment.envVars;
34
+ // make key=value and sanitize multiline
35
+ var keyValueString = Object.entries(envVars).map(function (_a) {
36
+ var _b = __read(_a, 2),
37
+ key = _b[0],
38
+ value = _b[1];
39
+ return "".concat(key, "=").concat(value.replaceAll("\n", "\\n"));
40
+ }).join("\n");
41
+ return ["cat <<EOF > ".concat(context.componentConfig.dir, "/.env\n").concat(keyValueString, "\nEOF")];
42
+ };
43
+ exports.writeDotEnv = writeDotEnv;
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ var testJob_1 = require("../testJob");
5
+ describe("createCustomTestJobs", function () {
6
+ var componentConfig = {
7
+ dir: ".",
8
+ build: {
9
+ type: "custom",
10
+ docker: {
11
+ type: "custom"
12
+ },
13
+ jobImage: ""
14
+ },
15
+ deploy: {}
16
+ };
17
+ var baseContext = {
18
+ componentName: "testComponent",
19
+ environment: {
20
+ jobOnlyVars: {
21
+ build: {}
22
+ }
23
+ },
24
+ componentConfig: componentConfig
25
+ };
26
+ it("throws error when not build type custom", function () {
27
+ componentConfig.build.type = "node";
28
+ expect(function () {
29
+ return (0, testJob_1.createCustomTestJobs)(baseContext);
30
+ }).toThrowError("deploy config is not custom");
31
+ componentConfig.build.type = "custom";
32
+ });
33
+ it("returns empty array if no audit, lint, and test definition", function () {
34
+ var jobs = (0, testJob_1.createCustomTestJobs)(baseContext);
35
+ expect(jobs).toEqual([]);
36
+ });
37
+ });
@@ -0,0 +1,3 @@
1
+ import type { Context } from "../../types/context";
2
+ import type { CatladderJob } from "../../types/jobs";
3
+ export declare const createCustomBuildJobs: (context: Context) => CatladderJob[];
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+
3
+ var __assign = this && this.__assign || function () {
4
+ __assign = Object.assign || function (t) {
5
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
6
+ s = arguments[i];
7
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __read = this && this.__read || function (o, n) {
14
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
15
+ if (!m) return o;
16
+ var i = m.call(o),
17
+ r,
18
+ ar = [],
19
+ e;
20
+ try {
21
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
22
+ } catch (error) {
23
+ e = {
24
+ error: error
25
+ };
26
+ } finally {
27
+ try {
28
+ if (r && !r.done && (m = i["return"])) m.call(i);
29
+ } finally {
30
+ if (e) throw e.error;
31
+ }
32
+ }
33
+ return ar;
34
+ };
35
+ var __spreadArray = this && this.__spreadArray || function (to, from, pack) {
36
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
37
+ if (ar || !(i in from)) {
38
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
39
+ ar[i] = from[i];
40
+ }
41
+ }
42
+ return to.concat(ar || Array.prototype.slice.call(from));
43
+ };
44
+ exports.__esModule = true;
45
+ exports.createCustomBuildJobs = void 0;
46
+ var path_1 = require("path");
47
+ var utils_1 = require("../../utils");
48
+ var docker_1 = require("../docker");
49
+ var types_1 = require("../types");
50
+ var base_1 = require("../base");
51
+ var RUNNER_BUILD_VARIABLES = {
52
+ KUBERNETES_CPU_REQUEST: "0.5",
53
+ KUBERNETES_CPU_LIMIT: "2",
54
+ KUBERNETES_MEMORY_REQUEST: "2Gi",
55
+ KUBERNETES_MEMORY_LIMIT: "4Gi"
56
+ };
57
+ var createCustomBuildJobs = function (context) {
58
+ var _a, _b, _c, _d;
59
+ var buildConfig = context.componentConfig.build;
60
+ if (!(0, types_1.isOfBuildType)(buildConfig, "custom")) {
61
+ throw new Error("deploy config is not custom");
62
+ }
63
+ return (0, base_1.createBuildJobs)(context, {
64
+ appBuild: buildConfig.buildCommand !== null ? {
65
+ image: buildConfig.jobImage,
66
+ variables: __assign({}, RUNNER_BUILD_VARIABLES),
67
+ cache: buildConfig.jobCache,
68
+ services: buildConfig.jobServices,
69
+ script: __spreadArray([], __read((_a = (0, utils_1.ensureArray)(buildConfig.buildCommand)) !== null && _a !== void 0 ? _a : []), false),
70
+ artifacts: {
71
+ paths: __spreadArray([(0, path_1.join)(context.componentConfig.dir, "__build_info.json"), (0, path_1.join)(context.componentConfig.dir, "dist")], __read((_c = (_b = buildConfig.artifactsPaths) === null || _b === void 0 ? void 0 : _b.map(function (path) {
72
+ return (0, path_1.join)(context.componentConfig.dir, path);
73
+ })) !== null && _c !== void 0 ? _c : []), false),
74
+ expire_in: "1 day"
75
+ }
76
+ } : undefined,
77
+ dockerBuild: {
78
+ script: (0, docker_1.getDockerBuildDefaultScript)(context, ((_d = buildConfig.docker) === null || _d === void 0 ? void 0 : _d.type) === "nginx" ? "ensureNginxDockerfile" : ""),
79
+ variables: {}
80
+ }
81
+ });
82
+ };
83
+ exports.createCustomBuildJobs = createCustomBuildJobs;
@@ -0,0 +1,3 @@
1
+ import type { Context } from "../../types/context";
2
+ import type { CatladderJob } from "../../types/jobs";
3
+ export declare const createCustomJobs: (context: Context) => CatladderJob[];
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+
3
+ var __read = this && this.__read || function (o, n) {
4
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
5
+ if (!m) return o;
6
+ var i = m.call(o),
7
+ r,
8
+ ar = [],
9
+ e;
10
+ try {
11
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
12
+ } catch (error) {
13
+ e = {
14
+ error: error
15
+ };
16
+ } finally {
17
+ try {
18
+ if (r && !r.done && (m = i["return"])) m.call(i);
19
+ } finally {
20
+ if (e) throw e.error;
21
+ }
22
+ }
23
+ return ar;
24
+ };
25
+ var __spreadArray = this && this.__spreadArray || function (to, from, pack) {
26
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
27
+ if (ar || !(i in from)) {
28
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
29
+ ar[i] = from[i];
30
+ }
31
+ }
32
+ return to.concat(ar || Array.prototype.slice.call(from));
33
+ };
34
+ exports.__esModule = true;
35
+ exports.createCustomJobs = void 0;
36
+ var buildJob_1 = require("./buildJob");
37
+ var testJob_1 = require("./testJob");
38
+ var createCustomJobs = function (context) {
39
+ return __spreadArray(__spreadArray([], __read((0, testJob_1.createCustomTestJobs)(context)), false), __read((0, buildJob_1.createCustomBuildJobs)(context)), false);
40
+ };
41
+ exports.createCustomJobs = createCustomJobs;
@@ -0,0 +1,7 @@
1
+ import type { Context } from "../../types/context";
2
+ import type { CatladderJob } from "../../types/jobs";
3
+ import type { Artifacts } from "../../types";
4
+ export declare const createCustomTestJobs: (context: Context) => CatladderJob[];
5
+ export declare type OptionalArtifacts = {
6
+ artifacts: Artifacts;
7
+ } | undefined;
@@ -0,0 +1,97 @@
1
+ "use strict";
2
+
3
+ var __assign = this && this.__assign || function () {
4
+ __assign = Object.assign || function (t) {
5
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
6
+ s = arguments[i];
7
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __read = this && this.__read || function (o, n) {
14
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
15
+ if (!m) return o;
16
+ var i = m.call(o),
17
+ r,
18
+ ar = [],
19
+ e;
20
+ try {
21
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
22
+ } catch (error) {
23
+ e = {
24
+ error: error
25
+ };
26
+ } finally {
27
+ try {
28
+ if (r && !r.done && (m = i["return"])) m.call(i);
29
+ } finally {
30
+ if (e) throw e.error;
31
+ }
32
+ }
33
+ return ar;
34
+ };
35
+ var __spreadArray = this && this.__spreadArray || function (to, from, pack) {
36
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
37
+ if (ar || !(i in from)) {
38
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
39
+ ar[i] = from[i];
40
+ }
41
+ }
42
+ return to.concat(ar || Array.prototype.slice.call(from));
43
+ };
44
+ exports.__esModule = true;
45
+ exports.createCustomTestJobs = void 0;
46
+ var utils_1 = require("../../utils");
47
+ var types_1 = require("../types");
48
+ var createArtifactsConfig_1 = require("../base/createArtifactsConfig");
49
+ var RUNNER_CUSTOM_TEST_VARIABLES = {
50
+ KUBERNETES_CPU_REQUEST: "0.5",
51
+ KUBERNETES_CPU_LIMIT: "2",
52
+ KUBERNETES_MEMORY_REQUEST: "2Gi",
53
+ KUBERNETES_MEMORY_LIMIT: "4Gi"
54
+ };
55
+ var createCustomTestJobs = function (context) {
56
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v;
57
+ // don't run tests after release
58
+ if (((_a = context.commitInfo) === null || _a === void 0 ? void 0 : _a.trigger) === "taggedRelease") {
59
+ return [];
60
+ }
61
+ var buildConfig = context.componentConfig.build;
62
+ if (!(0, types_1.isOfBuildType)(buildConfig, "custom")) {
63
+ throw new Error("deploy config is not custom");
64
+ }
65
+ var base = {
66
+ variables: __assign(__assign(__assign({
67
+ APP_PATH: context.componentConfig.dir
68
+ }, RUNNER_CUSTOM_TEST_VARIABLES), context.environment.jobOnlyVars.build.envVars), (_b = buildConfig.extraVars) !== null && _b !== void 0 ? _b : {}),
69
+ services: buildConfig.jobServices,
70
+ cache: buildConfig.jobCache,
71
+ stage: "test",
72
+ needs: [],
73
+ envMode: "none"
74
+ };
75
+ var auditJob = buildConfig.audit ? __assign(__assign(__assign({
76
+ name: "🛡 audit"
77
+ }, base), {
78
+ image: (_d = (_c = buildConfig.audit) === null || _c === void 0 ? void 0 : _c.jobImage) !== null && _d !== void 0 ? _d : buildConfig.jobImage,
79
+ cache: undefined,
80
+ 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),
81
+ allow_failure: true
82
+ }), (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;
83
+ var lintJob = buildConfig.lint ? __assign(__assign(__assign({
84
+ name: "👮 lint"
85
+ }, base), {
86
+ image: (_k = (_j = buildConfig.lint) === null || _j === void 0 ? void 0 : _j.jobImage) !== null && _k !== void 0 ? _k : buildConfig.jobImage,
87
+ 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)
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;
89
+ var testJob = buildConfig.test ? __assign(__assign(__assign({
90
+ name: "🧪 test"
91
+ }, base), {
92
+ image: (_r = (_q = buildConfig.test) === null || _q === void 0 ? void 0 : _q.jobImage) !== null && _r !== void 0 ? _r : buildConfig.jobImage,
93
+ 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)
94
+ }), (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
+ return [auditJob, lintJob, testJob].filter(utils_1.notNil);
96
+ };
97
+ exports.createCustomTestJobs = createCustomTestJobs;