@catladder/pipeline 0.0.0-mongodb-tolerations-bc2a3387 → 0.0.0-multiple-gitlab-includes-1a40efc0

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 (608) hide show
  1. package/README.md +17 -0
  2. package/dist/bash/BashExpression.d.ts +36 -0
  3. package/dist/bash/BashExpression.js +114 -0
  4. package/dist/bash/bashEscape.d.ts +34 -0
  5. package/dist/bash/bashEscape.js +114 -0
  6. package/dist/bash/bashExpressionPerPipelineType.d.ts +6 -0
  7. package/dist/bash/bashExpressionPerPipelineType.js +11 -0
  8. package/dist/bash/bashYaml.d.ts +10 -0
  9. package/dist/bash/bashYaml.js +69 -0
  10. package/dist/bash/getInjectVarsScript.d.ts +2 -0
  11. package/dist/bash/getInjectVarsScript.js +47 -0
  12. package/dist/bash/index.d.ts +2 -0
  13. package/dist/bash/index.js +26 -0
  14. package/dist/build/artifacts/createBuildJobArtifact.d.ts +3 -0
  15. package/dist/build/artifacts/createBuildJobArtifact.js +97 -0
  16. package/dist/build/base/__tests__/createArtifactsConfig.test.js +42 -0
  17. package/dist/build/base/constants.d.ts +0 -1
  18. package/dist/build/base/constants.js +4 -3
  19. package/dist/build/base/createAppBuildJob.d.ts +10 -0
  20. package/dist/build/base/{createBuildJob.js → createAppBuildJob.js} +22 -18
  21. package/dist/build/base/createArtifactsConfig.d.ts +4 -0
  22. package/dist/build/base/createArtifactsConfig.js +65 -0
  23. package/dist/build/base/createBuildJobDefinition.d.ts +6 -0
  24. package/dist/build/base/createBuildJobDefinition.js +58 -0
  25. package/dist/build/base/index.d.ts +11 -0
  26. package/dist/build/base/index.js +68 -0
  27. package/dist/build/base/writeBuildInfo.d.ts +2 -2
  28. package/dist/build/base/writeBuildInfo.js +4 -3
  29. package/dist/build/base/writeDotEnv.d.ts +8 -0
  30. package/dist/build/base/writeDotEnv.js +67 -0
  31. package/dist/build/cache/createJobCache.d.ts +7 -0
  32. package/dist/build/cache/createJobCache.js +115 -0
  33. package/dist/build/cache/getAllCacheConfigsFromConfig.d.ts +3 -0
  34. package/dist/build/cache/getAllCacheConfigsFromConfig.js +64 -0
  35. package/dist/build/cache/transformLegacyJobCache.d.ts +3 -0
  36. package/dist/build/cache/transformLegacyJobCache.js +29 -0
  37. package/dist/build/custom/__tests__/testJob.test.d.ts +1 -0
  38. package/dist/build/custom/__tests__/testJob.test.js +36 -0
  39. package/dist/build/custom/buildJob.d.ts +2 -2
  40. package/dist/build/custom/buildJob.js +12 -71
  41. package/dist/build/custom/index.d.ts +2 -2
  42. package/dist/build/custom/index.js +3 -1
  43. package/dist/build/custom/testJob.d.ts +6 -2
  44. package/dist/build/custom/testJob.js +27 -22
  45. package/dist/build/docker.d.ts +51 -36
  46. package/dist/build/docker.js +92 -50
  47. package/dist/build/index.d.ts +14 -7
  48. package/dist/build/index.js +44 -16
  49. package/dist/build/node/buildJob.d.ts +6 -2
  50. package/dist/build/node/buildJob.js +37 -47
  51. package/dist/build/node/cache.d.ts +4 -5
  52. package/dist/build/node/cache.js +18 -23
  53. package/dist/build/node/constants.d.ts +0 -1
  54. package/dist/build/node/constants.js +5 -4
  55. package/dist/build/node/index.d.ts +4 -4
  56. package/dist/build/node/index.js +3 -1
  57. package/dist/build/node/meteor.d.ts +2 -2
  58. package/dist/build/node/meteor.js +22 -24
  59. package/dist/build/node/testJob.d.ts +3 -2
  60. package/dist/build/node/testJob.js +33 -19
  61. package/dist/build/node/yarn.d.ts +5 -5
  62. package/dist/build/node/yarn.js +35 -20
  63. package/dist/build/rails/build.d.ts +2 -2
  64. package/dist/build/rails/build.js +49 -10
  65. package/dist/build/rails/index.d.ts +2 -2
  66. package/dist/build/rails/index.js +3 -1
  67. package/dist/build/rails/test.d.ts +2 -2
  68. package/dist/build/rails/test.js +20 -12
  69. package/dist/build/sbom.d.ts +5 -0
  70. package/dist/build/sbom.js +32 -0
  71. package/dist/build/types.d.ts +214 -67
  72. package/dist/build/types.js +10 -2
  73. package/dist/catladder-gitlab.js +129 -49
  74. package/dist/config/__tests__/configruedEnvs.test.js +3 -1
  75. package/dist/config/__tests__/getAllEnvs.test.d.ts +1 -0
  76. package/dist/config/__tests__/getAllEnvs.test.js +79 -0
  77. package/dist/config/__tests__/getAllEnvsInAllComponents.test.d.ts +1 -0
  78. package/dist/config/__tests__/getAllEnvsInAllComponents.test.js +73 -0
  79. package/dist/config/configruedEnvs.js +3 -1
  80. package/dist/config/index.js +13 -7
  81. package/dist/config/readConfig.d.ts +2 -2
  82. package/dist/config/readConfig.js +191 -40
  83. package/dist/constants.js +5 -3
  84. package/dist/context/createAllComponentsContext.d.ts +12 -0
  85. package/dist/{pipeline/commitInfo/getCommitInfo.js → context/createAllComponentsContext.js} +35 -16
  86. package/dist/context/createComponentContext.d.ts +11 -0
  87. package/dist/context/createComponentContext.js +255 -0
  88. package/dist/context/createWorkspaceContext.d.ts +16 -0
  89. package/dist/context/createWorkspaceContext.js +173 -0
  90. package/dist/context/getBuildInfoVariables.d.ts +6 -0
  91. package/dist/context/getBuildInfoVariables.js +55 -0
  92. package/dist/context/getEnvConfig.js +5 -2
  93. package/dist/context/getEnvType.js +3 -1
  94. package/dist/context/getEnvironment.d.ts +3 -3
  95. package/dist/context/getEnvironment.js +26 -21
  96. package/dist/context/getEnvironmentContext.d.ts +7 -3
  97. package/dist/context/getEnvironmentContext.js +21 -11
  98. package/dist/context/getEnvironmentVariables.d.ts +22 -10
  99. package/dist/context/getEnvironmentVariables.js +85 -54
  100. package/dist/context/getLabels.d.ts +3 -2
  101. package/dist/context/getLabels.js +9 -6
  102. package/dist/context/getReviewSlug.d.ts +4 -0
  103. package/dist/context/getReviewSlug.js +21 -0
  104. package/dist/context/index.d.ts +2 -4
  105. package/dist/context/index.js +15 -162
  106. package/dist/context/transformJobOnlyVars.d.ts +13 -0
  107. package/dist/{pipeline/commitInfo/getBuildId.js → context/transformJobOnlyVars.js} +41 -14
  108. package/dist/context/utils/envVars.d.ts +8 -0
  109. package/dist/context/utils/envVars.js +55 -0
  110. package/dist/defaults/index.js +3 -1
  111. package/dist/deploy/base/deploy.d.ts +5 -0
  112. package/dist/deploy/base/deploy.js +122 -0
  113. package/dist/deploy/base/index.d.ts +8 -0
  114. package/dist/deploy/base/index.js +44 -0
  115. package/dist/deploy/base/rollback.d.ts +5 -0
  116. package/dist/deploy/base/rollback.js +41 -0
  117. package/dist/deploy/base/stop.d.ts +5 -0
  118. package/dist/deploy/base/stop.js +46 -0
  119. package/dist/deploy/base/types.d.ts +2 -0
  120. package/dist/deploy/base/types.js +5 -0
  121. package/dist/deploy/base/variables.d.ts +5 -0
  122. package/dist/deploy/base/variables.js +11 -0
  123. package/dist/deploy/cloudRun/artifactsRegistry.d.ts +19 -0
  124. package/dist/deploy/cloudRun/artifactsRegistry.js +125 -0
  125. package/dist/deploy/cloudRun/cleanup.d.ts +2 -0
  126. package/dist/deploy/cloudRun/cleanup.js +53 -0
  127. package/dist/deploy/cloudRun/cloudRunRevisions.d.ts +2 -0
  128. package/dist/deploy/cloudRun/cloudRunRevisions.js +62 -0
  129. package/dist/deploy/cloudRun/createJobs/cloudRunJobs.d.ts +7 -0
  130. package/dist/deploy/cloudRun/createJobs/cloudRunJobs.js +207 -0
  131. package/dist/deploy/cloudRun/createJobs/cloudRunServices.d.ts +4 -0
  132. package/dist/deploy/cloudRun/createJobs/cloudRunServices.js +96 -0
  133. package/dist/deploy/cloudRun/createJobs/common.d.ts +18 -0
  134. package/dist/deploy/cloudRun/createJobs/common.js +93 -0
  135. package/dist/deploy/cloudRun/createJobs/constants.d.ts +1 -0
  136. package/dist/deploy/cloudRun/createJobs/constants.js +7 -0
  137. package/dist/deploy/cloudRun/createJobs/getCloudRunDeployScripts.d.ts +2 -0
  138. package/dist/deploy/cloudRun/createJobs/getCloudRunDeployScripts.js +62 -0
  139. package/dist/deploy/cloudRun/createJobs/getCloudRunStopScripts.d.ts +2 -0
  140. package/dist/deploy/cloudRun/createJobs/getCloudRunStopScripts.js +54 -0
  141. package/dist/deploy/cloudRun/createJobs/index.d.ts +3 -0
  142. package/dist/deploy/cloudRun/createJobs/index.js +57 -0
  143. package/dist/deploy/cloudRun/createJobs/volumes.d.ts +3 -0
  144. package/dist/deploy/cloudRun/createJobs/volumes.js +58 -0
  145. package/dist/deploy/cloudRun/index.d.ts +2 -2
  146. package/dist/deploy/cloudRun/index.js +17 -10
  147. package/dist/deploy/cloudRun/utils/createArgsString.d.ts +3 -1
  148. package/dist/deploy/cloudRun/utils/createArgsString.js +25 -17
  149. package/dist/deploy/cloudRun/utils/database.d.ts +6 -4
  150. package/dist/deploy/cloudRun/utils/database.js +28 -15
  151. package/dist/deploy/cloudRun/utils/gcloudServiceAccountLoginCommands.d.ts +2 -2
  152. package/dist/deploy/cloudRun/utils/gcloudServiceAccountLoginCommands.js +4 -2
  153. package/dist/deploy/cloudRun/utils/getServiceName.d.ts +2 -0
  154. package/dist/deploy/cloudRun/utils/getServiceName.js +10 -0
  155. package/dist/deploy/cloudRun/utils/jobName.d.ts +2 -1
  156. package/dist/deploy/cloudRun/utils/jobName.js +4 -2
  157. package/dist/deploy/cloudRun/utils/removeFirstLinesFromCommandOutput.d.ts +9 -0
  158. package/dist/deploy/cloudRun/utils/removeFirstLinesFromCommandOutput.js +18 -0
  159. package/dist/deploy/cloudSql/utils.d.ts +2 -1
  160. package/dist/deploy/cloudSql/utils.js +7 -2
  161. package/dist/deploy/custom/deployJob.d.ts +2 -2
  162. package/dist/deploy/custom/deployJob.js +24 -16
  163. package/dist/deploy/custom/index.d.ts +2 -2
  164. package/dist/deploy/custom/index.js +3 -1
  165. package/dist/deploy/dockerTag/deployJob.d.ts +2 -2
  166. package/dist/deploy/dockerTag/deployJob.js +51 -10
  167. package/dist/deploy/dockerTag/index.d.ts +2 -2
  168. package/dist/deploy/dockerTag/index.js +3 -1
  169. package/dist/deploy/index.d.ts +10 -9
  170. package/dist/deploy/index.js +13 -7
  171. package/dist/deploy/kubernetes/additionalSecretKeys.d.ts +3 -1
  172. package/dist/deploy/kubernetes/additionalSecretKeys.js +3 -1
  173. package/dist/deploy/kubernetes/cloudSql/index.d.ts +6 -5
  174. package/dist/deploy/kubernetes/cloudSql/index.js +14 -21
  175. package/dist/deploy/kubernetes/deployJob.d.ts +2 -2
  176. package/dist/deploy/kubernetes/deployJob.js +35 -45
  177. package/dist/deploy/kubernetes/index.d.ts +2 -2
  178. package/dist/deploy/kubernetes/index.js +52 -15
  179. package/dist/deploy/kubernetes/kubeEnv.d.ts +5 -4
  180. package/dist/deploy/kubernetes/kubeEnv.js +9 -5
  181. package/dist/deploy/kubernetes/kubeValues.d.ts +6 -9
  182. package/dist/deploy/kubernetes/kubeValues.js +16 -18
  183. package/dist/deploy/kubernetes/mongodb.d.ts +2 -2
  184. package/dist/deploy/kubernetes/mongodb.js +19 -16
  185. package/dist/deploy/sbom.d.ts +4 -0
  186. package/dist/deploy/sbom.js +20 -0
  187. package/dist/deploy/types/base.d.ts +18 -2
  188. package/dist/deploy/types/base.js +3 -1
  189. package/dist/deploy/types/custom.d.ts +3 -7
  190. package/dist/deploy/types/custom.js +3 -1
  191. package/dist/deploy/types/dockerTag.d.ts +3 -1
  192. package/dist/deploy/types/dockerTag.js +3 -1
  193. package/dist/deploy/types/googleCloudRun.d.ts +133 -24
  194. package/dist/deploy/types/googleCloudRun.js +3 -1
  195. package/dist/deploy/types/index.d.ts +6 -6
  196. package/dist/deploy/types/index.js +14 -8
  197. package/dist/deploy/types/kubernetes.d.ts +41 -55
  198. package/dist/deploy/types/kubernetes.js +3 -1
  199. package/dist/deploy/utils.d.ts +2 -2
  200. package/dist/deploy/utils.js +5 -2
  201. package/dist/globalScriptFunctions/index.d.ts +14 -0
  202. package/dist/globalScriptFunctions/index.js +37 -0
  203. package/dist/index.d.ts +5 -2
  204. package/dist/index.js +18 -9
  205. package/dist/packageInfos.d.ts +4 -0
  206. package/dist/packageInfos.js +20 -0
  207. package/dist/pipeline/__tests__/getPipelineStages.test.d.ts +1 -0
  208. package/dist/pipeline/__tests__/getPipelineStages.test.js +73 -0
  209. package/dist/pipeline/createAllJobs.d.ts +16 -6
  210. package/dist/pipeline/createAllJobs.js +99 -27
  211. package/dist/pipeline/createJobsForComponent.d.ts +2 -2
  212. package/dist/pipeline/createJobsForComponent.js +10 -152
  213. package/dist/pipeline/createJobsForWorkspace.d.ts +3 -0
  214. package/dist/pipeline/createJobsForWorkspace.js +12 -0
  215. package/dist/pipeline/createMainPipeline.d.ts +3 -0
  216. package/dist/pipeline/createMainPipeline.js +283 -0
  217. package/dist/pipeline/generatePipelineFiles.d.ts +7 -0
  218. package/dist/pipeline/generatePipelineFiles.js +304 -0
  219. package/dist/pipeline/getPipelineStages.d.ts +7 -0
  220. package/dist/pipeline/getPipelineStages.js +56 -0
  221. package/dist/pipeline/gitlab/createGitlabJobs.d.ts +11 -12
  222. package/dist/pipeline/gitlab/createGitlabJobs.js +259 -60
  223. package/dist/pipeline/gitlab/createGitlabPipeline.d.ts +9 -0
  224. package/dist/pipeline/gitlab/createGitlabPipeline.js +77 -0
  225. package/dist/pipeline/gitlab/gitlabReleaseJobs.d.ts +33 -0
  226. package/dist/pipeline/gitlab/gitlabReleaseJobs.js +25 -0
  227. package/dist/pipeline/gitlab/sortGitLabJobDefProps.d.ts +7 -0
  228. package/dist/pipeline/gitlab/sortGitLabJobDefProps.js +27 -0
  229. package/dist/pipeline/index.d.ts +3 -2
  230. package/dist/pipeline/index.js +16 -9
  231. package/dist/pipeline/packageManager.d.ts +3 -2
  232. package/dist/pipeline/packageManager.js +52 -26
  233. package/dist/pipeline/yarn/yarnUtils.d.ts +3 -2
  234. package/dist/pipeline/yarn/yarnUtils.js +65 -17
  235. package/dist/rules/index.d.ts +7 -2
  236. package/dist/rules/index.js +34 -16
  237. package/dist/runner/index.d.ts +1 -1
  238. package/dist/runner/index.js +3 -1
  239. package/dist/tsconfig.tsbuildinfo +1 -1
  240. package/dist/types/config.d.ts +52 -25
  241. package/dist/types/config.js +5 -2
  242. package/dist/types/context.d.ts +132 -37
  243. package/dist/types/context.js +12 -1
  244. package/dist/types/environmentContext.d.ts +15 -12
  245. package/dist/types/environmentContext.js +3 -1
  246. package/dist/types/gitlab-ci-yml.d.ts +769 -0
  247. package/dist/types/gitlab-ci-yml.js +10 -0
  248. package/dist/types/gitlab-types.d.ts +15 -96
  249. package/dist/types/gitlab-types.js +3 -1
  250. package/dist/types/index.d.ts +1 -0
  251. package/dist/types/index.js +14 -7
  252. package/dist/types/jobDefinition.d.ts +11 -0
  253. package/dist/types/jobDefinition.js +5 -0
  254. package/dist/types/jobs.d.ts +35 -16
  255. package/dist/types/jobs.js +3 -1
  256. package/dist/types/pipeline.d.ts +3 -3
  257. package/dist/types/pipeline.js +3 -1
  258. package/dist/types/utils.d.ts +1 -1
  259. package/dist/types/utils.js +3 -1
  260. package/dist/utils/gitlab.d.ts +2 -1
  261. package/dist/utils/gitlab.js +14 -3
  262. package/dist/utils/index.d.ts +2 -1
  263. package/dist/utils/index.js +10 -3
  264. package/dist/utils/jsonParse.d.ts +1 -0
  265. package/dist/utils/jsonParse.js +14 -0
  266. package/dist/utils/removeUndefined.d.ts +1 -0
  267. package/dist/utils/removeUndefined.js +36 -0
  268. package/dist/utils/writeFiles.d.ts +11 -0
  269. package/dist/utils/writeFiles.js +172 -0
  270. package/dist/variables/VariableValue.d.ts +3 -0
  271. package/dist/variables/VariableValue.js +5 -0
  272. package/dist/variables/VariableValueContainingReferences.d.ts +24 -0
  273. package/dist/variables/VariableValueContainingReferences.js +97 -0
  274. package/dist/variables/__tests__/resolveAllReferences.test.d.ts +1 -0
  275. package/dist/variables/__tests__/resolveAllReferences.test.js +218 -0
  276. package/dist/variables/__tests__/resolveAllReferencesOnce.test.d.ts +1 -0
  277. package/dist/variables/__tests__/resolveAllReferencesOnce.test.js +171 -0
  278. package/dist/variables/__tests__/resolveReferencesOnce.test.d.ts +1 -0
  279. package/dist/variables/__tests__/resolveReferencesOnce.test.js +199 -0
  280. package/dist/variables/__tests__/variableValue.test.d.ts +1 -0
  281. package/dist/variables/__tests__/variableValue.test.js +36 -0
  282. package/dist/variables/resolveAllReferences.d.ts +3 -0
  283. package/dist/{pipeline/createChildPipeline.js → variables/resolveAllReferences.js} +44 -47
  284. package/dist/variables/resolveAllReferencesOnce.d.ts +5 -0
  285. package/dist/variables/resolveAllReferencesOnce.js +191 -0
  286. package/dist/variables/resolveReferencesOnce.d.ts +8 -0
  287. package/dist/variables/resolveReferencesOnce.js +22 -0
  288. package/examples/.test-gen-ignore +1 -0
  289. package/examples/__snapshots__/cloud-run-http2.test.ts.snap +1418 -0
  290. package/examples/__snapshots__/cloud-run-memory-limit.test.ts.snap +1418 -0
  291. package/examples/__snapshots__/cloud-run-meteor-with-worker.test.ts.snap +1418 -0
  292. package/examples/__snapshots__/cloud-run-nextjs.test.ts.snap +1434 -0
  293. package/examples/__snapshots__/cloud-run-no-cpu-throttling.test.ts.snap +1418 -0
  294. package/examples/__snapshots__/cloud-run-no-service.test.ts.snap +1526 -0
  295. package/examples/__snapshots__/cloud-run-non-public.test.ts.snap +1418 -0
  296. package/examples/__snapshots__/cloud-run-post-stop-job.test.ts.snap +1436 -0
  297. package/examples/__snapshots__/cloud-run-service-custom-vpc-connector.test.ts.snap +1418 -0
  298. package/examples/__snapshots__/cloud-run-service-custom-vpc.test.ts.snap +1418 -0
  299. package/examples/__snapshots__/cloud-run-service-gen2.test.ts.snap +1418 -0
  300. package/examples/__snapshots__/cloud-run-service-increase-timout.test.ts.snap +1418 -0
  301. package/examples/__snapshots__/cloud-run-service-with-volumes.test.ts.snap +1490 -0
  302. package/examples/__snapshots__/cloud-run-storybook.test.ts.snap +1302 -0
  303. package/examples/__snapshots__/cloud-run-with-ngnix.test.ts.snap +1418 -0
  304. package/examples/__snapshots__/cloud-run-with-sql-reuse-db.test.ts.snap +2998 -0
  305. package/examples/__snapshots__/cloud-run-with-sql.test.ts.snap +1733 -0
  306. package/examples/__snapshots__/cloud-run-with-worker.test.ts.snap +1426 -0
  307. package/examples/__snapshots__/custom-build-job-with-tests.test.ts.snap +1285 -0
  308. package/examples/__snapshots__/custom-build-job.test.ts.snap +1174 -0
  309. package/examples/__snapshots__/custom-deploy.test.ts.snap +1168 -0
  310. package/examples/__snapshots__/custom-envs.test.ts.snap +798 -0
  311. package/examples/__snapshots__/custom-sbom-java.test.ts.snap +1182 -0
  312. package/examples/__snapshots__/git-submodule.test.ts.snap +1419 -0
  313. package/examples/__snapshots__/kubernetes-application-customization.test.ts.snap +1759 -0
  314. package/examples/__snapshots__/kubernetes-with-cloud-sql.test.ts.snap +1779 -0
  315. package/examples/__snapshots__/kubernetes-with-jobs.test.ts.snap +3357 -0
  316. package/examples/__snapshots__/kubernetes-with-mongodb.test.ts.snap +1883 -0
  317. package/examples/__snapshots__/local-dot-env.test.ts.snap +1342 -0
  318. package/examples/__snapshots__/meteor-kubernetes.test.ts.snap +1836 -0
  319. package/examples/__snapshots__/multiline-var.test.ts.snap +5679 -0
  320. package/examples/__snapshots__/native-app.test.ts.snap +2206 -0
  321. package/examples/__snapshots__/node-build-with-custom-image.test.ts.snap +1418 -0
  322. package/examples/__snapshots__/node-build-with-docker-additions.test.ts.snap +1426 -0
  323. package/examples/__snapshots__/rails-k8s-with-worker-dockerfile.test.ts.snap +1487 -0
  324. package/examples/__snapshots__/rails-k8s-with-worker.test.ts.snap +1471 -0
  325. package/examples/__snapshots__/referencing-other-vars.test.ts.snap +4739 -0
  326. package/examples/__snapshots__/wait-for-other-deploy.test.ts.snap +1368 -0
  327. package/examples/__snapshots__/workspace-api-www-turbo-cache.test.ts.snap +2338 -0
  328. package/examples/__snapshots__/workspace-api-www.test.ts.snap +2330 -0
  329. package/examples/__utils__/helpers.ts +9 -12
  330. package/examples/cloud-run-http2.test.ts +11 -0
  331. package/examples/cloud-run-http2.ts +29 -0
  332. package/examples/cloud-run-memory-limit.test.ts +11 -0
  333. package/examples/cloud-run-memory-limit.ts +10 -5
  334. package/examples/cloud-run-meteor-with-worker.test.ts +11 -0
  335. package/examples/cloud-run-meteor-with-worker.ts +37 -0
  336. package/examples/cloud-run-nextjs.test.ts +11 -0
  337. package/examples/cloud-run-nextjs.ts +28 -0
  338. package/examples/cloud-run-no-cpu-throttling.test.ts +11 -0
  339. package/examples/cloud-run-no-cpu-throttling.ts +6 -4
  340. package/examples/cloud-run-no-service.test.ts +11 -0
  341. package/examples/cloud-run-no-service.ts +33 -0
  342. package/examples/cloud-run-non-public.test.ts +11 -0
  343. package/examples/cloud-run-non-public.ts +5 -4
  344. package/examples/cloud-run-post-stop-job.test.ts +11 -0
  345. package/examples/cloud-run-post-stop-job.ts +42 -0
  346. package/examples/cloud-run-service-custom-vpc-connector.test.ts +11 -0
  347. package/examples/cloud-run-service-custom-vpc-connector.ts +30 -0
  348. package/examples/cloud-run-service-custom-vpc.test.ts +11 -0
  349. package/examples/cloud-run-service-custom-vpc.ts +31 -0
  350. package/examples/cloud-run-service-gen2.test.ts +11 -0
  351. package/examples/cloud-run-service-gen2.ts +29 -0
  352. package/examples/cloud-run-service-increase-timout.test.ts +11 -0
  353. package/examples/cloud-run-service-increase-timout.ts +29 -0
  354. package/examples/cloud-run-service-with-volumes.test.ts +11 -0
  355. package/examples/cloud-run-service-with-volumes.ts +56 -0
  356. package/examples/cloud-run-storybook.test.ts +11 -0
  357. package/examples/cloud-run-storybook.ts +33 -0
  358. package/examples/cloud-run-with-ngnix.test.ts +11 -0
  359. package/examples/cloud-run-with-ngnix.ts +29 -0
  360. package/examples/cloud-run-with-sql-reuse-db.test.ts +11 -0
  361. package/examples/cloud-run-with-sql-reuse-db.ts +5 -4
  362. package/examples/cloud-run-with-sql.test.ts +11 -0
  363. package/examples/cloud-run-with-sql.ts +7 -20
  364. package/examples/cloud-run-with-worker.test.ts +11 -0
  365. package/examples/cloud-run-with-worker.ts +37 -0
  366. package/examples/custom-build-job-with-tests.test.ts +11 -0
  367. package/examples/custom-build-job-with-tests.ts +14 -4
  368. package/examples/custom-build-job.test.ts +11 -0
  369. package/examples/custom-build-job.ts +5 -4
  370. package/examples/custom-deploy.test.ts +11 -0
  371. package/examples/custom-deploy.ts +15 -4
  372. package/examples/custom-envs.test.ts +11 -0
  373. package/examples/custom-envs.ts +5 -4
  374. package/examples/custom-sbom-java.test.ts +11 -0
  375. package/examples/custom-sbom-java.ts +10 -6
  376. package/examples/git-submodule.test.ts +11 -0
  377. package/examples/git-submodule.ts +30 -0
  378. package/examples/kubernetes-application-customization.test.ts +11 -0
  379. package/examples/kubernetes-application-customization.ts +7 -4
  380. package/examples/kubernetes-with-cloud-sql.test.ts +11 -0
  381. package/examples/kubernetes-with-cloud-sql.ts +7 -4
  382. package/examples/kubernetes-with-jobs.test.ts +11 -0
  383. package/examples/kubernetes-with-jobs.ts +7 -4
  384. package/examples/kubernetes-with-mongodb.test.ts +11 -0
  385. package/examples/kubernetes-with-mongodb.ts +7 -4
  386. package/examples/local-dot-env.test.ts +11 -0
  387. package/examples/local-dot-env.ts +27 -0
  388. package/examples/meteor-kubernetes.test.ts +11 -0
  389. package/examples/meteor-kubernetes.ts +64 -0
  390. package/examples/multiline-var.test.ts +11 -0
  391. package/examples/multiline-var.ts +107 -0
  392. package/examples/native-app.test.ts +11 -0
  393. package/examples/native-app.ts +86 -0
  394. package/examples/node-build-with-custom-image.test.ts +11 -0
  395. package/examples/node-build-with-custom-image.ts +26 -0
  396. package/examples/node-build-with-docker-additions.test.ts +11 -0
  397. package/examples/node-build-with-docker-additions.ts +29 -0
  398. package/examples/rails-k8s-with-worker-dockerfile.test.ts +33 -0
  399. package/examples/rails-k8s-with-worker.test.ts +11 -0
  400. package/examples/rails-k8s-with-worker.ts +23 -17
  401. package/examples/referencing-other-vars.test.ts +11 -0
  402. package/examples/referencing-other-vars.ts +83 -0
  403. package/examples/wait-for-other-deploy.test.ts +11 -0
  404. package/examples/wait-for-other-deploy.ts +5 -4
  405. package/examples/workspace-api-www-turbo-cache.test.ts +11 -0
  406. package/examples/workspace-api-www-turbo-cache.ts +52 -0
  407. package/examples/workspace-api-www.test.ts +11 -0
  408. package/examples/workspace-api-www.ts +46 -0
  409. package/package.json +77 -26
  410. package/scripts/generate-examples-test.ts +84 -0
  411. package/scripts/generate-gitlab-ci-types.ts +51 -0
  412. package/scripts/tsconfig.json +7 -0
  413. package/src/bash/BashExpression.ts +78 -0
  414. package/src/bash/bashEscape.ts +158 -0
  415. package/src/bash/bashExpressionPerPipelineType.ts +16 -0
  416. package/src/bash/bashYaml.ts +80 -0
  417. package/src/bash/getInjectVarsScript.ts +21 -0
  418. package/src/bash/index.ts +2 -0
  419. package/src/build/artifacts/createBuildJobArtifact.ts +61 -0
  420. package/src/build/base/__tests__/__snapshots__/createArtifactsConfig.test.ts.snap +49 -0
  421. package/src/build/base/__tests__/createArtifactsConfig.test.ts +41 -0
  422. package/src/build/base/constants.ts +2 -2
  423. package/src/build/base/createAppBuildJob.ts +70 -0
  424. package/src/build/base/createArtifactsConfig.ts +34 -0
  425. package/src/build/base/createBuildJobDefinition.ts +37 -0
  426. package/src/build/base/index.ts +64 -0
  427. package/src/build/base/writeBuildInfo.ts +3 -3
  428. package/src/build/base/writeDotEnv.ts +40 -0
  429. package/src/build/cache/createJobCache.ts +83 -0
  430. package/src/build/cache/getAllCacheConfigsFromConfig.ts +28 -0
  431. package/src/build/cache/transformLegacyJobCache.ts +14 -0
  432. package/src/build/custom/__tests__/testJob.test.ts +29 -0
  433. package/src/build/custom/buildJob.ts +18 -53
  434. package/src/build/custom/index.ts +2 -2
  435. package/src/build/custom/testJob.ts +40 -14
  436. package/src/build/docker.ts +149 -63
  437. package/src/build/index.ts +42 -10
  438. package/src/build/node/buildJob.ts +68 -69
  439. package/src/build/node/cache.ts +30 -35
  440. package/src/build/node/constants.ts +2 -3
  441. package/src/build/node/index.ts +8 -4
  442. package/src/build/node/meteor.ts +37 -47
  443. package/src/build/node/testJob.ts +61 -22
  444. package/src/build/node/yarn.ts +72 -27
  445. package/src/build/rails/build.ts +42 -12
  446. package/src/build/rails/index.ts +2 -2
  447. package/src/build/rails/test.ts +31 -15
  448. package/src/build/sbom.ts +48 -0
  449. package/src/build/types.ts +262 -79
  450. package/src/catladder-gitlab.ts +7 -56
  451. package/src/config/__tests__/__snapshots__/getAllEnvs.test.ts.snap +31 -0
  452. package/src/config/__tests__/__snapshots__/getAllEnvsInAllComponents.test.ts.snap +15 -0
  453. package/src/config/__tests__/getAllEnvs.test.ts +71 -0
  454. package/src/config/__tests__/getAllEnvsInAllComponents.test.ts +63 -0
  455. package/src/config/configruedEnvs.ts +6 -6
  456. package/src/config/readConfig.ts +15 -22
  457. package/src/constants.ts +5 -2
  458. package/src/context/createAllComponentsContext.ts +31 -0
  459. package/src/context/createComponentContext.ts +134 -0
  460. package/src/context/createWorkspaceContext.ts +56 -0
  461. package/src/context/getBuildInfoVariables.ts +36 -0
  462. package/src/context/getEnvConfig.ts +3 -3
  463. package/src/context/getEnvType.ts +1 -1
  464. package/src/context/getEnvironment.ts +9 -23
  465. package/src/context/getEnvironmentContext.ts +25 -29
  466. package/src/context/getEnvironmentVariables.ts +127 -84
  467. package/src/context/getLabels.ts +5 -4
  468. package/src/context/getReviewSlug.ts +27 -0
  469. package/src/context/index.ts +1 -65
  470. package/src/context/transformJobOnlyVars.ts +45 -0
  471. package/src/context/utils/envVars.ts +27 -0
  472. package/src/deploy/base/deploy.ts +130 -0
  473. package/src/deploy/base/index.ts +27 -0
  474. package/src/deploy/base/rollback.ts +35 -0
  475. package/src/deploy/base/stop.ts +40 -0
  476. package/src/deploy/base/types.ts +3 -0
  477. package/src/deploy/base/variables.ts +5 -0
  478. package/src/deploy/cloudRun/artifactsRegistry.ts +126 -0
  479. package/src/deploy/cloudRun/cleanup.ts +30 -0
  480. package/src/deploy/cloudRun/cloudRunRevisions.ts +65 -0
  481. package/src/deploy/cloudRun/createJobs/cloudRunJobs.ts +227 -0
  482. package/src/deploy/cloudRun/createJobs/cloudRunServices.ts +86 -0
  483. package/src/deploy/cloudRun/createJobs/common.ts +59 -0
  484. package/src/deploy/cloudRun/createJobs/constants.ts +1 -0
  485. package/src/deploy/cloudRun/createJobs/getCloudRunDeployScripts.ts +71 -0
  486. package/src/deploy/cloudRun/createJobs/getCloudRunStopScripts.ts +34 -0
  487. package/src/deploy/cloudRun/createJobs/index.ts +51 -0
  488. package/src/deploy/cloudRun/createJobs/volumes.ts +23 -0
  489. package/src/deploy/cloudRun/index.ts +85 -59
  490. package/src/deploy/cloudRun/utils/createArgsString.ts +21 -13
  491. package/src/deploy/cloudRun/utils/database.ts +31 -9
  492. package/src/deploy/cloudRun/utils/gcloudServiceAccountLoginCommands.ts +9 -11
  493. package/src/deploy/cloudRun/utils/getServiceName.ts +3 -0
  494. package/src/deploy/cloudRun/utils/jobName.ts +7 -2
  495. package/src/deploy/cloudRun/utils/removeFirstLinesFromCommandOutput.ts +12 -0
  496. package/src/deploy/cloudSql/utils.ts +13 -10
  497. package/src/deploy/custom/deployJob.ts +35 -25
  498. package/src/deploy/custom/index.ts +2 -2
  499. package/src/deploy/dockerTag/deployJob.ts +12 -14
  500. package/src/deploy/dockerTag/index.ts +8 -7
  501. package/src/deploy/index.ts +15 -12
  502. package/src/deploy/kubernetes/additionalSecretKeys.ts +3 -1
  503. package/src/deploy/kubernetes/cloudSql/index.ts +16 -25
  504. package/src/deploy/kubernetes/deployJob.ts +52 -51
  505. package/src/deploy/kubernetes/index.ts +43 -35
  506. package/src/deploy/kubernetes/kubeEnv.ts +12 -10
  507. package/src/deploy/kubernetes/kubeValues.ts +15 -19
  508. package/src/deploy/kubernetes/mongodb.ts +17 -16
  509. package/src/deploy/sbom.ts +32 -0
  510. package/src/deploy/types/base.ts +20 -0
  511. package/src/deploy/types/custom.ts +3 -7
  512. package/src/deploy/types/dockerTag.ts +2 -0
  513. package/src/deploy/types/googleCloudRun.ts +140 -10
  514. package/src/deploy/types/index.ts +2 -2
  515. package/src/deploy/types/kubernetes.ts +24 -37
  516. package/src/deploy/utils.ts +5 -5
  517. package/src/globalScriptFunctions/index.ts +30 -0
  518. package/src/index.ts +4 -1
  519. package/src/packageInfos.ts +14 -0
  520. package/src/pipeline/__tests__/__snapshots__/getPipelineStages.test.ts.snap +69 -0
  521. package/src/pipeline/__tests__/getPipelineStages.test.ts +63 -0
  522. package/src/pipeline/createAllJobs.ts +67 -33
  523. package/src/pipeline/createJobsForComponent.ts +11 -41
  524. package/src/pipeline/createJobsForWorkspace.ts +12 -0
  525. package/src/pipeline/createMainPipeline.ts +119 -0
  526. package/src/pipeline/generatePipelineFiles.ts +100 -0
  527. package/src/pipeline/getPipelineStages.ts +23 -0
  528. package/src/pipeline/gitlab/createGitlabJobs.ts +391 -98
  529. package/src/pipeline/gitlab/createGitlabPipeline.ts +35 -0
  530. package/src/pipeline/gitlab/gitlabReleaseJobs.ts +23 -0
  531. package/src/pipeline/gitlab/sortGitLabJobDefProps.ts +59 -0
  532. package/src/pipeline/index.ts +2 -1
  533. package/src/pipeline/packageManager.ts +50 -31
  534. package/src/pipeline/yarn/yarnUtils.ts +39 -10
  535. package/src/rules/index.ts +36 -9
  536. package/src/runner/index.ts +0 -1
  537. package/src/types/config.ts +52 -12
  538. package/src/types/context.ts +176 -35
  539. package/src/types/environmentContext.ts +18 -13
  540. package/src/types/gitlab-ci-yml.ts +891 -0
  541. package/src/types/gitlab-types.ts +54 -87
  542. package/src/types/index.ts +1 -0
  543. package/src/types/jobDefinition.ts +34 -0
  544. package/src/types/jobs.ts +37 -17
  545. package/src/types/utils.ts +4 -4
  546. package/src/utils/gitlab.ts +28 -1
  547. package/src/utils/index.ts +6 -3
  548. package/src/utils/jsonParse.ts +7 -0
  549. package/src/utils/removeUndefined.ts +4 -0
  550. package/src/utils/writeFiles.ts +52 -0
  551. package/src/variables/VariableValue.ts +6 -0
  552. package/src/variables/VariableValueContainingReferences.ts +89 -0
  553. package/src/variables/__tests__/resolveAllReferences.test.ts +110 -0
  554. package/src/variables/__tests__/resolveAllReferencesOnce.test.ts +64 -0
  555. package/src/variables/__tests__/resolveReferencesOnce.test.ts +117 -0
  556. package/src/variables/__tests__/variableValue.test.ts +73 -0
  557. package/src/variables/resolveAllReferences.ts +46 -0
  558. package/src/variables/resolveAllReferencesOnce.ts +44 -0
  559. package/src/variables/resolveReferencesOnce.ts +29 -0
  560. package/tsconfig.json +1 -1
  561. package/bin/catladder-gitlab-dev.js +0 -3
  562. package/bin/catladder-gitlab.js +0 -3
  563. package/dist/build/base/createBuildJob.d.ts +0 -7
  564. package/dist/bundles/catladder-gitlab/index.js +0 -33200
  565. package/dist/context/__tests__/resolveReferences.test.js +0 -336
  566. package/dist/context/resolveReferences.d.ts +0 -4
  567. package/dist/context/resolveReferences.js +0 -254
  568. package/dist/deploy/base.d.ts +0 -10
  569. package/dist/deploy/base.js +0 -112
  570. package/dist/deploy/cloudRun/deployJob.d.ts +0 -3
  571. package/dist/deploy/cloudRun/deployJob.js +0 -242
  572. package/dist/deploy/kubernetes/processSecretsAsFiles.d.ts +0 -86
  573. package/dist/deploy/kubernetes/processSecretsAsFiles.js +0 -31
  574. package/dist/pipeline/commitInfo/getBuildId.d.ts +0 -1
  575. package/dist/pipeline/commitInfo/getCommitInfo.d.ts +0 -2
  576. package/dist/pipeline/createChildPipeline.d.ts +0 -3
  577. package/dist/verify/reporting.d.ts +0 -3
  578. package/dist/verify/reporting.js +0 -48
  579. package/examples/__snapshots__/cloud-run-memory-limit.ts.snap +0 -1776
  580. package/examples/__snapshots__/cloud-run-no-cpu-throttling.ts.snap +0 -1776
  581. package/examples/__snapshots__/cloud-run-non-public.ts.snap +0 -1776
  582. package/examples/__snapshots__/cloud-run-with-sql-reuse-db.ts.snap +0 -3524
  583. package/examples/__snapshots__/cloud-run-with-sql.ts.snap +0 -3535
  584. package/examples/__snapshots__/custom-build-job-with-tests.ts.snap +0 -1630
  585. package/examples/__snapshots__/custom-build-job.ts.snap +0 -1378
  586. package/examples/__snapshots__/custom-deploy.ts.snap +0 -1580
  587. package/examples/__snapshots__/custom-envs.ts.snap +0 -1164
  588. package/examples/__snapshots__/custom-sbom-java.ts.snap +0 -1386
  589. package/examples/__snapshots__/kubernetes-application-customization.ts.snap +0 -2476
  590. package/examples/__snapshots__/kubernetes-with-cloud-sql-legacy.ts.snap +0 -2436
  591. package/examples/__snapshots__/kubernetes-with-cloud-sql.ts.snap +0 -2448
  592. package/examples/__snapshots__/kubernetes-with-jobs.ts.snap +0 -4469
  593. package/examples/__snapshots__/kubernetes-with-mongodb.ts.snap +0 -2640
  594. package/examples/__snapshots__/rails-k8s-with-worker.ts.snap +0 -2143
  595. package/examples/__snapshots__/wait-for-other-deploy.ts.snap +0 -2018
  596. package/examples/kubernetes-with-cloud-sql-legacy.ts +0 -33
  597. package/scripts/bundle +0 -2
  598. package/src/build/base/createBuildJob.ts +0 -50
  599. package/src/context/__tests__/resolveReferences.test.ts +0 -143
  600. package/src/context/resolveReferences.ts +0 -70
  601. package/src/deploy/base.ts +0 -144
  602. package/src/deploy/cloudRun/deployJob.ts +0 -275
  603. package/src/deploy/kubernetes/processSecretsAsFiles.ts +0 -34
  604. package/src/pipeline/commitInfo/getBuildId.ts +0 -6
  605. package/src/pipeline/commitInfo/getCommitInfo.ts +0 -12
  606. package/src/pipeline/createChildPipeline.ts +0 -45
  607. package/src/verify/reporting.ts +0 -69
  608. /package/dist/{context/__tests__/resolveReferences.test.d.ts → build/base/__tests__/createArtifactsConfig.test.d.ts} +0 -0
@@ -1,5 +1,15 @@
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
+ };
3
13
  var __read = this && this.__read || function (o, n) {
4
14
  var m = typeof Symbol === "function" && o[Symbol.iterator];
5
15
  if (!m) return o;
@@ -22,17 +32,43 @@ var __read = this && this.__read || function (o, n) {
22
32
  }
23
33
  return ar;
24
34
  };
25
- exports.__esModule = true;
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
+ Object.defineProperty(exports, "__esModule", {
45
+ value: true
46
+ });
26
47
  exports.createRailsBuildJobs = void 0;
27
- var types_1 = require("../types");
48
+ var __1 = require("../..");
49
+ var base_1 = require("../base");
28
50
  var docker_1 = require("../docker");
51
+ var types_1 = require("../types");
29
52
  var createRailsBuildJobs = function (context) {
30
53
  var _a, _b, _c;
31
- var buildConfig = context.componentConfig.build;
54
+ var buildConfig = context.build.config;
32
55
  if (!(0, types_1.isOfBuildType)(buildConfig, "rails")) {
33
56
  // should not happen
34
57
  throw new Error("build type is not rails");
35
58
  }
59
+ // if its not a standalone build, we don't need to run tests
60
+ if (!(0, __1.componentContextIsStandaloneBuild)(context)) {
61
+ throw new Error("workspace builds are not supported for rails apps");
62
+ }
63
+ if ((0, docker_1.hasDockerfile)(context)) {
64
+ return (0, base_1.createComponentBuildJobs)(context, {
65
+ appBuild: undefined,
66
+ dockerBuild: {
67
+ script: (0, docker_1.getDockerBuildDefaultScript)(context),
68
+ variables: {}
69
+ }
70
+ });
71
+ }
36
72
  var cnbConf = buildConfig.cnbBuilder;
37
73
  var packEnvArgs = Object.entries((_a = cnbConf === null || cnbConf === void 0 ? void 0 : cnbConf.buildVars) !== null && _a !== void 0 ? _a : {}).map(function (_a) {
38
74
  var _b = __read(_a, 2),
@@ -40,12 +76,15 @@ var createRailsBuildJobs = function (context) {
40
76
  v = _b[1];
41
77
  return "--env '".concat(k).concat(v ? "=".concat(v) : "", "'");
42
78
  }).join(" ");
43
- return [(0, docker_1.createDockerBuildJobBase)(context, {
44
- variables: context.componentConfig.build.extraVars,
45
- // custom script
46
- script: [docker_1.gitlabDockerLogin, "docker pull $DOCKER_CACHE_IMAGE || true", "wget --output-document=- https://github.com/buildpacks/pack/releases/download/v".concat(cnbConf === null || cnbConf === void 0 ? void 0 : cnbConf.packVersion, "/pack-v").concat(cnbConf === null || cnbConf === void 0 ? void 0 : cnbConf.packVersion, "-linux.tgz | tar -zx --directory /usr/local/bin pack"), "chmod +x /usr/local/bin/pack",
47
- // replace private git ssh gem sources with https to make bundler with credentials via env var work
48
- "sed --in-place 's|git@\\([^:]*\\):|https://\\1/|g' Gemfile Gemfile.lock", "pack build \"$DOCKER_IMAGE:$DOCKER_IMAGE_TAG\" --builder '".concat(cnbConf === null || cnbConf === void 0 ? void 0 : cnbConf.image, "' --publish --cache-image \"$DOCKER_CACHE_IMAGE\" ").concat(packEnvArgs, " ").concat((_c = (_b = cnbConf === null || cnbConf === void 0 ? void 0 : cnbConf.packExtraArgs) === null || _b === void 0 ? void 0 : _b.join(" ")) !== null && _c !== void 0 ? _c : "")]
49
- })];
79
+ return (0, base_1.createComponentBuildJobs)(context, {
80
+ appBuild: undefined,
81
+ dockerBuild: {
82
+ variables: __assign({}, context.environment.jobOnlyVars.build.envVars),
83
+ // custom script
84
+ script: __spreadArray(__spreadArray([], __read((0, docker_1.gitlabDockerLogin)(context)), false), ["cd ".concat(context.build.dir), "docker pull $DOCKER_CACHE_IMAGE || true", "wget --output-document=- https://github.com/buildpacks/pack/releases/download/v".concat(cnbConf === null || cnbConf === void 0 ? void 0 : cnbConf.packVersion, "/pack-v").concat(cnbConf === null || cnbConf === void 0 ? void 0 : cnbConf.packVersion, "-linux.tgz | tar -zx --directory /usr/local/bin pack"), "chmod +x /usr/local/bin/pack",
85
+ // replace private git ssh gem sources with https to make bundler with credentials via env var work
86
+ "sed --in-place 's|git@\\([^:]*\\):|https://\\1/|g' Gemfile Gemfile.lock", "pack build \"$DOCKER_IMAGE:$DOCKER_IMAGE_TAG\" --builder '".concat(cnbConf === null || cnbConf === void 0 ? void 0 : cnbConf.image, "' --publish --cache-image \"$DOCKER_CACHE_IMAGE\" ").concat(packEnvArgs, " ").concat((_c = (_b = cnbConf === null || cnbConf === void 0 ? void 0 : cnbConf.packExtraArgs) === null || _b === void 0 ? void 0 : _b.join(" ")) !== null && _c !== void 0 ? _c : "")], false)
87
+ }
88
+ });
50
89
  };
51
90
  exports.createRailsBuildJobs = createRailsBuildJobs;
@@ -1,3 +1,3 @@
1
- import type { Context } from "../../types";
1
+ import type { ComponentContext } from "../../types";
2
2
  import type { CatladderJob } from "../../types/jobs";
3
- export declare const createRailsJobs: (context: Context) => CatladderJob[];
3
+ export declare const createRailsJobs: (context: ComponentContext) => CatladderJob[];
@@ -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");
@@ -1,3 +1,3 @@
1
- import type { Context } from "../..";
1
+ import { type ComponentContext } from "../..";
2
2
  import type { CatladderJob } from "../../types/jobs";
3
- export declare const createRailsTestJobs: (context: Context) => CatladderJob[];
3
+ export declare const createRailsTestJobs: (context: ComponentContext) => CatladderJob[];
@@ -41,18 +41,26 @@ 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;
48
+ var __1 = require("../..");
46
49
  var utils_1 = require("../../utils");
47
50
  var createRailsTestJobs = function (context) {
48
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
51
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
49
52
  // don't run tests after release
50
- if (((_a = context.commitInfo) === null || _a === void 0 ? void 0 : _a.trigger) === "taggedRelease") {
53
+ // TODO: this will be replaced by using rules
54
+ if (context.trigger === "taggedRelease") {
51
55
  return [];
52
56
  }
53
- var buildConfig = context.componentConfig.build;
57
+ // if its not a standalone build, we don't need to run tests
58
+ if (!(0, __1.componentContextIsStandaloneBuild)(context)) {
59
+ return [];
60
+ }
61
+ var buildConfig = context.build.config;
54
62
  var base = {
55
- variables: (_b = buildConfig.extraVars) !== null && _b !== void 0 ? _b : {},
63
+ variables: __assign({}, context.environment.jobOnlyVars.build.envVars),
56
64
  stage: "test",
57
65
  needs: [],
58
66
  envMode: "none"
@@ -63,7 +71,7 @@ var createRailsTestJobs = function (context) {
63
71
  var bundlerCache = {
64
72
  key: {
65
73
  files: ["Gemfile.lock"],
66
- prefix: "$CI_JOB_IMAGE"
74
+ prefix: "$CI_JOB_IMAGE" // a changed image might have different OS libraries which no longer work with the cached gems
67
75
  },
68
76
  paths: [bundlerCacheDir]
69
77
  };
@@ -71,23 +79,23 @@ var createRailsTestJobs = function (context) {
71
79
  name: "🛡 audit"
72
80
  }, base), {
73
81
  cache: undefined,
74
- image: (_d = (_c = buildConfig.audit) === null || _c === void 0 ? void 0 : _c.jobImage) !== null && _d !== void 0 ? _d : defaultImage,
75
- 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),
82
+ image: (_c = (_b = (_a = buildConfig.audit) === null || _a === void 0 ? void 0 : _a.jobImage) !== null && _b !== void 0 ? _b : buildConfig.jobImage) !== null && _c !== void 0 ? _c : defaultImage,
83
+ script: __spreadArray(["cd ".concat(context.build.dir)], __read((_e = (0, utils_1.ensureArrayOrNull)((_d = buildConfig.audit) === null || _d === void 0 ? void 0 : _d.command)) !== null && _e !== void 0 ? _e : ["gem install bundler-audit", "bundle audit check"]), false),
76
84
  allow_failure: true
77
85
  }) : null;
78
86
  var lintJob = buildConfig.lint !== false ? __assign(__assign({
79
87
  name: "👮 lint"
80
88
  }, base), {
81
89
  cache: bundlerCache,
82
- image: (_h = (_g = buildConfig.lint) === null || _g === void 0 ? void 0 : _g.jobImage) !== null && _h !== void 0 ? _h : defaultImage,
83
- script: __spreadArray(__spreadArray(["cd ".concat(context.componentConfig.dir)], __read(bundlerInstall), false), __read((_k = (0, utils_1.ensureArray)((_j = buildConfig.lint) === null || _j === void 0 ? void 0 : _j.command)) !== null && _k !== void 0 ? _k : ["bundle exec rubocop"]), false)
90
+ image: (_h = (_g = (_f = buildConfig.lint) === null || _f === void 0 ? void 0 : _f.jobImage) !== null && _g !== void 0 ? _g : buildConfig.jobImage) !== null && _h !== void 0 ? _h : defaultImage,
91
+ script: __spreadArray(__spreadArray(["cd ".concat(context.build.dir)], __read(bundlerInstall), false), __read((_k = (0, utils_1.ensureArrayOrNull)((_j = buildConfig.lint) === null || _j === void 0 ? void 0 : _j.command)) !== null && _k !== void 0 ? _k : ["bundle exec rubocop"]), false)
84
92
  }) : null;
85
93
  var testJob = buildConfig.test !== false ? __assign(__assign({
86
94
  name: "🧪 test"
87
95
  }, base), {
88
96
  cache: bundlerCache,
89
- image: (_m = (_l = buildConfig.test) === null || _l === void 0 ? void 0 : _l.jobImage) !== null && _m !== void 0 ? _m : defaultImage,
90
- script: __spreadArray(__spreadArray(["cd ".concat(context.componentConfig.dir)], __read(bundlerInstall), false), __read((_p = (0, utils_1.ensureArray)((_o = buildConfig.test) === null || _o === void 0 ? void 0 : _o.command)) !== null && _p !== void 0 ? _p : ["bundle exec rspec"]), false)
97
+ image: (_o = (_m = (_l = buildConfig.test) === null || _l === void 0 ? void 0 : _l.jobImage) !== null && _m !== void 0 ? _m : buildConfig.jobImage) !== null && _o !== void 0 ? _o : defaultImage,
98
+ script: __spreadArray(__spreadArray(["cd ".concat(context.build.dir)], __read(bundlerInstall), false), __read((_q = (0, utils_1.ensureArrayOrNull)((_p = buildConfig.test) === null || _p === void 0 ? void 0 : _p.command)) !== null && _q !== void 0 ? _q : ["bundle exec rspec"]), false)
91
99
  }) : null;
92
100
  return [auditJob, lintJob, testJob].filter(utils_1.notNil);
93
101
  };
@@ -0,0 +1,5 @@
1
+ import type { ComponentContext } from "../types/context";
2
+ import type { CatladderJob } from "../types/jobs";
3
+ export declare const SBOM_BUILD_JOB_NAME = "\uD83E\uDDFE sbom";
4
+ export declare const SBOM_FILE = "__sbom.json";
5
+ export declare const createSbomBuildJob: (context: ComponentContext) => CatladderJob;
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createSbomBuildJob = exports.SBOM_FILE = exports.SBOM_BUILD_JOB_NAME = void 0;
7
+ var _1 = require(".");
8
+ var utils_1 = require("../utils");
9
+ exports.SBOM_BUILD_JOB_NAME = "🧾 sbom";
10
+ exports.SBOM_FILE = "__sbom.json";
11
+ var createSbomBuildJob = function (context) {
12
+ var _a, _b, _c, _d;
13
+ var buildConfig = context.build.config;
14
+ var defaultImage = "aquasec/trivy:0.38.3";
15
+ var defaultScript = ["trivy fs --quiet --format cyclonedx --output \"".concat(exports.SBOM_FILE, "\" ").concat(context.packageManagerInfo.componentIsInWorkspace ? "." : context.build.dir)];
16
+ var image = (0, _1.isStandaloneBuildConfig)(buildConfig) && buildConfig.type === "custom" && buildConfig.sbom !== false ? (_b = (_a = buildConfig.sbom) === null || _a === void 0 ? void 0 : _a.jobImage) !== null && _b !== void 0 ? _b : defaultImage : defaultImage;
17
+ var script = (0, _1.isStandaloneBuildConfig)(buildConfig) && buildConfig.type === "custom" && buildConfig.sbom !== false ? (_d = (0, utils_1.ensureArrayOrNull)((_c = buildConfig.sbom) === null || _c === void 0 ? void 0 : _c.command)) !== null && _d !== void 0 ? _d : defaultScript : defaultScript;
18
+ return {
19
+ name: exports.SBOM_BUILD_JOB_NAME,
20
+ stage: "build",
21
+ envMode: "jobPerEnv",
22
+ variables: {},
23
+ cache: undefined,
24
+ image: image,
25
+ script: script,
26
+ allow_failure: true,
27
+ artifacts: {
28
+ paths: [exports.SBOM_FILE]
29
+ }
30
+ };
31
+ };
32
+ exports.createSbomBuildJob = createSbomBuildJob;
@@ -1,46 +1,100 @@
1
- import type { GitlabJobImage, GitlabJobService } from "../types";
2
- import type { CatladderJob } from "../types/jobs";
3
- export declare type BuildConfigBase = {
1
+ import type { Artifacts, EnvVars, GitlabJobImage } from "../types";
2
+ import type { Services } from "../types/gitlab-ci-yml";
3
+ import type { CatladderJob, CatladderJobCache } from "../types/jobs";
4
+ export type CacheConfigAdvanced = Omit<CatladderJobCache, "paths" | "key"> & {
5
+ /**
6
+ * if you set a key, the cache is scoped to the key. Be aware that there is a limit in gitlab of 4 caches.
7
+ *
8
+ * see https://gitlab.com/gitlab-org/gitlab/-/issues/421962
9
+ */
10
+ key: Required<CatladderJobCache>["key"];
11
+ /**
12
+ * whether the cache is scoped to the context (component or workspace) or the build directory.
13
+ *
14
+ * defaults to context
15
+ */
16
+ scope?: "context" | "buildDir" | "global";
17
+ } & CacheConfigSimple;
18
+ export type CacheConfigSimple = {
19
+ /**
20
+ * paths to cache. All Paths are relative to the context dir.
21
+ */
22
+ paths: string[];
23
+ /**
24
+ * whether paths are relative to the base dir. defaults to relative.
25
+ */
26
+ pathMode?: "relative" | "absolute";
27
+ /**
28
+ * custom base dir
29
+ */
30
+ baseDir?: string;
31
+ };
32
+ export type CacheConfig = CacheConfigSimple | CacheConfigAdvanced;
33
+ export type BuildConfigArtifactsReports = {
34
+ /**
35
+ * The junit report collects JUnit report format XML files.
36
+ * The collected Unit test reports upload to GitLab as an artifact.
37
+ * Paths are prefixed with component's root folder.
38
+ * eg. `["dist/test-results/TEST-*.xml", "dist/rspec.xml", ...]`
39
+ */
40
+ junit?: string[];
41
+ };
42
+ export type WithCacheConfig = {
43
+ cache?: CacheConfig | CacheConfig[];
44
+ /**
45
+ * customize cache for the job
46
+ *
47
+ * @deprecated use cache
48
+ */
49
+ jobCache?: CatladderJob["cache"];
50
+ };
51
+ export type TestJobCustom = {
52
+ command?: string | string[];
53
+ jobImage?: GitlabJobImage;
54
+ /**
55
+ * additional CI/CD artifacts reports,
56
+ * use to display information in merge requests, pipeline views and security dashboards.
57
+ */
58
+ artifactsReports?: BuildConfigArtifactsReports;
59
+ /**
60
+ * GitLab {@link Artifacts} configuration.
61
+ *
62
+ * {@link TestJobCustom.artifacts}.reports.junit is merged with {@link TestJobCustom.artifactsReports} in case both given.
63
+ */
64
+ artifacts?: Artifacts;
65
+ };
66
+ export type BuildConfigBase = {
4
67
  /**
5
68
  * command to run on the image to start the app (e.g. yarn start)
6
69
  */
7
70
  startCommand?: string;
8
71
  /**
9
- * additional env vars for the buid jobs
72
+ * vars that only exist in the build jobs.
73
+ * Can curently not reference other variables from other components
10
74
  */
11
- extraVars?: Record<string, string>;
75
+ jobVars?: EnvVars;
12
76
  /**
13
- * define the build command
77
+ * additional vars only for the runner.
78
+ * Also if you use services: that require env vars, you need to set them here.
79
+ *
14
80
  */
15
- buildCommand?: string | string[] | null;
81
+ runnerVariables?: Record<string, string>;
16
82
  /**
17
- * customize docker build
83
+ * define the build command
18
84
  */
19
- docker?: {
20
- additionsBegin?: string[];
21
- additionsEnd?: string[];
22
- };
85
+ buildCommand?: string | string[] | null;
23
86
  /**
24
87
  * customize lint, set false to disable
25
88
  */
26
- lint?: false | {
27
- command?: string | string[];
28
- jobImage?: GitlabJobImage;
29
- };
89
+ lint?: false | TestJobCustom;
30
90
  /**
31
91
  * customize test, set false to disable
32
92
  */
33
- test?: false | {
34
- command?: string | string[];
35
- jobImage?: GitlabJobImage;
36
- };
93
+ test?: false | TestJobCustom;
37
94
  /**
38
95
  * customize audit, set false to disable
39
96
  */
40
- audit?: false | {
41
- command?: string | string[];
42
- jobImage?: GitlabJobImage;
43
- };
97
+ audit?: false | TestJobCustom;
44
98
  /**
45
99
  * additional paths for artifacts,
46
100
  * by default "dist" and ".next" are allways included
@@ -50,73 +104,109 @@ export declare type BuildConfigBase = {
50
104
  * additional CI/CD artifacts reports,
51
105
  * use to display information in merge requests, pipeline views and security dashboards.
52
106
  */
53
- artifactsReports?: {
54
- /**
55
- * The junit report collects JUnit report format XML files.
56
- * The collected Unit test reports upload to GitLab as an artifact.
57
- * Paths are prefixed with component's root folder.
58
- * eg. `["dist/test-results/TEST-*.xml", "dist/rspec.xml", ...]`
59
- */
60
- junit?: string[];
61
- };
107
+ artifactsReports?: BuildConfigArtifactsReports;
108
+ /**
109
+ * customize cache for the job
110
+ *
111
+ * @deprecated use cache
112
+ */
113
+ jobCache?: CatladderJob["cache"];
114
+ /**
115
+ * tags for the underlying job runner (e.g gitlab)
116
+ */
117
+ jobTags?: string[];
118
+ /**
119
+ * custom image to use
120
+ */
121
+ jobImage?: GitlabJobImage;
122
+ } & WithCacheConfig;
123
+ export type BuildConfigNodeBase = BuildConfigBase & {
124
+ /**
125
+ * runs a command after yarn install. postinstall in package.json won't work for yarn plug and play.
126
+ * the command will be invoked in the component dir.
127
+ */
128
+ postInstall?: string | string[];
62
129
  };
63
- export declare type BuildConfigNodeBase = BuildConfigBase;
64
- export declare type BuildConfigNode = {
130
+ export type BuildConfigNode = {
65
131
  type: "node";
132
+ docker?: Omit<BuildConfigDockerBuiltInNode, "type"> | BuildConfigDocker;
66
133
  } & BuildConfigNodeBase;
67
- export declare type BuildConfigNodeStatic = BuildConfigNodeBase & {
134
+ export type BuildConfigNodeStatic = BuildConfigNodeBase & {
135
+ /**
136
+ * @deprecated use type: "node" and docker: { type: "nginx" } instead
137
+ */
68
138
  type: "node-static";
69
139
  startCommand?: never;
140
+ docker?: Omit<BuildConfigDockerBuiltInNgninx, "type"> | BuildConfigDocker;
70
141
  };
71
- export declare type BuildConfigMeteor = BuildConfigNodeBase & {
142
+ export type BuildConfigMeteor = BuildConfigNodeBase & {
72
143
  type: "meteor";
73
144
  /**
74
145
  * whether to run yarn install inside the source folder in the docker image.
75
146
  * This is only required if you have custom scripts in your image
76
147
  */
77
148
  installScripts?: boolean;
149
+ docker?: Omit<BuildConfigDockerBuiltInMeteor, "type"> | BuildConfigDocker;
78
150
  };
79
- export declare type BuildConfigCustomDocker = BuildConfigBase["docker"] & ({
151
+ export type BuildConfigNodeLike = BuildConfigNode | BuildConfigNodeStatic | BuildConfigStorybook | BuildConfigMeteor;
152
+ type BuildConfigDockerWithAdditions = {
153
+ /**
154
+ * Custom Dockerfile lines integrated in the generated Dockerfile before the standard build steps.
155
+ *
156
+ */
157
+ additionsBegin?: string[];
158
+ /**
159
+ * Custom Dockerfile lines integrated in the generated Dockerfile after the standard build steps.
160
+ *
161
+ */
162
+ additionsEnd?: string[];
163
+ };
164
+ type BuildConfigDockerBuiltInNode = {
165
+ type: "node";
166
+ } & BuildConfigDockerWithAdditions;
167
+ type BuildConfigDockerBuiltInMeteor = {
168
+ type: "meteor";
169
+ } & BuildConfigDockerWithAdditions;
170
+ type BuildConfigDockerBuiltInNgninx = {
80
171
  /**
81
172
  * use the built-in nginx image for simple static apps
82
173
  */
83
174
  type: "nginx";
84
- } | {
175
+ } & BuildConfigDockerWithAdditions;
176
+ type BuildConfigDockerBuiltIn = BuildConfigDockerBuiltInNgninx | BuildConfigDockerBuiltInNode | BuildConfigDockerBuiltInMeteor;
177
+ type BuildConfigDockerCustom = {
85
178
  /**
86
179
  * custom docker build, expect that a Dockerfile in your directory
87
180
  */
88
181
  type: "custom";
89
- });
90
- export declare type BuildConfigCustom = Omit<BuildConfigBase, "lint" | "test" | "audit"> & {
182
+ /**
183
+ * where to run the docker build, defaults to the root of the repo.
184
+ *
185
+ * Depending on your Dockerfile you may want to change it to "component"
186
+ */
187
+ buildContextLocation?: "root" | "component";
188
+ };
189
+ export type BuildConfigDocker = BuildConfigDockerBuiltIn | BuildConfigDockerCustom;
190
+ export type BuildConfigCustom = Omit<BuildConfigBase, "lint" | "test" | "audit"> & {
91
191
  type: "custom";
92
- jobImage: string;
93
- jobServices?: GitlabJobService[];
94
- docker: BuildConfigCustomDocker;
192
+ jobImage: GitlabJobImage;
95
193
  /**
96
- * customize cache for the job
194
+ * {@link Services}s used in lint, test, audit, and build jobs.
97
195
  */
98
- jobCache?: CatladderJob["cache"];
196
+ jobServices?: Services;
197
+ docker: BuildConfigDocker;
99
198
  /**
100
199
  * custom lint, disabled when not set
101
200
  */
102
- lint?: {
103
- command?: string | string[];
104
- jobImage?: GitlabJobImage;
105
- };
201
+ lint?: TestJobCustom;
106
202
  /**
107
203
  * custom test, disabled when not set
108
204
  */
109
- test?: {
110
- command?: string | string[];
111
- jobImage?: GitlabJobImage;
112
- };
205
+ test?: TestJobCustom;
113
206
  /**
114
207
  * custom audit, disabled when not set
115
208
  */
116
- audit?: {
117
- command?: string | string[];
118
- jobImage?: GitlabJobImage;
119
- };
209
+ audit?: TestJobCustom;
120
210
  /**
121
211
  * custom sbom (software bill of materials), set false to disable
122
212
  */
@@ -128,8 +218,13 @@ export declare type BuildConfigCustom = Omit<BuildConfigBase, "lint" | "test" |
128
218
  jobImage: GitlabJobImage;
129
219
  };
130
220
  };
131
- export declare type BuildConfigRails = BuildConfigBase & {
221
+ export type BuildConfigRails = BuildConfigBase & {
132
222
  type: "rails";
223
+ /**
224
+ * The [Cloud Native Buildpacks](https://buildpacks.io/) builder configuration.
225
+ *
226
+ * Only applies when there is no `Dockerfile`.
227
+ */
133
228
  cnbBuilder?: {
134
229
  /**
135
230
  * The Cloud Native Buildpacks builder image to use.
@@ -158,25 +253,77 @@ export declare type BuildConfigRails = BuildConfigBase & {
158
253
  buildVars?: Record<string, string | undefined>;
159
254
  };
160
255
  };
161
- export declare type BuildConfigStorybook = BuildConfigNodeBase & {
256
+ export type BuildConfigStorybook = BuildConfigNodeBase & {
257
+ /**
258
+ * @deprecated use type: "node" and docker: { type: "nginx" } instead
259
+ */
162
260
  type: "storybook";
163
261
  startCommand?: never;
164
262
  };
165
- export declare type BuildConfig = BuildConfigNode | BuildConfigNodeStatic | BuildConfigStorybook | BuildConfigMeteor | BuildConfigCustom | BuildConfigRails;
166
- export declare type BuildConfigType = BuildConfig["type"];
167
- export declare type BuildConfigGeneric<T extends BuildConfigType> = Extract<BuildConfig, {
263
+ export type BuildConfigFromWorkspace = {
264
+ from: string;
265
+ docker?: BuildConfigDocker;
266
+ startCommand?: string;
267
+ /**
268
+ * additional paths for artifacts,
269
+ * by default "dist" and ".next" are allways included
270
+ */
271
+ artifactsPaths?: string[];
272
+ } & WithCacheConfig;
273
+ export type BuildConfigStandalone = BuildConfigNode | BuildConfigNodeStatic | BuildConfigStorybook | BuildConfigMeteor | BuildConfigCustom | BuildConfigRails;
274
+ export type BuildConfig = BuildConfigFromWorkspace | BuildConfigStandalone;
275
+ export type BuildConfigStandaloneType = BuildConfigStandalone["type"];
276
+ export type BuildConfigGeneric<T extends BuildConfigStandaloneType> = Extract<BuildConfig, {
168
277
  type: T;
169
278
  }>;
170
- export declare const isOfBuildType: <T extends ("node" | "node-static" | "meteor" | "custom" | "rails" | "storybook")[]>(t: BuildConfig, ...types: T) => t is Extract<BuildConfigNode, {
279
+ export declare const isStandaloneBuildConfig: (t: BuildConfig | false) => t is BuildConfigStandalone;
280
+ export declare const isOfBuildType: <T extends ("node" | "custom" | "rails" | "meteor" | "node-static" | "storybook")[]>(t: BuildConfig, ...types: T) => t is Extract<BuildConfigNode, {
171
281
  type: T[number];
172
282
  }> | Extract<BuildConfigNodeStatic, {
173
283
  type: T[number];
284
+ }> | Extract<BuildConfigStorybook, {
285
+ type: T[number];
174
286
  }> | Extract<BuildConfigMeteor, {
175
287
  type: T[number];
176
288
  }> | Extract<BuildConfigCustom, {
177
289
  type: T[number];
178
290
  }> | Extract<BuildConfigRails, {
179
291
  type: T[number];
180
- }> | Extract<BuildConfigStorybook, {
181
- type: T[number];
182
- }>;
292
+ }>;
293
+ export type WorkspaceBuildConfigBase = {
294
+ dir?: string;
295
+ /**
296
+ * customize lint, set false to disable
297
+ */
298
+ lint?: false | TestJobCustom;
299
+ /**
300
+ * customize test, set false to disable
301
+ */
302
+ test?: false | TestJobCustom;
303
+ /**
304
+ * customize audit, set false to disable
305
+ */
306
+ audit?: false | TestJobCustom;
307
+ /**
308
+ * additional vars only for the runner.
309
+ * Also if you use services: that require env vars, you need to set them here.
310
+ *
311
+ */
312
+ runnerVariables?: Record<string, string>;
313
+ /**
314
+ * additional CI/CD artifacts reports,
315
+ * use to display information in merge requests, pipeline views and security dashboards.
316
+ */
317
+ artifactsReports?: BuildConfigArtifactsReports;
318
+ jobImage?: GitlabJobImage;
319
+ /**
320
+ * tags for the underlying job runner (e.g gitlab)
321
+ */
322
+ jobTags?: string[];
323
+ } & WithCacheConfig;
324
+ export type WorkspaceBuildConfigNode = {
325
+ type: "node";
326
+ buildCommand?: string | string[];
327
+ } & WorkspaceBuildConfigBase;
328
+ export type WorkspaceBuildConfig = WorkspaceBuildConfigNode;
329
+ export {};
@@ -1,12 +1,20 @@
1
1
  "use strict";
2
2
 
3
- exports.__esModule = true;
4
- exports.isOfBuildType = void 0;
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.isOfBuildType = exports.isStandaloneBuildConfig = void 0;
7
+ var isStandaloneBuildConfig = function (t) {
8
+ if (!t) return false;
9
+ return !("from" in t);
10
+ };
11
+ exports.isStandaloneBuildConfig = isStandaloneBuildConfig;
5
12
  var isOfBuildType = function (t) {
6
13
  var types = [];
7
14
  for (var _i = 1; _i < arguments.length; _i++) {
8
15
  types[_i - 1] = arguments[_i];
9
16
  }
17
+ if (!(0, exports.isStandaloneBuildConfig)(t)) return false;
10
18
  return types.includes(t.type);
11
19
  };
12
20
  exports.isOfBuildType = isOfBuildType;