@catladder/pipeline 1.144.0 โ†’ 1.145.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (307) hide show
  1. package/dist/bash/BashExpression.d.ts +40 -0
  2. package/dist/bash/BashExpression.js +124 -0
  3. package/dist/bash/bashExpressionPerPipelineType.d.ts +6 -0
  4. package/dist/bash/bashExpressionPerPipelineType.js +11 -0
  5. package/dist/bash/bashYaml.d.ts +10 -0
  6. package/dist/bash/bashYaml.js +46 -0
  7. package/dist/bash/getInjectVarsScript.d.ts +2 -0
  8. package/dist/bash/getInjectVarsScript.js +45 -0
  9. package/dist/bash/replaceAsync.d.ts +2 -0
  10. package/dist/{pipeline/commitInfo/getCommitInfo.js โ†’ bash/replaceAsync.js} +49 -21
  11. package/dist/build/base/__tests__/createArtifactsConfig.test.js +3 -1
  12. package/dist/build/base/constants.js +3 -1
  13. package/dist/build/base/createAppBuildJob.d.ts +2 -1
  14. package/dist/build/base/createAppBuildJob.js +10 -6
  15. package/dist/build/base/createArtifactsConfig.d.ts +1 -1
  16. package/dist/build/base/createArtifactsConfig.js +3 -1
  17. package/dist/build/base/index.js +3 -1
  18. package/dist/build/base/writeBuildInfo.js +4 -3
  19. package/dist/build/base/writeDotEnv.js +12 -3
  20. package/dist/build/custom/__tests__/testJob.test.js +3 -1
  21. package/dist/build/custom/buildJob.js +4 -12
  22. package/dist/build/custom/index.js +3 -1
  23. package/dist/build/custom/testJob.d.ts +1 -1
  24. package/dist/build/custom/testJob.js +18 -14
  25. package/dist/build/docker.d.ts +5 -31
  26. package/dist/build/docker.js +16 -9
  27. package/dist/build/index.d.ts +1 -1
  28. package/dist/build/index.js +13 -7
  29. package/dist/build/node/buildJob.js +4 -12
  30. package/dist/build/node/cache.js +6 -3
  31. package/dist/build/node/constants.js +3 -1
  32. package/dist/build/node/index.js +3 -1
  33. package/dist/build/node/meteor.js +5 -2
  34. package/dist/build/node/testJob.js +18 -14
  35. package/dist/build/node/yarn.d.ts +3 -2
  36. package/dist/build/node/yarn.js +6 -3
  37. package/dist/build/rails/build.js +3 -1
  38. package/dist/build/rails/index.js +3 -1
  39. package/dist/build/rails/test.js +15 -11
  40. package/dist/build/sbom.js +3 -1
  41. package/dist/build/types.d.ts +24 -18
  42. package/dist/build/types.js +3 -1
  43. package/dist/bundles/catladder-gitlab/index.js +3 -3
  44. package/dist/catladder-gitlab.js +10 -54
  45. package/dist/config/__tests__/configruedEnvs.test.js +3 -1
  46. package/dist/config/configruedEnvs.js +3 -1
  47. package/dist/config/index.js +13 -7
  48. package/dist/config/readConfig.js +6 -5
  49. package/dist/constants.js +5 -3
  50. package/dist/context/__tests__/resolveReferences.test.js +40 -8
  51. package/dist/context/getBuildInfoVariables.d.ts +7 -0
  52. package/dist/context/getBuildInfoVariables.js +29 -0
  53. package/dist/context/getEnvConfig.js +3 -1
  54. package/dist/context/getEnvType.js +3 -1
  55. package/dist/context/getEnvironment.d.ts +3 -3
  56. package/dist/context/getEnvironment.js +10 -14
  57. package/dist/context/getEnvironmentContext.d.ts +7 -3
  58. package/dist/context/getEnvironmentContext.js +21 -11
  59. package/dist/context/getEnvironmentVariables.d.ts +26 -5
  60. package/dist/context/getEnvironmentVariables.js +41 -25
  61. package/dist/context/getLabels.js +4 -2
  62. package/dist/context/getReviewSlug.d.ts +4 -0
  63. package/dist/context/getReviewSlug.js +22 -0
  64. package/dist/context/index.d.ts +12 -3
  65. package/dist/context/index.js +21 -15
  66. package/dist/context/resolveReferences.d.ts +3 -1
  67. package/dist/context/resolveReferences.js +53 -21
  68. package/dist/context/transformJobOnlyVars.d.ts +5 -2
  69. package/dist/context/transformJobOnlyVars.js +4 -2
  70. package/dist/context/utils/envVars.d.ts +1 -1
  71. package/dist/context/utils/envVars.js +5 -2
  72. package/dist/defaults/index.js +3 -1
  73. package/dist/deploy/base/deploy.d.ts +1 -1
  74. package/dist/deploy/base/deploy.js +12 -11
  75. package/dist/deploy/base/index.js +3 -1
  76. package/dist/deploy/base/rollback.d.ts +1 -1
  77. package/dist/deploy/base/rollback.js +13 -9
  78. package/dist/deploy/base/stop.d.ts +1 -1
  79. package/dist/deploy/base/stop.js +16 -11
  80. package/dist/deploy/base/types.d.ts +1 -1
  81. package/dist/deploy/base/types.js +3 -1
  82. package/dist/deploy/base/variables.js +3 -1
  83. package/dist/deploy/cloudRun/artifactsRegistry.d.ts +2 -1
  84. package/dist/deploy/cloudRun/artifactsRegistry.js +6 -4
  85. package/dist/deploy/cloudRun/cleanup.js +3 -1
  86. package/dist/deploy/cloudRun/cloudRunRevisions.js +3 -1
  87. package/dist/deploy/cloudRun/createJobs/cloudRunJobs.js +8 -5
  88. package/dist/deploy/cloudRun/createJobs/cloudRunServices.d.ts +2 -2
  89. package/dist/deploy/cloudRun/createJobs/cloudRunServices.js +6 -3
  90. package/dist/deploy/cloudRun/createJobs/common.d.ts +3 -3
  91. package/dist/deploy/cloudRun/createJobs/common.js +3 -1
  92. package/dist/deploy/cloudRun/createJobs/constants.d.ts +1 -0
  93. package/dist/deploy/cloudRun/createJobs/constants.js +7 -0
  94. package/dist/deploy/cloudRun/createJobs/getCloudRunDeployScripts.js +9 -2
  95. package/dist/deploy/cloudRun/createJobs/getCloudRunStopScripts.js +3 -1
  96. package/dist/deploy/cloudRun/createJobs/index.js +25 -8
  97. package/dist/deploy/cloudRun/createJobs/volumes.js +3 -1
  98. package/dist/deploy/cloudRun/index.js +5 -3
  99. package/dist/deploy/cloudRun/utils/createArgsString.d.ts +2 -1
  100. package/dist/deploy/cloudRun/utils/createArgsString.js +3 -1
  101. package/dist/deploy/cloudRun/utils/database.js +13 -13
  102. package/dist/deploy/cloudRun/utils/gcloudServiceAccountLoginCommands.js +3 -1
  103. package/dist/deploy/cloudRun/utils/getServiceName.d.ts +1 -1
  104. package/dist/deploy/cloudRun/utils/getServiceName.js +3 -1
  105. package/dist/deploy/cloudRun/utils/jobName.d.ts +2 -1
  106. package/dist/deploy/cloudRun/utils/jobName.js +4 -2
  107. package/dist/deploy/cloudRun/utils/removeFirstLinesFromCommandOutput.js +3 -1
  108. package/dist/deploy/cloudSql/utils.d.ts +2 -1
  109. package/dist/deploy/cloudSql/utils.js +7 -2
  110. package/dist/deploy/custom/deployJob.js +3 -1
  111. package/dist/deploy/custom/index.js +3 -1
  112. package/dist/deploy/dockerTag/deployJob.js +3 -1
  113. package/dist/deploy/dockerTag/index.js +3 -1
  114. package/dist/deploy/index.d.ts +4 -3
  115. package/dist/deploy/index.js +13 -7
  116. package/dist/deploy/kubernetes/additionalSecretKeys.js +3 -1
  117. package/dist/deploy/kubernetes/cloudSql/index.d.ts +3 -2
  118. package/dist/deploy/kubernetes/cloudSql/index.js +6 -4
  119. package/dist/deploy/kubernetes/deployJob.js +22 -15
  120. package/dist/deploy/kubernetes/index.js +51 -14
  121. package/dist/deploy/kubernetes/kubeEnv.d.ts +3 -2
  122. package/dist/deploy/kubernetes/kubeEnv.js +7 -4
  123. package/dist/deploy/kubernetes/kubeValues.d.ts +2 -2
  124. package/dist/deploy/kubernetes/kubeValues.js +3 -2
  125. package/dist/deploy/kubernetes/mongodb.js +3 -1
  126. package/dist/deploy/kubernetes/processSecretsAsFiles.d.ts +2 -1
  127. package/dist/deploy/kubernetes/processSecretsAsFiles.js +3 -1
  128. package/dist/deploy/sbom.js +3 -1
  129. package/dist/deploy/types/base.d.ts +8 -2
  130. package/dist/deploy/types/base.js +3 -1
  131. package/dist/deploy/types/custom.d.ts +1 -1
  132. package/dist/deploy/types/custom.js +3 -1
  133. package/dist/deploy/types/dockerTag.d.ts +1 -1
  134. package/dist/deploy/types/dockerTag.js +3 -1
  135. package/dist/deploy/types/googleCloudRun.d.ts +19 -18
  136. package/dist/deploy/types/googleCloudRun.js +3 -1
  137. package/dist/deploy/types/index.d.ts +6 -6
  138. package/dist/deploy/types/index.js +13 -7
  139. package/dist/deploy/types/kubernetes.d.ts +22 -22
  140. package/dist/deploy/types/kubernetes.js +3 -1
  141. package/dist/deploy/utils.js +3 -1
  142. package/dist/index.d.ts +3 -2
  143. package/dist/index.js +16 -9
  144. package/dist/packageInfos.d.ts +2 -0
  145. package/dist/packageInfos.js +14 -0
  146. package/dist/pipeline/createAllJobs.d.ts +13 -5
  147. package/dist/pipeline/createAllJobs.js +21 -10
  148. package/dist/pipeline/createChildPipeline.d.ts +1 -1
  149. package/dist/pipeline/createChildPipeline.js +24 -7
  150. package/dist/pipeline/createJobsForComponent.d.ts +3 -3
  151. package/dist/pipeline/createJobsForComponent.js +19 -18
  152. package/dist/pipeline/createMainPipeline.d.ts +3 -0
  153. package/dist/pipeline/createMainPipeline.js +248 -0
  154. package/dist/pipeline/generatePipelineFiles.d.ts +2 -0
  155. package/dist/pipeline/generatePipelineFiles.js +178 -0
  156. package/dist/pipeline/getPipelineStages.js +3 -1
  157. package/dist/pipeline/gitlab/createGitlabJobs.d.ts +15 -5
  158. package/dist/pipeline/gitlab/createGitlabJobs.js +98 -25
  159. package/dist/pipeline/gitlab/createGitlabPipeline.d.ts +7 -2
  160. package/dist/pipeline/gitlab/createGitlabPipeline.js +34 -17
  161. package/dist/pipeline/gitlab/getPipelineTriggerForGitlabChildPipeline.d.ts +1 -0
  162. package/dist/pipeline/gitlab/getPipelineTriggerForGitlabChildPipeline.js +29 -0
  163. package/dist/pipeline/gitlab/gitlabReleaseJobs.d.ts +33 -0
  164. package/dist/pipeline/gitlab/gitlabReleaseJobs.js +24 -0
  165. package/dist/pipeline/index.d.ts +3 -1
  166. package/dist/pipeline/index.js +16 -8
  167. package/dist/pipeline/packageManager.js +4 -2
  168. package/dist/pipeline/yarn/yarnUtils.js +6 -4
  169. package/dist/rules/index.d.ts +4 -1
  170. package/dist/rules/index.js +25 -18
  171. package/dist/runner/index.d.ts +1 -1
  172. package/dist/runner/index.js +3 -1
  173. package/dist/tsconfig.tsbuildinfo +1 -1
  174. package/dist/types/config.d.ts +18 -15
  175. package/dist/types/config.js +5 -2
  176. package/dist/types/context.d.ts +37 -32
  177. package/dist/types/context.js +3 -1
  178. package/dist/types/environmentContext.d.ts +11 -7
  179. package/dist/types/environmentContext.js +3 -1
  180. package/dist/types/gitlab-ci-yml.d.ts +30 -30
  181. package/dist/types/gitlab-ci-yml.js +3 -2
  182. package/dist/types/gitlab-types.d.ts +4 -6
  183. package/dist/types/gitlab-types.js +3 -1
  184. package/dist/types/index.js +13 -7
  185. package/dist/types/jobs.d.ts +23 -6
  186. package/dist/types/jobs.js +3 -1
  187. package/dist/types/pipeline.d.ts +4 -3
  188. package/dist/types/pipeline.js +3 -1
  189. package/dist/types/utils.d.ts +1 -1
  190. package/dist/types/utils.js +3 -1
  191. package/dist/utils/gitlab.js +3 -1
  192. package/dist/utils/index.d.ts +1 -1
  193. package/dist/utils/index.js +3 -1
  194. package/dist/utils/writeFiles.d.ts +7 -0
  195. package/dist/{pipeline/commitInfo/getBuildId.js โ†’ utils/writeFiles.js} +39 -22
  196. package/examples/__snapshots__/cloud-run-memory-limit.ts.snap +480 -384
  197. package/examples/__snapshots__/cloud-run-meteor-with-worker.ts.snap +462 -366
  198. package/examples/__snapshots__/cloud-run-no-cpu-throttling.ts.snap +480 -384
  199. package/examples/__snapshots__/cloud-run-no-service.ts.snap +501 -393
  200. package/examples/__snapshots__/cloud-run-non-public.ts.snap +480 -384
  201. package/examples/__snapshots__/cloud-run-post-stop-job.ts.snap +489 -392
  202. package/examples/__snapshots__/cloud-run-service-gen2.ts.snap +480 -384
  203. package/examples/__snapshots__/cloud-run-service-with-volumes.ts.snap +501 -401
  204. package/examples/__snapshots__/cloud-run-with-sql-reuse-db.ts.snap +1155 -915
  205. package/examples/__snapshots__/cloud-run-with-sql.ts.snap +1116 -888
  206. package/examples/__snapshots__/cloud-run-with-worker.ts.snap +482 -386
  207. package/examples/__snapshots__/custom-build-job-with-tests.ts.snap +452 -356
  208. package/examples/__snapshots__/custom-build-job.ts.snap +434 -350
  209. package/examples/__snapshots__/custom-deploy.ts.snap +319 -223
  210. package/examples/__snapshots__/custom-envs.ts.snap +123 -81
  211. package/examples/__snapshots__/custom-sbom-java.ts.snap +434 -350
  212. package/examples/__snapshots__/kubernetes-application-customization.ts.snap +846 -969
  213. package/examples/__snapshots__/kubernetes-with-cloud-sql-legacy.ts.snap +886 -957
  214. package/examples/__snapshots__/kubernetes-with-cloud-sql.ts.snap +894 -969
  215. package/examples/__snapshots__/kubernetes-with-jobs.ts.snap +1626 -1728
  216. package/examples/__snapshots__/kubernetes-with-mongodb.ts.snap +974 -1137
  217. package/examples/__snapshots__/local-dot-env.ts.snap +480 -384
  218. package/examples/__snapshots__/meteor-kubernetes.ts.snap +906 -1069
  219. package/examples/__snapshots__/multiline-var.ts.snap +4500 -0
  220. package/examples/__snapshots__/native-app.ts.snap +706 -578
  221. package/examples/__snapshots__/node-build-with-custom-image.ts.snap +480 -384
  222. package/examples/__snapshots__/node-build-with-docker-additions.ts.snap +488 -384
  223. package/examples/__snapshots__/rails-k8s-with-worker.ts.snap +1656 -1942
  224. package/examples/__snapshots__/wait-for-other-deploy.ts.snap +287 -231
  225. package/examples/custom-deploy.ts +7 -7
  226. package/examples/multiline-var.ts +64 -0
  227. package/package.json +5 -8
  228. package/src/bash/BashExpression.ts +81 -0
  229. package/src/bash/bashExpressionPerPipelineType.ts +16 -0
  230. package/src/bash/bashYaml.ts +46 -0
  231. package/src/bash/getInjectVarsScript.ts +12 -0
  232. package/src/bash/replaceAsync.ts +50 -0
  233. package/src/build/base/createAppBuildJob.ts +6 -2
  234. package/src/build/base/writeBuildInfo.ts +1 -1
  235. package/src/build/base/writeDotEnv.ts +6 -1
  236. package/src/build/custom/buildJob.ts +2 -4
  237. package/src/build/custom/testJob.ts +3 -2
  238. package/src/build/docker.ts +15 -7
  239. package/src/build/node/buildJob.ts +1 -3
  240. package/src/build/node/testJob.ts +3 -2
  241. package/src/build/node/yarn.ts +9 -4
  242. package/src/build/rails/test.ts +2 -1
  243. package/src/build/types.ts +8 -1
  244. package/src/catladder-gitlab.ts +8 -55
  245. package/src/config/readConfig.ts +2 -3
  246. package/src/constants.ts +5 -2
  247. package/src/context/__tests__/resolveReferences.test.ts +11 -6
  248. package/src/context/getBuildInfoVariables.ts +40 -0
  249. package/src/context/getEnvironment.ts +7 -30
  250. package/src/context/getEnvironmentContext.ts +25 -29
  251. package/src/context/getEnvironmentVariables.ts +61 -36
  252. package/src/context/getReviewSlug.ts +27 -0
  253. package/src/context/index.ts +24 -23
  254. package/src/context/resolveReferences.ts +28 -8
  255. package/src/context/transformJobOnlyVars.ts +5 -2
  256. package/src/context/utils/envVars.ts +2 -1
  257. package/src/deploy/base/deploy.ts +20 -18
  258. package/src/deploy/base/rollback.ts +8 -10
  259. package/src/deploy/base/stop.ts +8 -9
  260. package/src/deploy/cloudRun/artifactsRegistry.ts +9 -4
  261. package/src/deploy/cloudRun/createJobs/cloudRunJobs.ts +12 -7
  262. package/src/deploy/cloudRun/createJobs/cloudRunServices.ts +3 -2
  263. package/src/deploy/cloudRun/createJobs/constants.ts +1 -0
  264. package/src/deploy/cloudRun/createJobs/getCloudRunDeployScripts.ts +20 -2
  265. package/src/deploy/cloudRun/createJobs/index.ts +17 -8
  266. package/src/deploy/cloudRun/index.ts +14 -6
  267. package/src/deploy/cloudRun/utils/createArgsString.ts +2 -1
  268. package/src/deploy/cloudRun/utils/database.ts +2 -2
  269. package/src/deploy/cloudRun/utils/jobName.ts +7 -2
  270. package/src/deploy/cloudSql/utils.ts +12 -9
  271. package/src/deploy/index.ts +2 -1
  272. package/src/deploy/kubernetes/cloudSql/index.ts +3 -2
  273. package/src/deploy/kubernetes/deployJob.ts +24 -10
  274. package/src/deploy/kubernetes/index.ts +15 -8
  275. package/src/deploy/kubernetes/kubeEnv.ts +8 -6
  276. package/src/deploy/kubernetes/kubeValues.ts +0 -1
  277. package/src/deploy/kubernetes/processSecretsAsFiles.ts +2 -1
  278. package/src/deploy/types/base.ts +6 -0
  279. package/src/deploy/types/googleCloudRun.ts +2 -0
  280. package/src/index.ts +2 -1
  281. package/src/packageInfos.ts +10 -0
  282. package/src/pipeline/createAllJobs.ts +24 -10
  283. package/src/pipeline/createChildPipeline.ts +19 -8
  284. package/src/pipeline/createJobsForComponent.ts +14 -22
  285. package/src/pipeline/createMainPipeline.ts +88 -0
  286. package/src/pipeline/generatePipelineFiles.ts +29 -0
  287. package/src/pipeline/gitlab/createGitlabJobs.ts +174 -51
  288. package/src/pipeline/gitlab/createGitlabPipeline.ts +16 -14
  289. package/src/pipeline/gitlab/getPipelineTriggerForGitlabChildPipeline.ts +46 -0
  290. package/src/pipeline/gitlab/gitlabReleaseJobs.ts +20 -0
  291. package/src/pipeline/index.ts +2 -0
  292. package/src/rules/index.ts +15 -9
  293. package/src/types/config.ts +11 -2
  294. package/src/types/context.ts +39 -26
  295. package/src/types/environmentContext.ts +12 -6
  296. package/src/types/gitlab-ci-yml.ts +0 -1
  297. package/src/types/gitlab-types.ts +5 -4
  298. package/src/types/jobs.ts +28 -3
  299. package/src/types/pipeline.ts +4 -0
  300. package/src/utils/writeFiles.ts +40 -0
  301. package/dist/deploy/cloudRun/createJobs/variables.d.ts +0 -5
  302. package/dist/deploy/cloudRun/createJobs/variables.js +0 -19
  303. package/dist/pipeline/commitInfo/getBuildId.d.ts +0 -6
  304. package/dist/pipeline/commitInfo/getCommitInfo.d.ts +0 -2
  305. package/src/deploy/cloudRun/createJobs/variables.ts +0 -21
  306. package/src/pipeline/commitInfo/getBuildId.ts +0 -17
  307. package/src/pipeline/commitInfo/getCommitInfo.ts +0 -15
@@ -33,6 +33,9 @@ exports[`matches snapshot 1`] = `
33
33
  ],
34
34
  },
35
35
  "script": [
36
+ "echo -e "\\e[0Ksection_start:$(date +%s):injectvars[collapsed=true]\\r\\e[0KInjecting variables"",
37
+ "export APP_PATH="api"",
38
+ "echo -e "\\e[0Ksection_end:$(date +%s):injectvars\\r\\e[0K"",
36
39
  "echo -e "\\e[0Ksection_start:$(date +%s):nodeinstall[collapsed=true]\\r\\e[0KEnsure node version"",
37
40
  "if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi",
38
41
  "if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi",
@@ -49,7 +52,6 @@ exports[`matches snapshot 1`] = `
49
52
  ],
50
53
  "stage": "test",
51
54
  "variables": {
52
- "APP_PATH": "api",
53
55
  "KUBERNETES_CPU_REQUEST": "0.5",
54
56
  "KUBERNETES_MEMORY_LIMIT": "4Gi",
55
57
  "KUBERNETES_MEMORY_REQUEST": "2Gi",
@@ -102,7 +104,21 @@ exports[`matches snapshot 1`] = `
102
104
  ],
103
105
  },
104
106
  "script": [
105
- "echo '{"id":"some-id","time":"01-01-2023 12:13:14"}' > api/__build_info.json",
107
+ "echo -e "\\e[0Ksection_start:$(date +%s):injectvars[collapsed=true]\\r\\e[0KInjecting variables"",
108
+ "export ENV_SHORT="asdf"",
109
+ "export APP_DIR="api"",
110
+ "export ENV_TYPE="dev"",
111
+ "export BUILD_INFO_BUILD_ID="$(git describe --tags 2>/dev/null || git rev-parse HEAD)"",
112
+ "export BUILD_INFO_BUILD_TIME="$CI_JOB_STARTED_AT"",
113
+ "export BUILD_INFO_CURRENT_VERSION="$(tag=$(git ls-remote origin "refs/tags/v*[0-9]" 2>/dev/null | cut -f 2- | sort -V | tail -1 | sed 's/refs\\/tags\\///'); [ -z "$tag" ] && echo "v0.0.0" || echo "$tag")"",
114
+ "export HOST="unknown-host.example.com"",
115
+ "export ROOT_URL="https://unknown-host.example.com"",
116
+ "export HOST_INTERNAL="unknown-host.example.com"",
117
+ "export HOST_CANONICAL="unknown-host.example.com"",
118
+ "export ROOT_URL_INTERNAL="https://unknown-host.example.com"",
119
+ "export _ALL_ENV_VAR_KEYS="[\\"ENV_SHORT\\",\\"APP_DIR\\",\\"ENV_TYPE\\",\\"BUILD_INFO_BUILD_ID\\",\\"BUILD_INFO_BUILD_TIME\\",\\"BUILD_INFO_CURRENT_VERSION\\",\\"HOST\\",\\"ROOT_URL\\",\\"HOST_INTERNAL\\",\\"HOST_CANONICAL\\",\\"ROOT_URL_INTERNAL\\"]"",
120
+ "echo -e "\\e[0Ksection_end:$(date +%s):injectvars\\r\\e[0K"",
121
+ "echo '{"id":"$(git describe --tags 2>/dev/null || git rev-parse HEAD)","time":"$CI_JOB_STARTED_AT"}' > api/__build_info.json",
106
122
  "echo -e "\\e[0Ksection_start:$(date +%s):nodeinstall[collapsed=true]\\r\\e[0KEnsure node version"",
107
123
  "if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi",
108
124
  "if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi",
@@ -118,20 +134,9 @@ exports[`matches snapshot 1`] = `
118
134
  ],
119
135
  "stage": "build",
120
136
  "variables": {
121
- "APP_DIR": "api",
122
- "BUILD_INFO_BUILD_TIME": "01-01-2023 12:13:14",
123
- "BUILD_INFO_CURRENT_VERSION": "3.2.1",
124
- "BUILD_INFO_ID": "some-id",
125
- "ENV_SHORT": "asdf",
126
- "ENV_TYPE": "dev",
127
- "HOST": "unknown-host.example.com",
128
- "HOST_CANONICAL": "unknown-host.example.com",
129
137
  "KUBERNETES_CPU_REQUEST": "0.5",
130
138
  "KUBERNETES_MEMORY_LIMIT": "4Gi",
131
139
  "KUBERNETES_MEMORY_REQUEST": "2Gi",
132
- "ROOT_URL": "https://unknown-host.example.com",
133
- "ROOT_URL_INTERNAL": "https://unknown-host.example.com",
134
- "_ALL_ENV_VAR_KEYS": "["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INFO_BUILD_TIME","BUILD_INFO_CURRENT_VERSION","HOST","ROOT_URL","HOST_CANONICAL","ROOT_URL_INTERNAL"]",
135
140
  },
136
141
  },
137
142
  "api ๐Ÿ”จ app | bla ": {
@@ -181,7 +186,21 @@ exports[`matches snapshot 1`] = `
181
186
  ],
182
187
  },
183
188
  "script": [
184
- "echo '{"id":"some-id","time":"01-01-2023 12:13:14"}' > api/__build_info.json",
189
+ "echo -e "\\e[0Ksection_start:$(date +%s):injectvars[collapsed=true]\\r\\e[0KInjecting variables"",
190
+ "export ENV_SHORT="bla"",
191
+ "export APP_DIR="api"",
192
+ "export ENV_TYPE="dev"",
193
+ "export BUILD_INFO_BUILD_ID="$(git describe --tags 2>/dev/null || git rev-parse HEAD)"",
194
+ "export BUILD_INFO_BUILD_TIME="$CI_JOB_STARTED_AT"",
195
+ "export BUILD_INFO_CURRENT_VERSION="$(tag=$(git ls-remote origin "refs/tags/v*[0-9]" 2>/dev/null | cut -f 2- | sort -V | tail -1 | sed 's/refs\\/tags\\///'); [ -z "$tag" ] && echo "v0.0.0" || echo "$tag")"",
196
+ "export HOST="unknown-host.example.com"",
197
+ "export ROOT_URL="https://unknown-host.example.com"",
198
+ "export HOST_INTERNAL="unknown-host.example.com"",
199
+ "export HOST_CANONICAL="unknown-host.example.com"",
200
+ "export ROOT_URL_INTERNAL="https://unknown-host.example.com"",
201
+ "export _ALL_ENV_VAR_KEYS="[\\"ENV_SHORT\\",\\"APP_DIR\\",\\"ENV_TYPE\\",\\"BUILD_INFO_BUILD_ID\\",\\"BUILD_INFO_BUILD_TIME\\",\\"BUILD_INFO_CURRENT_VERSION\\",\\"HOST\\",\\"ROOT_URL\\",\\"HOST_INTERNAL\\",\\"HOST_CANONICAL\\",\\"ROOT_URL_INTERNAL\\"]"",
202
+ "echo -e "\\e[0Ksection_end:$(date +%s):injectvars\\r\\e[0K"",
203
+ "echo '{"id":"$(git describe --tags 2>/dev/null || git rev-parse HEAD)","time":"$CI_JOB_STARTED_AT"}' > api/__build_info.json",
185
204
  "echo -e "\\e[0Ksection_start:$(date +%s):nodeinstall[collapsed=true]\\r\\e[0KEnsure node version"",
186
205
  "if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi",
187
206
  "if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi",
@@ -197,20 +216,9 @@ exports[`matches snapshot 1`] = `
197
216
  ],
198
217
  "stage": "build",
199
218
  "variables": {
200
- "APP_DIR": "api",
201
- "BUILD_INFO_BUILD_TIME": "01-01-2023 12:13:14",
202
- "BUILD_INFO_CURRENT_VERSION": "3.2.1",
203
- "BUILD_INFO_ID": "some-id",
204
- "ENV_SHORT": "bla",
205
- "ENV_TYPE": "dev",
206
- "HOST": "unknown-host.example.com",
207
- "HOST_CANONICAL": "unknown-host.example.com",
208
219
  "KUBERNETES_CPU_REQUEST": "0.5",
209
220
  "KUBERNETES_MEMORY_LIMIT": "4Gi",
210
221
  "KUBERNETES_MEMORY_REQUEST": "2Gi",
211
- "ROOT_URL": "https://unknown-host.example.com",
212
- "ROOT_URL_INTERNAL": "https://unknown-host.example.com",
213
- "_ALL_ENV_VAR_KEYS": "["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INFO_BUILD_TIME","BUILD_INFO_CURRENT_VERSION","HOST","ROOT_URL","HOST_CANONICAL","ROOT_URL_INTERNAL"]",
214
222
  },
215
223
  },
216
224
  "api ๐Ÿ”จ app | dev ": {
@@ -260,7 +268,21 @@ exports[`matches snapshot 1`] = `
260
268
  ],
261
269
  },
262
270
  "script": [
263
- "echo '{"id":"some-id","time":"01-01-2023 12:13:14"}' > api/__build_info.json",
271
+ "echo -e "\\e[0Ksection_start:$(date +%s):injectvars[collapsed=true]\\r\\e[0KInjecting variables"",
272
+ "export ENV_SHORT="dev"",
273
+ "export APP_DIR="api"",
274
+ "export ENV_TYPE="dev"",
275
+ "export BUILD_INFO_BUILD_ID="$(git describe --tags 2>/dev/null || git rev-parse HEAD)"",
276
+ "export BUILD_INFO_BUILD_TIME="$CI_JOB_STARTED_AT"",
277
+ "export BUILD_INFO_CURRENT_VERSION="$(tag=$(git ls-remote origin "refs/tags/v*[0-9]" 2>/dev/null | cut -f 2- | sort -V | tail -1 | sed 's/refs\\/tags\\///'); [ -z "$tag" ] && echo "v0.0.0" || echo "$tag")"",
278
+ "export HOST="unknown-host.example.com"",
279
+ "export ROOT_URL="https://unknown-host.example.com"",
280
+ "export HOST_INTERNAL="unknown-host.example.com"",
281
+ "export HOST_CANONICAL="unknown-host.example.com"",
282
+ "export ROOT_URL_INTERNAL="https://unknown-host.example.com"",
283
+ "export _ALL_ENV_VAR_KEYS="[\\"ENV_SHORT\\",\\"APP_DIR\\",\\"ENV_TYPE\\",\\"BUILD_INFO_BUILD_ID\\",\\"BUILD_INFO_BUILD_TIME\\",\\"BUILD_INFO_CURRENT_VERSION\\",\\"HOST\\",\\"ROOT_URL\\",\\"HOST_INTERNAL\\",\\"HOST_CANONICAL\\",\\"ROOT_URL_INTERNAL\\"]"",
284
+ "echo -e "\\e[0Ksection_end:$(date +%s):injectvars\\r\\e[0K"",
285
+ "echo '{"id":"$(git describe --tags 2>/dev/null || git rev-parse HEAD)","time":"$CI_JOB_STARTED_AT"}' > api/__build_info.json",
264
286
  "echo -e "\\e[0Ksection_start:$(date +%s):nodeinstall[collapsed=true]\\r\\e[0KEnsure node version"",
265
287
  "if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi",
266
288
  "if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi",
@@ -276,20 +298,9 @@ exports[`matches snapshot 1`] = `
276
298
  ],
277
299
  "stage": "build",
278
300
  "variables": {
279
- "APP_DIR": "api",
280
- "BUILD_INFO_BUILD_TIME": "01-01-2023 12:13:14",
281
- "BUILD_INFO_CURRENT_VERSION": "3.2.1",
282
- "BUILD_INFO_ID": "some-id",
283
- "ENV_SHORT": "dev",
284
- "ENV_TYPE": "dev",
285
- "HOST": "unknown-host.example.com",
286
- "HOST_CANONICAL": "unknown-host.example.com",
287
301
  "KUBERNETES_CPU_REQUEST": "0.5",
288
302
  "KUBERNETES_MEMORY_LIMIT": "4Gi",
289
303
  "KUBERNETES_MEMORY_REQUEST": "2Gi",
290
- "ROOT_URL": "https://unknown-host.example.com",
291
- "ROOT_URL_INTERNAL": "https://unknown-host.example.com",
292
- "_ALL_ENV_VAR_KEYS": "["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INFO_BUILD_TIME","BUILD_INFO_CURRENT_VERSION","HOST","ROOT_URL","HOST_CANONICAL","ROOT_URL_INTERNAL"]",
293
304
  },
294
305
  },
295
306
  "api ๐Ÿ›ก audit": {
@@ -305,12 +316,14 @@ exports[`matches snapshot 1`] = `
305
316
  ],
306
317
  },
307
318
  "script": [
319
+ "echo -e "\\e[0Ksection_start:$(date +%s):injectvars[collapsed=true]\\r\\e[0KInjecting variables"",
320
+ "export APP_PATH="api"",
321
+ "echo -e "\\e[0Ksection_end:$(date +%s):injectvars\\r\\e[0K"",
308
322
  "cd api",
309
323
  "yarn npm audit --environment production",
310
324
  ],
311
325
  "stage": "test",
312
326
  "variables": {
313
- "APP_PATH": "api",
314
327
  "KUBERNETES_CPU_REQUEST": "0.5",
315
328
  "KUBERNETES_MEMORY_LIMIT": "4Gi",
316
329
  "KUBERNETES_MEMORY_REQUEST": "2Gi",
@@ -344,6 +357,9 @@ exports[`matches snapshot 1`] = `
344
357
  ],
345
358
  },
346
359
  "script": [
360
+ "echo -e "\\e[0Ksection_start:$(date +%s):injectvars[collapsed=true]\\r\\e[0KInjecting variables"",
361
+ "export APP_PATH="api"",
362
+ "echo -e "\\e[0Ksection_end:$(date +%s):injectvars\\r\\e[0K"",
347
363
  "echo -e "\\e[0Ksection_start:$(date +%s):nodeinstall[collapsed=true]\\r\\e[0KEnsure node version"",
348
364
  "if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi",
349
365
  "if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi",
@@ -360,7 +376,6 @@ exports[`matches snapshot 1`] = `
360
376
  ],
361
377
  "stage": "test",
362
378
  "variables": {
363
- "APP_PATH": "api",
364
379
  "KUBERNETES_CPU_REQUEST": "0.5",
365
380
  "KUBERNETES_MEMORY_LIMIT": "4Gi",
366
381
  "KUBERNETES_MEMORY_REQUEST": "2Gi",
@@ -384,6 +399,8 @@ exports[`matches snapshot 1`] = `
384
399
  ],
385
400
  },
386
401
  "script": [
402
+ "echo -e "\\e[0Ksection_start:$(date +%s):injectvars[collapsed=true]\\r\\e[0KInjecting variables"",
403
+ "echo -e "\\e[0Ksection_end:$(date +%s):injectvars\\r\\e[0K"",
387
404
  "trivy fs --quiet --format cyclonedx --output "__sbom.json" api",
388
405
  ],
389
406
  "stage": "build",
@@ -407,6 +424,8 @@ exports[`matches snapshot 1`] = `
407
424
  ],
408
425
  },
409
426
  "script": [
427
+ "echo -e "\\e[0Ksection_start:$(date +%s):injectvars[collapsed=true]\\r\\e[0KInjecting variables"",
428
+ "echo -e "\\e[0Ksection_end:$(date +%s):injectvars\\r\\e[0K"",
410
429
  "trivy fs --quiet --format cyclonedx --output "__sbom.json" api",
411
430
  ],
412
431
  "stage": "build",
@@ -430,6 +449,8 @@ exports[`matches snapshot 1`] = `
430
449
  ],
431
450
  },
432
451
  "script": [
452
+ "echo -e "\\e[0Ksection_start:$(date +%s):injectvars[collapsed=true]\\r\\e[0KInjecting variables"",
453
+ "echo -e "\\e[0Ksection_end:$(date +%s):injectvars\\r\\e[0K"",
433
454
  "trivy fs --quiet --format cyclonedx --output "__sbom.json" api",
434
455
  ],
435
456
  "stage": "build",
@@ -496,7 +517,7 @@ exports[`matches snapshot 1`] = `
496
517
  ],
497
518
  "variables": {
498
519
  "FF_USE_FASTZIP": "true",
499
- "GIT_DEPTH": 1,
520
+ "GIT_DEPTH": "1",
500
521
  },
501
522
  "workflow": {
502
523
  "rules": [
@@ -554,6 +575,9 @@ exports[`matches snapshot 1`] = `
554
575
  ],
555
576
  },
556
577
  "script": [
578
+ "echo -e "\\e[0Ksection_start:$(date +%s):injectvars[collapsed=true]\\r\\e[0KInjecting variables"",
579
+ "export APP_PATH="api"",
580
+ "echo -e "\\e[0Ksection_end:$(date +%s):injectvars\\r\\e[0K"",
557
581
  "echo -e "\\e[0Ksection_start:$(date +%s):nodeinstall[collapsed=true]\\r\\e[0KEnsure node version"",
558
582
  "if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi",
559
583
  "if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi",
@@ -570,7 +594,6 @@ exports[`matches snapshot 1`] = `
570
594
  ],
571
595
  "stage": "test",
572
596
  "variables": {
573
- "APP_PATH": "api",
574
597
  "KUBERNETES_CPU_REQUEST": "0.5",
575
598
  "KUBERNETES_MEMORY_LIMIT": "4Gi",
576
599
  "KUBERNETES_MEMORY_REQUEST": "2Gi",
@@ -623,7 +646,21 @@ exports[`matches snapshot 1`] = `
623
646
  ],
624
647
  },
625
648
  "script": [
626
- "echo '{"id":"some-id","time":"01-01-2023 12:13:14"}' > api/__build_info.json",
649
+ "echo -e "\\e[0Ksection_start:$(date +%s):injectvars[collapsed=true]\\r\\e[0KInjecting variables"",
650
+ "export ENV_SHORT="review"",
651
+ "export APP_DIR="api"",
652
+ "export ENV_TYPE="review"",
653
+ "export BUILD_INFO_BUILD_ID="$(git describe --tags 2>/dev/null || git rev-parse HEAD)"",
654
+ "export BUILD_INFO_BUILD_TIME="$CI_JOB_STARTED_AT"",
655
+ "export BUILD_INFO_CURRENT_VERSION="$(tag=$(git ls-remote origin "refs/tags/v*[0-9]" 2>/dev/null | cut -f 2- | sort -V | tail -1 | sed 's/refs\\/tags\\///'); [ -z "$tag" ] && echo "v0.0.0" || echo "$tag")"",
656
+ "export HOST="unknown-host.example.com"",
657
+ "export ROOT_URL="https://unknown-host.example.com"",
658
+ "export HOST_INTERNAL="unknown-host.example.com"",
659
+ "export HOST_CANONICAL="unknown-host.example.com"",
660
+ "export ROOT_URL_INTERNAL="https://unknown-host.example.com"",
661
+ "export _ALL_ENV_VAR_KEYS="[\\"ENV_SHORT\\",\\"APP_DIR\\",\\"ENV_TYPE\\",\\"BUILD_INFO_BUILD_ID\\",\\"BUILD_INFO_BUILD_TIME\\",\\"BUILD_INFO_CURRENT_VERSION\\",\\"HOST\\",\\"ROOT_URL\\",\\"HOST_INTERNAL\\",\\"HOST_CANONICAL\\",\\"ROOT_URL_INTERNAL\\"]"",
662
+ "echo -e "\\e[0Ksection_end:$(date +%s):injectvars\\r\\e[0K"",
663
+ "echo '{"id":"$(git describe --tags 2>/dev/null || git rev-parse HEAD)","time":"$CI_JOB_STARTED_AT"}' > api/__build_info.json",
627
664
  "echo -e "\\e[0Ksection_start:$(date +%s):nodeinstall[collapsed=true]\\r\\e[0KEnsure node version"",
628
665
  "if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi",
629
666
  "if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi",
@@ -639,20 +676,9 @@ exports[`matches snapshot 1`] = `
639
676
  ],
640
677
  "stage": "build",
641
678
  "variables": {
642
- "APP_DIR": "api",
643
- "BUILD_INFO_BUILD_TIME": "01-01-2023 12:13:14",
644
- "BUILD_INFO_CURRENT_VERSION": "3.2.1",
645
- "BUILD_INFO_ID": "some-id",
646
- "ENV_SHORT": "review",
647
- "ENV_TYPE": "review",
648
- "HOST": "unknown-host.example.com",
649
- "HOST_CANONICAL": "unknown-host.example.com",
650
679
  "KUBERNETES_CPU_REQUEST": "0.5",
651
680
  "KUBERNETES_MEMORY_LIMIT": "4Gi",
652
681
  "KUBERNETES_MEMORY_REQUEST": "2Gi",
653
- "ROOT_URL": "https://unknown-host.example.com",
654
- "ROOT_URL_INTERNAL": "https://unknown-host.example.com",
655
- "_ALL_ENV_VAR_KEYS": "["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INFO_BUILD_TIME","BUILD_INFO_CURRENT_VERSION","HOST","ROOT_URL","HOST_CANONICAL","ROOT_URL_INTERNAL"]",
656
682
  },
657
683
  },
658
684
  "api ๐Ÿ›ก audit": {
@@ -668,12 +694,14 @@ exports[`matches snapshot 1`] = `
668
694
  ],
669
695
  },
670
696
  "script": [
697
+ "echo -e "\\e[0Ksection_start:$(date +%s):injectvars[collapsed=true]\\r\\e[0KInjecting variables"",
698
+ "export APP_PATH="api"",
699
+ "echo -e "\\e[0Ksection_end:$(date +%s):injectvars\\r\\e[0K"",
671
700
  "cd api",
672
701
  "yarn npm audit --environment production",
673
702
  ],
674
703
  "stage": "test",
675
704
  "variables": {
676
- "APP_PATH": "api",
677
705
  "KUBERNETES_CPU_REQUEST": "0.5",
678
706
  "KUBERNETES_MEMORY_LIMIT": "4Gi",
679
707
  "KUBERNETES_MEMORY_REQUEST": "2Gi",
@@ -707,6 +735,9 @@ exports[`matches snapshot 1`] = `
707
735
  ],
708
736
  },
709
737
  "script": [
738
+ "echo -e "\\e[0Ksection_start:$(date +%s):injectvars[collapsed=true]\\r\\e[0KInjecting variables"",
739
+ "export APP_PATH="api"",
740
+ "echo -e "\\e[0Ksection_end:$(date +%s):injectvars\\r\\e[0K"",
710
741
  "echo -e "\\e[0Ksection_start:$(date +%s):nodeinstall[collapsed=true]\\r\\e[0KEnsure node version"",
711
742
  "if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi",
712
743
  "if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi",
@@ -723,7 +754,6 @@ exports[`matches snapshot 1`] = `
723
754
  ],
724
755
  "stage": "test",
725
756
  "variables": {
726
- "APP_PATH": "api",
727
757
  "KUBERNETES_CPU_REQUEST": "0.5",
728
758
  "KUBERNETES_MEMORY_LIMIT": "4Gi",
729
759
  "KUBERNETES_MEMORY_REQUEST": "2Gi",
@@ -747,6 +777,8 @@ exports[`matches snapshot 1`] = `
747
777
  ],
748
778
  },
749
779
  "script": [
780
+ "echo -e "\\e[0Ksection_start:$(date +%s):injectvars[collapsed=true]\\r\\e[0KInjecting variables"",
781
+ "echo -e "\\e[0Ksection_end:$(date +%s):injectvars\\r\\e[0K"",
750
782
  "trivy fs --quiet --format cyclonedx --output "__sbom.json" api",
751
783
  ],
752
784
  "stage": "build",
@@ -813,7 +845,7 @@ exports[`matches snapshot 1`] = `
813
845
  ],
814
846
  "variables": {
815
847
  "FF_USE_FASTZIP": "true",
816
- "GIT_DEPTH": 1,
848
+ "GIT_DEPTH": "1",
817
849
  },
818
850
  "workflow": {
819
851
  "rules": [
@@ -890,7 +922,21 @@ exports[`matches snapshot 1`] = `
890
922
  ],
891
923
  },
892
924
  "script": [
893
- "echo '{"id":"some-id","time":"01-01-2023 12:13:14"}' > api/__build_info.json",
925
+ "echo -e "\\e[0Ksection_start:$(date +%s):injectvars[collapsed=true]\\r\\e[0KInjecting variables"",
926
+ "export ENV_SHORT="prod"",
927
+ "export APP_DIR="api"",
928
+ "export ENV_TYPE="prod"",
929
+ "export BUILD_INFO_BUILD_ID="$(git describe --tags 2>/dev/null || git rev-parse HEAD)"",
930
+ "export BUILD_INFO_BUILD_TIME="$CI_JOB_STARTED_AT"",
931
+ "export BUILD_INFO_CURRENT_VERSION="$(tag=$(git ls-remote origin "refs/tags/v*[0-9]" 2>/dev/null | cut -f 2- | sort -V | tail -1 | sed 's/refs\\/tags\\///'); [ -z "$tag" ] && echo "v0.0.0" || echo "$tag")"",
932
+ "export HOST="unknown-host.example.com"",
933
+ "export ROOT_URL="https://unknown-host.example.com"",
934
+ "export HOST_INTERNAL="unknown-host.example.com"",
935
+ "export HOST_CANONICAL="unknown-host.example.com"",
936
+ "export ROOT_URL_INTERNAL="https://unknown-host.example.com"",
937
+ "export _ALL_ENV_VAR_KEYS="[\\"ENV_SHORT\\",\\"APP_DIR\\",\\"ENV_TYPE\\",\\"BUILD_INFO_BUILD_ID\\",\\"BUILD_INFO_BUILD_TIME\\",\\"BUILD_INFO_CURRENT_VERSION\\",\\"HOST\\",\\"ROOT_URL\\",\\"HOST_INTERNAL\\",\\"HOST_CANONICAL\\",\\"ROOT_URL_INTERNAL\\"]"",
938
+ "echo -e "\\e[0Ksection_end:$(date +%s):injectvars\\r\\e[0K"",
939
+ "echo '{"id":"$(git describe --tags 2>/dev/null || git rev-parse HEAD)","time":"$CI_JOB_STARTED_AT"}' > api/__build_info.json",
894
940
  "echo -e "\\e[0Ksection_start:$(date +%s):nodeinstall[collapsed=true]\\r\\e[0KEnsure node version"",
895
941
  "if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi",
896
942
  "if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi",
@@ -906,20 +952,9 @@ exports[`matches snapshot 1`] = `
906
952
  ],
907
953
  "stage": "build",
908
954
  "variables": {
909
- "APP_DIR": "api",
910
- "BUILD_INFO_BUILD_TIME": "01-01-2023 12:13:14",
911
- "BUILD_INFO_CURRENT_VERSION": "3.2.1",
912
- "BUILD_INFO_ID": "some-id",
913
- "ENV_SHORT": "prod",
914
- "ENV_TYPE": "prod",
915
- "HOST": "unknown-host.example.com",
916
- "HOST_CANONICAL": "unknown-host.example.com",
917
955
  "KUBERNETES_CPU_REQUEST": "0.5",
918
956
  "KUBERNETES_MEMORY_LIMIT": "4Gi",
919
957
  "KUBERNETES_MEMORY_REQUEST": "2Gi",
920
- "ROOT_URL": "https://unknown-host.example.com",
921
- "ROOT_URL_INTERNAL": "https://unknown-host.example.com",
922
- "_ALL_ENV_VAR_KEYS": "["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INFO_BUILD_TIME","BUILD_INFO_CURRENT_VERSION","HOST","ROOT_URL","HOST_CANONICAL","ROOT_URL_INTERNAL"]",
923
958
  },
924
959
  },
925
960
  "api ๐Ÿ”จ app | stage ": {
@@ -969,7 +1004,21 @@ exports[`matches snapshot 1`] = `
969
1004
  ],
970
1005
  },
971
1006
  "script": [
972
- "echo '{"id":"some-id","time":"01-01-2023 12:13:14"}' > api/__build_info.json",
1007
+ "echo -e "\\e[0Ksection_start:$(date +%s):injectvars[collapsed=true]\\r\\e[0KInjecting variables"",
1008
+ "export ENV_SHORT="stage"",
1009
+ "export APP_DIR="api"",
1010
+ "export ENV_TYPE="stage"",
1011
+ "export BUILD_INFO_BUILD_ID="$(git describe --tags 2>/dev/null || git rev-parse HEAD)"",
1012
+ "export BUILD_INFO_BUILD_TIME="$CI_JOB_STARTED_AT"",
1013
+ "export BUILD_INFO_CURRENT_VERSION="$(tag=$(git ls-remote origin "refs/tags/v*[0-9]" 2>/dev/null | cut -f 2- | sort -V | tail -1 | sed 's/refs\\/tags\\///'); [ -z "$tag" ] && echo "v0.0.0" || echo "$tag")"",
1014
+ "export HOST="unknown-host.example.com"",
1015
+ "export ROOT_URL="https://unknown-host.example.com"",
1016
+ "export HOST_INTERNAL="unknown-host.example.com"",
1017
+ "export HOST_CANONICAL="unknown-host.example.com"",
1018
+ "export ROOT_URL_INTERNAL="https://unknown-host.example.com"",
1019
+ "export _ALL_ENV_VAR_KEYS="[\\"ENV_SHORT\\",\\"APP_DIR\\",\\"ENV_TYPE\\",\\"BUILD_INFO_BUILD_ID\\",\\"BUILD_INFO_BUILD_TIME\\",\\"BUILD_INFO_CURRENT_VERSION\\",\\"HOST\\",\\"ROOT_URL\\",\\"HOST_INTERNAL\\",\\"HOST_CANONICAL\\",\\"ROOT_URL_INTERNAL\\"]"",
1020
+ "echo -e "\\e[0Ksection_end:$(date +%s):injectvars\\r\\e[0K"",
1021
+ "echo '{"id":"$(git describe --tags 2>/dev/null || git rev-parse HEAD)","time":"$CI_JOB_STARTED_AT"}' > api/__build_info.json",
973
1022
  "echo -e "\\e[0Ksection_start:$(date +%s):nodeinstall[collapsed=true]\\r\\e[0KEnsure node version"",
974
1023
  "if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi",
975
1024
  "if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi",
@@ -985,20 +1034,9 @@ exports[`matches snapshot 1`] = `
985
1034
  ],
986
1035
  "stage": "build",
987
1036
  "variables": {
988
- "APP_DIR": "api",
989
- "BUILD_INFO_BUILD_TIME": "01-01-2023 12:13:14",
990
- "BUILD_INFO_CURRENT_VERSION": "3.2.1",
991
- "BUILD_INFO_ID": "some-id",
992
- "ENV_SHORT": "stage",
993
- "ENV_TYPE": "stage",
994
- "HOST": "unknown-host.example.com",
995
- "HOST_CANONICAL": "unknown-host.example.com",
996
1037
  "KUBERNETES_CPU_REQUEST": "0.5",
997
1038
  "KUBERNETES_MEMORY_LIMIT": "4Gi",
998
1039
  "KUBERNETES_MEMORY_REQUEST": "2Gi",
999
- "ROOT_URL": "https://unknown-host.example.com",
1000
- "ROOT_URL_INTERNAL": "https://unknown-host.example.com",
1001
- "_ALL_ENV_VAR_KEYS": "["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INFO_BUILD_TIME","BUILD_INFO_CURRENT_VERSION","HOST","ROOT_URL","HOST_CANONICAL","ROOT_URL_INTERNAL"]",
1002
1040
  },
1003
1041
  },
1004
1042
  "api ๐Ÿงพ sbom | prod ": {
@@ -1019,6 +1057,8 @@ exports[`matches snapshot 1`] = `
1019
1057
  ],
1020
1058
  },
1021
1059
  "script": [
1060
+ "echo -e "\\e[0Ksection_start:$(date +%s):injectvars[collapsed=true]\\r\\e[0KInjecting variables"",
1061
+ "echo -e "\\e[0Ksection_end:$(date +%s):injectvars\\r\\e[0K"",
1022
1062
  "trivy fs --quiet --format cyclonedx --output "__sbom.json" api",
1023
1063
  ],
1024
1064
  "stage": "build",
@@ -1042,6 +1082,8 @@ exports[`matches snapshot 1`] = `
1042
1082
  ],
1043
1083
  },
1044
1084
  "script": [
1085
+ "echo -e "\\e[0Ksection_start:$(date +%s):injectvars[collapsed=true]\\r\\e[0KInjecting variables"",
1086
+ "echo -e "\\e[0Ksection_end:$(date +%s):injectvars\\r\\e[0K"",
1045
1087
  "trivy fs --quiet --format cyclonedx --output "__sbom.json" api",
1046
1088
  ],
1047
1089
  "stage": "build",
@@ -1108,7 +1150,7 @@ exports[`matches snapshot 1`] = `
1108
1150
  ],
1109
1151
  "variables": {
1110
1152
  "FF_USE_FASTZIP": "true",
1111
- "GIT_DEPTH": 1,
1153
+ "GIT_DEPTH": "1",
1112
1154
  },
1113
1155
  "workflow": {
1114
1156
  "rules": [