@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="dev"",
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",
@@ -119,29 +135,14 @@ exports[`matches snapshot 1`] = `
119
135
  ],
120
136
  "stage": "build",
121
137
  "variables": {
122
- "APP_DIR": "api",
123
- "BUILD_INFO_BUILD_TIME": "01-01-2023 12:13:14",
124
- "BUILD_INFO_CURRENT_VERSION": "3.2.1",
125
- "BUILD_INFO_ID": "some-id",
126
- "ENV_SHORT": "dev",
127
- "ENV_TYPE": "dev",
128
- "HOST": "unknown-host.example.com",
129
- "HOST_CANONICAL": "unknown-host.example.com",
130
138
  "KUBERNETES_CPU_REQUEST": "0.5",
131
139
  "KUBERNETES_MEMORY_LIMIT": "4Gi",
132
140
  "KUBERNETES_MEMORY_REQUEST": "2Gi",
133
- "ROOT_URL": "https://unknown-host.example.com",
134
- "ROOT_URL_INTERNAL": "https://unknown-host.example.com",
135
- "_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"]",
136
141
  },
137
142
  },
138
143
  "api ๐Ÿš€ Deploy | dev ": {
139
144
  "allow_failure": false,
140
145
  "cache": [],
141
- "environment": {
142
- "name": "dev/api",
143
- "url": "https://unknown-host.example.com",
144
- },
145
146
  "image": "path/to/docker/jobs-default:the-version",
146
147
  "interruptible": true,
147
148
  "needs": [
@@ -179,6 +180,20 @@ exports[`matches snapshot 1`] = `
179
180
  },
180
181
  ],
181
182
  "script": [
183
+ "echo -e "\\e[0Ksection_start:$(date +%s):injectvars[collapsed=true]\\r\\e[0KInjecting variables"",
184
+ "export ENV_SHORT="dev"",
185
+ "export APP_DIR="api"",
186
+ "export ENV_TYPE="dev"",
187
+ "export BUILD_INFO_BUILD_ID="$(git describe --tags 2>/dev/null || git rev-parse HEAD)"",
188
+ "export BUILD_INFO_BUILD_TIME="$CI_JOB_STARTED_AT"",
189
+ "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")"",
190
+ "export HOST="unknown-host.example.com"",
191
+ "export ROOT_URL="https://unknown-host.example.com"",
192
+ "export HOST_INTERNAL="unknown-host.example.com"",
193
+ "export HOST_CANONICAL="unknown-host.example.com"",
194
+ "export ROOT_URL_INTERNAL="https://unknown-host.example.com"",
195
+ "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\\"]"",
196
+ "echo -e "\\e[0Ksection_end:$(date +%s):injectvars\\r\\e[0K"",
182
197
  "cd api",
183
198
  "yarn deploy",
184
199
  "echo Uploading SBOM to Dependency Track",
@@ -186,20 +201,9 @@ exports[`matches snapshot 1`] = `
186
201
  ],
187
202
  "stage": "deploy dev",
188
203
  "variables": {
189
- "APP_DIR": "api",
190
- "BUILD_INFO_BUILD_TIME": "01-01-2023 12:13:14",
191
- "BUILD_INFO_CURRENT_VERSION": "3.2.1",
192
- "BUILD_INFO_ID": "some-id",
193
- "ENV_SHORT": "dev",
194
- "ENV_TYPE": "dev",
195
- "HOST": "unknown-host.example.com",
196
- "HOST_CANONICAL": "unknown-host.example.com",
197
204
  "KUBERNETES_CPU_REQUEST": "0.5",
198
205
  "KUBERNETES_MEMORY_LIMIT": "400Mi",
199
206
  "KUBERNETES_MEMORY_REQUEST": "200Mi",
200
- "ROOT_URL": "https://unknown-host.example.com",
201
- "ROOT_URL_INTERNAL": "https://unknown-host.example.com",
202
- "_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"]",
203
207
  },
204
208
  },
205
209
  "api ๐Ÿ›ก audit": {
@@ -215,12 +219,14 @@ exports[`matches snapshot 1`] = `
215
219
  ],
216
220
  },
217
221
  "script": [
222
+ "echo -e "\\e[0Ksection_start:$(date +%s):injectvars[collapsed=true]\\r\\e[0KInjecting variables"",
223
+ "export APP_PATH="api"",
224
+ "echo -e "\\e[0Ksection_end:$(date +%s):injectvars\\r\\e[0K"",
218
225
  "cd api",
219
226
  "yarn npm audit --environment production",
220
227
  ],
221
228
  "stage": "test",
222
229
  "variables": {
223
- "APP_PATH": "api",
224
230
  "KUBERNETES_CPU_REQUEST": "0.5",
225
231
  "KUBERNETES_MEMORY_LIMIT": "4Gi",
226
232
  "KUBERNETES_MEMORY_REQUEST": "2Gi",
@@ -254,6 +260,9 @@ exports[`matches snapshot 1`] = `
254
260
  ],
255
261
  },
256
262
  "script": [
263
+ "echo -e "\\e[0Ksection_start:$(date +%s):injectvars[collapsed=true]\\r\\e[0KInjecting variables"",
264
+ "export APP_PATH="api"",
265
+ "echo -e "\\e[0Ksection_end:$(date +%s):injectvars\\r\\e[0K"",
257
266
  "echo -e "\\e[0Ksection_start:$(date +%s):nodeinstall[collapsed=true]\\r\\e[0KEnsure node version"",
258
267
  "if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi",
259
268
  "if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi",
@@ -270,7 +279,6 @@ exports[`matches snapshot 1`] = `
270
279
  ],
271
280
  "stage": "test",
272
281
  "variables": {
273
- "APP_PATH": "api",
274
282
  "KUBERNETES_CPU_REQUEST": "0.5",
275
283
  "KUBERNETES_MEMORY_LIMIT": "4Gi",
276
284
  "KUBERNETES_MEMORY_REQUEST": "2Gi",
@@ -294,6 +302,8 @@ exports[`matches snapshot 1`] = `
294
302
  ],
295
303
  },
296
304
  "script": [
305
+ "echo -e "\\e[0Ksection_start:$(date +%s):injectvars[collapsed=true]\\r\\e[0KInjecting variables"",
306
+ "echo -e "\\e[0Ksection_end:$(date +%s):injectvars\\r\\e[0K"",
297
307
  "trivy fs --quiet --format cyclonedx --output "__sbom.json" api",
298
308
  ],
299
309
  "stage": "build",
@@ -327,6 +337,9 @@ exports[`matches snapshot 1`] = `
327
337
  ],
328
338
  },
329
339
  "script": [
340
+ "echo -e "\\e[0Ksection_start:$(date +%s):injectvars[collapsed=true]\\r\\e[0KInjecting variables"",
341
+ "export APP_PATH="www"",
342
+ "echo -e "\\e[0Ksection_end:$(date +%s):injectvars\\r\\e[0K"",
330
343
  "echo -e "\\e[0Ksection_start:$(date +%s):nodeinstall[collapsed=true]\\r\\e[0KEnsure node version"",
331
344
  "if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi",
332
345
  "if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi",
@@ -343,7 +356,6 @@ exports[`matches snapshot 1`] = `
343
356
  ],
344
357
  "stage": "test",
345
358
  "variables": {
346
- "APP_PATH": "www",
347
359
  "KUBERNETES_CPU_REQUEST": "0.5",
348
360
  "KUBERNETES_MEMORY_LIMIT": "4Gi",
349
361
  "KUBERNETES_MEMORY_REQUEST": "2Gi",
@@ -396,7 +408,21 @@ exports[`matches snapshot 1`] = `
396
408
  ],
397
409
  },
398
410
  "script": [
399
- "echo '{"id":"some-id","time":"01-01-2023 12:13:14"}' > www/__build_info.json",
411
+ "echo -e "\\e[0Ksection_start:$(date +%s):injectvars[collapsed=true]\\r\\e[0KInjecting variables"",
412
+ "export ENV_SHORT="dev"",
413
+ "export APP_DIR="www"",
414
+ "export ENV_TYPE="dev"",
415
+ "export BUILD_INFO_BUILD_ID="$(git describe --tags 2>/dev/null || git rev-parse HEAD)"",
416
+ "export BUILD_INFO_BUILD_TIME="$CI_JOB_STARTED_AT"",
417
+ "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")"",
418
+ "export HOST="unknown-host.example.com"",
419
+ "export ROOT_URL="https://unknown-host.example.com"",
420
+ "export HOST_INTERNAL="unknown-host.example.com"",
421
+ "export HOST_CANONICAL="unknown-host.example.com"",
422
+ "export ROOT_URL_INTERNAL="https://unknown-host.example.com"",
423
+ "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\\"]"",
424
+ "echo -e "\\e[0Ksection_end:$(date +%s):injectvars\\r\\e[0K"",
425
+ "echo '{"id":"$(git describe --tags 2>/dev/null || git rev-parse HEAD)","time":"$CI_JOB_STARTED_AT"}' > www/__build_info.json",
400
426
  "echo -e "\\e[0Ksection_start:$(date +%s):nodeinstall[collapsed=true]\\r\\e[0KEnsure node version"",
401
427
  "if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi",
402
428
  "if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi",
@@ -413,29 +439,14 @@ exports[`matches snapshot 1`] = `
413
439
  ],
414
440
  "stage": "build",
415
441
  "variables": {
416
- "APP_DIR": "www",
417
- "BUILD_INFO_BUILD_TIME": "01-01-2023 12:13:14",
418
- "BUILD_INFO_CURRENT_VERSION": "3.2.1",
419
- "BUILD_INFO_ID": "some-id",
420
- "ENV_SHORT": "dev",
421
- "ENV_TYPE": "dev",
422
- "HOST": "unknown-host.example.com",
423
- "HOST_CANONICAL": "unknown-host.example.com",
424
442
  "KUBERNETES_CPU_REQUEST": "0.5",
425
443
  "KUBERNETES_MEMORY_LIMIT": "4Gi",
426
444
  "KUBERNETES_MEMORY_REQUEST": "2Gi",
427
- "ROOT_URL": "https://unknown-host.example.com",
428
- "ROOT_URL_INTERNAL": "https://unknown-host.example.com",
429
- "_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"]",
430
445
  },
431
446
  },
432
447
  "www ๐Ÿš€ Deploy | dev ": {
433
448
  "allow_failure": false,
434
449
  "cache": [],
435
- "environment": {
436
- "name": "dev/www",
437
- "url": "https://unknown-host.example.com",
438
- },
439
450
  "image": "path/to/docker/jobs-default:the-version",
440
451
  "interruptible": true,
441
452
  "needs": [
@@ -477,6 +488,20 @@ exports[`matches snapshot 1`] = `
477
488
  },
478
489
  ],
479
490
  "script": [
491
+ "echo -e "\\e[0Ksection_start:$(date +%s):injectvars[collapsed=true]\\r\\e[0KInjecting variables"",
492
+ "export ENV_SHORT="dev"",
493
+ "export APP_DIR="www"",
494
+ "export ENV_TYPE="dev"",
495
+ "export BUILD_INFO_BUILD_ID="$(git describe --tags 2>/dev/null || git rev-parse HEAD)"",
496
+ "export BUILD_INFO_BUILD_TIME="$CI_JOB_STARTED_AT"",
497
+ "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")"",
498
+ "export HOST="unknown-host.example.com"",
499
+ "export ROOT_URL="https://unknown-host.example.com"",
500
+ "export HOST_INTERNAL="unknown-host.example.com"",
501
+ "export HOST_CANONICAL="unknown-host.example.com"",
502
+ "export ROOT_URL_INTERNAL="https://unknown-host.example.com"",
503
+ "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\\"]"",
504
+ "echo -e "\\e[0Ksection_end:$(date +%s):injectvars\\r\\e[0K"",
480
505
  "cd www",
481
506
  "yarn deploy",
482
507
  "echo Uploading SBOM to Dependency Track",
@@ -484,20 +509,9 @@ exports[`matches snapshot 1`] = `
484
509
  ],
485
510
  "stage": "deploy dev",
486
511
  "variables": {
487
- "APP_DIR": "www",
488
- "BUILD_INFO_BUILD_TIME": "01-01-2023 12:13:14",
489
- "BUILD_INFO_CURRENT_VERSION": "3.2.1",
490
- "BUILD_INFO_ID": "some-id",
491
- "ENV_SHORT": "dev",
492
- "ENV_TYPE": "dev",
493
- "HOST": "unknown-host.example.com",
494
- "HOST_CANONICAL": "unknown-host.example.com",
495
512
  "KUBERNETES_CPU_REQUEST": "0.5",
496
513
  "KUBERNETES_MEMORY_LIMIT": "400Mi",
497
514
  "KUBERNETES_MEMORY_REQUEST": "200Mi",
498
- "ROOT_URL": "https://unknown-host.example.com",
499
- "ROOT_URL_INTERNAL": "https://unknown-host.example.com",
500
- "_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"]",
501
515
  },
502
516
  },
503
517
  "www ๐Ÿ›ก audit": {
@@ -513,12 +527,14 @@ exports[`matches snapshot 1`] = `
513
527
  ],
514
528
  },
515
529
  "script": [
530
+ "echo -e "\\e[0Ksection_start:$(date +%s):injectvars[collapsed=true]\\r\\e[0KInjecting variables"",
531
+ "export APP_PATH="www"",
532
+ "echo -e "\\e[0Ksection_end:$(date +%s):injectvars\\r\\e[0K"",
516
533
  "cd www",
517
534
  "yarn npm audit --environment production",
518
535
  ],
519
536
  "stage": "test",
520
537
  "variables": {
521
- "APP_PATH": "www",
522
538
  "KUBERNETES_CPU_REQUEST": "0.5",
523
539
  "KUBERNETES_MEMORY_LIMIT": "4Gi",
524
540
  "KUBERNETES_MEMORY_REQUEST": "2Gi",
@@ -552,6 +568,9 @@ exports[`matches snapshot 1`] = `
552
568
  ],
553
569
  },
554
570
  "script": [
571
+ "echo -e "\\e[0Ksection_start:$(date +%s):injectvars[collapsed=true]\\r\\e[0KInjecting variables"",
572
+ "export APP_PATH="www"",
573
+ "echo -e "\\e[0Ksection_end:$(date +%s):injectvars\\r\\e[0K"",
555
574
  "echo -e "\\e[0Ksection_start:$(date +%s):nodeinstall[collapsed=true]\\r\\e[0KEnsure node version"",
556
575
  "if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi",
557
576
  "if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi",
@@ -568,7 +587,6 @@ exports[`matches snapshot 1`] = `
568
587
  ],
569
588
  "stage": "test",
570
589
  "variables": {
571
- "APP_PATH": "www",
572
590
  "KUBERNETES_CPU_REQUEST": "0.5",
573
591
  "KUBERNETES_MEMORY_LIMIT": "4Gi",
574
592
  "KUBERNETES_MEMORY_REQUEST": "2Gi",
@@ -592,6 +610,8 @@ exports[`matches snapshot 1`] = `
592
610
  ],
593
611
  },
594
612
  "script": [
613
+ "echo -e "\\e[0Ksection_start:$(date +%s):injectvars[collapsed=true]\\r\\e[0KInjecting variables"",
614
+ "echo -e "\\e[0Ksection_end:$(date +%s):injectvars\\r\\e[0K"",
595
615
  "trivy fs --quiet --format cyclonedx --output "__sbom.json" www",
596
616
  ],
597
617
  "stage": "build",
@@ -644,7 +664,7 @@ exports[`matches snapshot 1`] = `
644
664
  ],
645
665
  "variables": {
646
666
  "FF_USE_FASTZIP": "true",
647
- "GIT_DEPTH": 1,
667
+ "GIT_DEPTH": "1",
648
668
  },
649
669
  "workflow": {
650
670
  "rules": [
@@ -702,6 +722,9 @@ exports[`matches snapshot 1`] = `
702
722
  ],
703
723
  },
704
724
  "script": [
725
+ "echo -e "\\e[0Ksection_start:$(date +%s):injectvars[collapsed=true]\\r\\e[0KInjecting variables"",
726
+ "export APP_PATH="api"",
727
+ "echo -e "\\e[0Ksection_end:$(date +%s):injectvars\\r\\e[0K"",
705
728
  "echo -e "\\e[0Ksection_start:$(date +%s):nodeinstall[collapsed=true]\\r\\e[0KEnsure node version"",
706
729
  "if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi",
707
730
  "if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi",
@@ -718,7 +741,6 @@ exports[`matches snapshot 1`] = `
718
741
  ],
719
742
  "stage": "test",
720
743
  "variables": {
721
- "APP_PATH": "api",
722
744
  "KUBERNETES_CPU_REQUEST": "0.5",
723
745
  "KUBERNETES_MEMORY_LIMIT": "4Gi",
724
746
  "KUBERNETES_MEMORY_REQUEST": "2Gi",
@@ -771,7 +793,21 @@ exports[`matches snapshot 1`] = `
771
793
  ],
772
794
  },
773
795
  "script": [
774
- "echo '{"id":"some-id","time":"01-01-2023 12:13:14"}' > api/__build_info.json",
796
+ "echo -e "\\e[0Ksection_start:$(date +%s):injectvars[collapsed=true]\\r\\e[0KInjecting variables"",
797
+ "export ENV_SHORT="review"",
798
+ "export APP_DIR="api"",
799
+ "export ENV_TYPE="review"",
800
+ "export BUILD_INFO_BUILD_ID="$(git describe --tags 2>/dev/null || git rev-parse HEAD)"",
801
+ "export BUILD_INFO_BUILD_TIME="$CI_JOB_STARTED_AT"",
802
+ "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")"",
803
+ "export HOST="unknown-host.example.com"",
804
+ "export ROOT_URL="https://unknown-host.example.com"",
805
+ "export HOST_INTERNAL="unknown-host.example.com"",
806
+ "export HOST_CANONICAL="unknown-host.example.com"",
807
+ "export ROOT_URL_INTERNAL="https://unknown-host.example.com"",
808
+ "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\\"]"",
809
+ "echo -e "\\e[0Ksection_end:$(date +%s):injectvars\\r\\e[0K"",
810
+ "echo '{"id":"$(git describe --tags 2>/dev/null || git rev-parse HEAD)","time":"$CI_JOB_STARTED_AT"}' > api/__build_info.json",
775
811
  "echo -e "\\e[0Ksection_start:$(date +%s):nodeinstall[collapsed=true]\\r\\e[0KEnsure node version"",
776
812
  "if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi",
777
813
  "if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi",
@@ -788,29 +824,14 @@ exports[`matches snapshot 1`] = `
788
824
  ],
789
825
  "stage": "build",
790
826
  "variables": {
791
- "APP_DIR": "api",
792
- "BUILD_INFO_BUILD_TIME": "01-01-2023 12:13:14",
793
- "BUILD_INFO_CURRENT_VERSION": "3.2.1",
794
- "BUILD_INFO_ID": "some-id",
795
- "ENV_SHORT": "review",
796
- "ENV_TYPE": "review",
797
- "HOST": "unknown-host.example.com",
798
- "HOST_CANONICAL": "unknown-host.example.com",
799
827
  "KUBERNETES_CPU_REQUEST": "0.5",
800
828
  "KUBERNETES_MEMORY_LIMIT": "4Gi",
801
829
  "KUBERNETES_MEMORY_REQUEST": "2Gi",
802
- "ROOT_URL": "https://unknown-host.example.com",
803
- "ROOT_URL_INTERNAL": "https://unknown-host.example.com",
804
- "_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"]",
805
830
  },
806
831
  },
807
832
  "api ๐Ÿš€ Deploy | review ": {
808
833
  "allow_failure": false,
809
834
  "cache": [],
810
- "environment": {
811
- "name": "review/some-commit/api",
812
- "url": "https://unknown-host.example.com",
813
- },
814
835
  "image": "path/to/docker/jobs-default:the-version",
815
836
  "interruptible": true,
816
837
  "needs": [
@@ -848,6 +869,20 @@ exports[`matches snapshot 1`] = `
848
869
  },
849
870
  ],
850
871
  "script": [
872
+ "echo -e "\\e[0Ksection_start:$(date +%s):injectvars[collapsed=true]\\r\\e[0KInjecting variables"",
873
+ "export ENV_SHORT="review"",
874
+ "export APP_DIR="api"",
875
+ "export ENV_TYPE="review"",
876
+ "export BUILD_INFO_BUILD_ID="$(git describe --tags 2>/dev/null || git rev-parse HEAD)"",
877
+ "export BUILD_INFO_BUILD_TIME="$CI_JOB_STARTED_AT"",
878
+ "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")"",
879
+ "export HOST="unknown-host.example.com"",
880
+ "export ROOT_URL="https://unknown-host.example.com"",
881
+ "export HOST_INTERNAL="unknown-host.example.com"",
882
+ "export HOST_CANONICAL="unknown-host.example.com"",
883
+ "export ROOT_URL_INTERNAL="https://unknown-host.example.com"",
884
+ "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\\"]"",
885
+ "echo -e "\\e[0Ksection_end:$(date +%s):injectvars\\r\\e[0K"",
851
886
  "cd api",
852
887
  "yarn deploy",
853
888
  "echo Uploading SBOM to Dependency Track",
@@ -855,20 +890,9 @@ exports[`matches snapshot 1`] = `
855
890
  ],
856
891
  "stage": "deploy review",
857
892
  "variables": {
858
- "APP_DIR": "api",
859
- "BUILD_INFO_BUILD_TIME": "01-01-2023 12:13:14",
860
- "BUILD_INFO_CURRENT_VERSION": "3.2.1",
861
- "BUILD_INFO_ID": "some-id",
862
- "ENV_SHORT": "review",
863
- "ENV_TYPE": "review",
864
- "HOST": "unknown-host.example.com",
865
- "HOST_CANONICAL": "unknown-host.example.com",
866
893
  "KUBERNETES_CPU_REQUEST": "0.5",
867
894
  "KUBERNETES_MEMORY_LIMIT": "400Mi",
868
895
  "KUBERNETES_MEMORY_REQUEST": "200Mi",
869
- "ROOT_URL": "https://unknown-host.example.com",
870
- "ROOT_URL_INTERNAL": "https://unknown-host.example.com",
871
- "_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"]",
872
896
  },
873
897
  },
874
898
  "api ๐Ÿ›ก audit": {
@@ -884,12 +908,14 @@ exports[`matches snapshot 1`] = `
884
908
  ],
885
909
  },
886
910
  "script": [
911
+ "echo -e "\\e[0Ksection_start:$(date +%s):injectvars[collapsed=true]\\r\\e[0KInjecting variables"",
912
+ "export APP_PATH="api"",
913
+ "echo -e "\\e[0Ksection_end:$(date +%s):injectvars\\r\\e[0K"",
887
914
  "cd api",
888
915
  "yarn npm audit --environment production",
889
916
  ],
890
917
  "stage": "test",
891
918
  "variables": {
892
- "APP_PATH": "api",
893
919
  "KUBERNETES_CPU_REQUEST": "0.5",
894
920
  "KUBERNETES_MEMORY_LIMIT": "4Gi",
895
921
  "KUBERNETES_MEMORY_REQUEST": "2Gi",
@@ -923,6 +949,9 @@ exports[`matches snapshot 1`] = `
923
949
  ],
924
950
  },
925
951
  "script": [
952
+ "echo -e "\\e[0Ksection_start:$(date +%s):injectvars[collapsed=true]\\r\\e[0KInjecting variables"",
953
+ "export APP_PATH="api"",
954
+ "echo -e "\\e[0Ksection_end:$(date +%s):injectvars\\r\\e[0K"",
926
955
  "echo -e "\\e[0Ksection_start:$(date +%s):nodeinstall[collapsed=true]\\r\\e[0KEnsure node version"",
927
956
  "if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi",
928
957
  "if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi",
@@ -939,7 +968,6 @@ exports[`matches snapshot 1`] = `
939
968
  ],
940
969
  "stage": "test",
941
970
  "variables": {
942
- "APP_PATH": "api",
943
971
  "KUBERNETES_CPU_REQUEST": "0.5",
944
972
  "KUBERNETES_MEMORY_LIMIT": "4Gi",
945
973
  "KUBERNETES_MEMORY_REQUEST": "2Gi",
@@ -963,6 +991,8 @@ exports[`matches snapshot 1`] = `
963
991
  ],
964
992
  },
965
993
  "script": [
994
+ "echo -e "\\e[0Ksection_start:$(date +%s):injectvars[collapsed=true]\\r\\e[0KInjecting variables"",
995
+ "echo -e "\\e[0Ksection_end:$(date +%s):injectvars\\r\\e[0K"",
966
996
  "trivy fs --quiet --format cyclonedx --output "__sbom.json" api",
967
997
  ],
968
998
  "stage": "build",
@@ -996,6 +1026,9 @@ exports[`matches snapshot 1`] = `
996
1026
  ],
997
1027
  },
998
1028
  "script": [
1029
+ "echo -e "\\e[0Ksection_start:$(date +%s):injectvars[collapsed=true]\\r\\e[0KInjecting variables"",
1030
+ "export APP_PATH="www"",
1031
+ "echo -e "\\e[0Ksection_end:$(date +%s):injectvars\\r\\e[0K"",
999
1032
  "echo -e "\\e[0Ksection_start:$(date +%s):nodeinstall[collapsed=true]\\r\\e[0KEnsure node version"",
1000
1033
  "if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi",
1001
1034
  "if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi",
@@ -1012,7 +1045,6 @@ exports[`matches snapshot 1`] = `
1012
1045
  ],
1013
1046
  "stage": "test",
1014
1047
  "variables": {
1015
- "APP_PATH": "www",
1016
1048
  "KUBERNETES_CPU_REQUEST": "0.5",
1017
1049
  "KUBERNETES_MEMORY_LIMIT": "4Gi",
1018
1050
  "KUBERNETES_MEMORY_REQUEST": "2Gi",
@@ -1065,7 +1097,21 @@ exports[`matches snapshot 1`] = `
1065
1097
  ],
1066
1098
  },
1067
1099
  "script": [
1068
- "echo '{"id":"some-id","time":"01-01-2023 12:13:14"}' > www/__build_info.json",
1100
+ "echo -e "\\e[0Ksection_start:$(date +%s):injectvars[collapsed=true]\\r\\e[0KInjecting variables"",
1101
+ "export ENV_SHORT="review"",
1102
+ "export APP_DIR="www"",
1103
+ "export ENV_TYPE="review"",
1104
+ "export BUILD_INFO_BUILD_ID="$(git describe --tags 2>/dev/null || git rev-parse HEAD)"",
1105
+ "export BUILD_INFO_BUILD_TIME="$CI_JOB_STARTED_AT"",
1106
+ "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")"",
1107
+ "export HOST="unknown-host.example.com"",
1108
+ "export ROOT_URL="https://unknown-host.example.com"",
1109
+ "export HOST_INTERNAL="unknown-host.example.com"",
1110
+ "export HOST_CANONICAL="unknown-host.example.com"",
1111
+ "export ROOT_URL_INTERNAL="https://unknown-host.example.com"",
1112
+ "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\\"]"",
1113
+ "echo -e "\\e[0Ksection_end:$(date +%s):injectvars\\r\\e[0K"",
1114
+ "echo '{"id":"$(git describe --tags 2>/dev/null || git rev-parse HEAD)","time":"$CI_JOB_STARTED_AT"}' > www/__build_info.json",
1069
1115
  "echo -e "\\e[0Ksection_start:$(date +%s):nodeinstall[collapsed=true]\\r\\e[0KEnsure node version"",
1070
1116
  "if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi",
1071
1117
  "if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi",
@@ -1082,29 +1128,14 @@ exports[`matches snapshot 1`] = `
1082
1128
  ],
1083
1129
  "stage": "build",
1084
1130
  "variables": {
1085
- "APP_DIR": "www",
1086
- "BUILD_INFO_BUILD_TIME": "01-01-2023 12:13:14",
1087
- "BUILD_INFO_CURRENT_VERSION": "3.2.1",
1088
- "BUILD_INFO_ID": "some-id",
1089
- "ENV_SHORT": "review",
1090
- "ENV_TYPE": "review",
1091
- "HOST": "unknown-host.example.com",
1092
- "HOST_CANONICAL": "unknown-host.example.com",
1093
1131
  "KUBERNETES_CPU_REQUEST": "0.5",
1094
1132
  "KUBERNETES_MEMORY_LIMIT": "4Gi",
1095
1133
  "KUBERNETES_MEMORY_REQUEST": "2Gi",
1096
- "ROOT_URL": "https://unknown-host.example.com",
1097
- "ROOT_URL_INTERNAL": "https://unknown-host.example.com",
1098
- "_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"]",
1099
1134
  },
1100
1135
  },
1101
1136
  "www ๐Ÿš€ Deploy | review ": {
1102
1137
  "allow_failure": false,
1103
1138
  "cache": [],
1104
- "environment": {
1105
- "name": "review/some-commit/www",
1106
- "url": "https://unknown-host.example.com",
1107
- },
1108
1139
  "image": "path/to/docker/jobs-default:the-version",
1109
1140
  "interruptible": true,
1110
1141
  "needs": [
@@ -1146,6 +1177,20 @@ exports[`matches snapshot 1`] = `
1146
1177
  },
1147
1178
  ],
1148
1179
  "script": [
1180
+ "echo -e "\\e[0Ksection_start:$(date +%s):injectvars[collapsed=true]\\r\\e[0KInjecting variables"",
1181
+ "export ENV_SHORT="review"",
1182
+ "export APP_DIR="www"",
1183
+ "export ENV_TYPE="review"",
1184
+ "export BUILD_INFO_BUILD_ID="$(git describe --tags 2>/dev/null || git rev-parse HEAD)"",
1185
+ "export BUILD_INFO_BUILD_TIME="$CI_JOB_STARTED_AT"",
1186
+ "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")"",
1187
+ "export HOST="unknown-host.example.com"",
1188
+ "export ROOT_URL="https://unknown-host.example.com"",
1189
+ "export HOST_INTERNAL="unknown-host.example.com"",
1190
+ "export HOST_CANONICAL="unknown-host.example.com"",
1191
+ "export ROOT_URL_INTERNAL="https://unknown-host.example.com"",
1192
+ "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\\"]"",
1193
+ "echo -e "\\e[0Ksection_end:$(date +%s):injectvars\\r\\e[0K"",
1149
1194
  "cd www",
1150
1195
  "yarn deploy",
1151
1196
  "echo Uploading SBOM to Dependency Track",
@@ -1153,20 +1198,9 @@ exports[`matches snapshot 1`] = `
1153
1198
  ],
1154
1199
  "stage": "deploy review",
1155
1200
  "variables": {
1156
- "APP_DIR": "www",
1157
- "BUILD_INFO_BUILD_TIME": "01-01-2023 12:13:14",
1158
- "BUILD_INFO_CURRENT_VERSION": "3.2.1",
1159
- "BUILD_INFO_ID": "some-id",
1160
- "ENV_SHORT": "review",
1161
- "ENV_TYPE": "review",
1162
- "HOST": "unknown-host.example.com",
1163
- "HOST_CANONICAL": "unknown-host.example.com",
1164
1201
  "KUBERNETES_CPU_REQUEST": "0.5",
1165
1202
  "KUBERNETES_MEMORY_LIMIT": "400Mi",
1166
1203
  "KUBERNETES_MEMORY_REQUEST": "200Mi",
1167
- "ROOT_URL": "https://unknown-host.example.com",
1168
- "ROOT_URL_INTERNAL": "https://unknown-host.example.com",
1169
- "_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"]",
1170
1204
  },
1171
1205
  },
1172
1206
  "www ๐Ÿ›ก audit": {
@@ -1182,12 +1216,14 @@ exports[`matches snapshot 1`] = `
1182
1216
  ],
1183
1217
  },
1184
1218
  "script": [
1219
+ "echo -e "\\e[0Ksection_start:$(date +%s):injectvars[collapsed=true]\\r\\e[0KInjecting variables"",
1220
+ "export APP_PATH="www"",
1221
+ "echo -e "\\e[0Ksection_end:$(date +%s):injectvars\\r\\e[0K"",
1185
1222
  "cd www",
1186
1223
  "yarn npm audit --environment production",
1187
1224
  ],
1188
1225
  "stage": "test",
1189
1226
  "variables": {
1190
- "APP_PATH": "www",
1191
1227
  "KUBERNETES_CPU_REQUEST": "0.5",
1192
1228
  "KUBERNETES_MEMORY_LIMIT": "4Gi",
1193
1229
  "KUBERNETES_MEMORY_REQUEST": "2Gi",
@@ -1221,6 +1257,9 @@ exports[`matches snapshot 1`] = `
1221
1257
  ],
1222
1258
  },
1223
1259
  "script": [
1260
+ "echo -e "\\e[0Ksection_start:$(date +%s):injectvars[collapsed=true]\\r\\e[0KInjecting variables"",
1261
+ "export APP_PATH="www"",
1262
+ "echo -e "\\e[0Ksection_end:$(date +%s):injectvars\\r\\e[0K"",
1224
1263
  "echo -e "\\e[0Ksection_start:$(date +%s):nodeinstall[collapsed=true]\\r\\e[0KEnsure node version"",
1225
1264
  "if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi",
1226
1265
  "if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi",
@@ -1237,7 +1276,6 @@ exports[`matches snapshot 1`] = `
1237
1276
  ],
1238
1277
  "stage": "test",
1239
1278
  "variables": {
1240
- "APP_PATH": "www",
1241
1279
  "KUBERNETES_CPU_REQUEST": "0.5",
1242
1280
  "KUBERNETES_MEMORY_LIMIT": "4Gi",
1243
1281
  "KUBERNETES_MEMORY_REQUEST": "2Gi",
@@ -1261,6 +1299,8 @@ exports[`matches snapshot 1`] = `
1261
1299
  ],
1262
1300
  },
1263
1301
  "script": [
1302
+ "echo -e "\\e[0Ksection_start:$(date +%s):injectvars[collapsed=true]\\r\\e[0KInjecting variables"",
1303
+ "echo -e "\\e[0Ksection_end:$(date +%s):injectvars\\r\\e[0K"",
1264
1304
  "trivy fs --quiet --format cyclonedx --output "__sbom.json" www",
1265
1305
  ],
1266
1306
  "stage": "build",
@@ -1313,7 +1353,7 @@ exports[`matches snapshot 1`] = `
1313
1353
  ],
1314
1354
  "variables": {
1315
1355
  "FF_USE_FASTZIP": "true",
1316
- "GIT_DEPTH": 1,
1356
+ "GIT_DEPTH": "1",
1317
1357
  },
1318
1358
  "workflow": {
1319
1359
  "rules": [
@@ -1390,7 +1430,21 @@ exports[`matches snapshot 1`] = `
1390
1430
  ],
1391
1431
  },
1392
1432
  "script": [
1393
- "echo '{"id":"some-id","time":"01-01-2023 12:13:14"}' > api/__build_info.json",
1433
+ "echo -e "\\e[0Ksection_start:$(date +%s):injectvars[collapsed=true]\\r\\e[0KInjecting variables"",
1434
+ "export ENV_SHORT="prod"",
1435
+ "export APP_DIR="api"",
1436
+ "export ENV_TYPE="prod"",
1437
+ "export BUILD_INFO_BUILD_ID="$(git describe --tags 2>/dev/null || git rev-parse HEAD)"",
1438
+ "export BUILD_INFO_BUILD_TIME="$CI_JOB_STARTED_AT"",
1439
+ "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")"",
1440
+ "export HOST="unknown-host.example.com"",
1441
+ "export ROOT_URL="https://unknown-host.example.com"",
1442
+ "export HOST_INTERNAL="unknown-host.example.com"",
1443
+ "export HOST_CANONICAL="unknown-host.example.com"",
1444
+ "export ROOT_URL_INTERNAL="https://unknown-host.example.com"",
1445
+ "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\\"]"",
1446
+ "echo -e "\\e[0Ksection_end:$(date +%s):injectvars\\r\\e[0K"",
1447
+ "echo '{"id":"$(git describe --tags 2>/dev/null || git rev-parse HEAD)","time":"$CI_JOB_STARTED_AT"}' > api/__build_info.json",
1394
1448
  "echo -e "\\e[0Ksection_start:$(date +%s):nodeinstall[collapsed=true]\\r\\e[0KEnsure node version"",
1395
1449
  "if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi",
1396
1450
  "if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi",
@@ -1407,20 +1461,9 @@ exports[`matches snapshot 1`] = `
1407
1461
  ],
1408
1462
  "stage": "build",
1409
1463
  "variables": {
1410
- "APP_DIR": "api",
1411
- "BUILD_INFO_BUILD_TIME": "01-01-2023 12:13:14",
1412
- "BUILD_INFO_CURRENT_VERSION": "3.2.1",
1413
- "BUILD_INFO_ID": "some-id",
1414
- "ENV_SHORT": "prod",
1415
- "ENV_TYPE": "prod",
1416
- "HOST": "unknown-host.example.com",
1417
- "HOST_CANONICAL": "unknown-host.example.com",
1418
1464
  "KUBERNETES_CPU_REQUEST": "0.5",
1419
1465
  "KUBERNETES_MEMORY_LIMIT": "4Gi",
1420
1466
  "KUBERNETES_MEMORY_REQUEST": "2Gi",
1421
- "ROOT_URL": "https://unknown-host.example.com",
1422
- "ROOT_URL_INTERNAL": "https://unknown-host.example.com",
1423
- "_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"]",
1424
1467
  },
1425
1468
  },
1426
1469
  "api ๐Ÿ”จ app | stage ": {
@@ -1470,7 +1513,21 @@ exports[`matches snapshot 1`] = `
1470
1513
  ],
1471
1514
  },
1472
1515
  "script": [
1473
- "echo '{"id":"some-id","time":"01-01-2023 12:13:14"}' > api/__build_info.json",
1516
+ "echo -e "\\e[0Ksection_start:$(date +%s):injectvars[collapsed=true]\\r\\e[0KInjecting variables"",
1517
+ "export ENV_SHORT="stage"",
1518
+ "export APP_DIR="api"",
1519
+ "export ENV_TYPE="stage"",
1520
+ "export BUILD_INFO_BUILD_ID="$(git describe --tags 2>/dev/null || git rev-parse HEAD)"",
1521
+ "export BUILD_INFO_BUILD_TIME="$CI_JOB_STARTED_AT"",
1522
+ "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")"",
1523
+ "export HOST="unknown-host.example.com"",
1524
+ "export ROOT_URL="https://unknown-host.example.com"",
1525
+ "export HOST_INTERNAL="unknown-host.example.com"",
1526
+ "export HOST_CANONICAL="unknown-host.example.com"",
1527
+ "export ROOT_URL_INTERNAL="https://unknown-host.example.com"",
1528
+ "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\\"]"",
1529
+ "echo -e "\\e[0Ksection_end:$(date +%s):injectvars\\r\\e[0K"",
1530
+ "echo '{"id":"$(git describe --tags 2>/dev/null || git rev-parse HEAD)","time":"$CI_JOB_STARTED_AT"}' > api/__build_info.json",
1474
1531
  "echo -e "\\e[0Ksection_start:$(date +%s):nodeinstall[collapsed=true]\\r\\e[0KEnsure node version"",
1475
1532
  "if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi",
1476
1533
  "if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi",
@@ -1487,29 +1544,14 @@ exports[`matches snapshot 1`] = `
1487
1544
  ],
1488
1545
  "stage": "build",
1489
1546
  "variables": {
1490
- "APP_DIR": "api",
1491
- "BUILD_INFO_BUILD_TIME": "01-01-2023 12:13:14",
1492
- "BUILD_INFO_CURRENT_VERSION": "3.2.1",
1493
- "BUILD_INFO_ID": "some-id",
1494
- "ENV_SHORT": "stage",
1495
- "ENV_TYPE": "stage",
1496
- "HOST": "unknown-host.example.com",
1497
- "HOST_CANONICAL": "unknown-host.example.com",
1498
1547
  "KUBERNETES_CPU_REQUEST": "0.5",
1499
1548
  "KUBERNETES_MEMORY_LIMIT": "4Gi",
1500
1549
  "KUBERNETES_MEMORY_REQUEST": "2Gi",
1501
- "ROOT_URL": "https://unknown-host.example.com",
1502
- "ROOT_URL_INTERNAL": "https://unknown-host.example.com",
1503
- "_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"]",
1504
1550
  },
1505
1551
  },
1506
1552
  "api ๐Ÿš€ Deploy | prod ": {
1507
1553
  "allow_failure": true,
1508
1554
  "cache": [],
1509
- "environment": {
1510
- "name": "prod/api",
1511
- "url": "https://unknown-host.example.com",
1512
- },
1513
1555
  "image": "path/to/docker/jobs-default:the-version",
1514
1556
  "interruptible": true,
1515
1557
  "needs": [
@@ -1535,6 +1577,20 @@ exports[`matches snapshot 1`] = `
1535
1577
  },
1536
1578
  ],
1537
1579
  "script": [
1580
+ "echo -e "\\e[0Ksection_start:$(date +%s):injectvars[collapsed=true]\\r\\e[0KInjecting variables"",
1581
+ "export ENV_SHORT="prod"",
1582
+ "export APP_DIR="api"",
1583
+ "export ENV_TYPE="prod"",
1584
+ "export BUILD_INFO_BUILD_ID="$(git describe --tags 2>/dev/null || git rev-parse HEAD)"",
1585
+ "export BUILD_INFO_BUILD_TIME="$CI_JOB_STARTED_AT"",
1586
+ "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")"",
1587
+ "export HOST="unknown-host.example.com"",
1588
+ "export ROOT_URL="https://unknown-host.example.com"",
1589
+ "export HOST_INTERNAL="unknown-host.example.com"",
1590
+ "export HOST_CANONICAL="unknown-host.example.com"",
1591
+ "export ROOT_URL_INTERNAL="https://unknown-host.example.com"",
1592
+ "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\\"]"",
1593
+ "echo -e "\\e[0Ksection_end:$(date +%s):injectvars\\r\\e[0K"",
1538
1594
  "cd api",
1539
1595
  "yarn deploy",
1540
1596
  "echo Uploading SBOM to Dependency Track",
@@ -1542,29 +1598,14 @@ exports[`matches snapshot 1`] = `
1542
1598
  ],
1543
1599
  "stage": "deploy prod",
1544
1600
  "variables": {
1545
- "APP_DIR": "api",
1546
- "BUILD_INFO_BUILD_TIME": "01-01-2023 12:13:14",
1547
- "BUILD_INFO_CURRENT_VERSION": "3.2.1",
1548
- "BUILD_INFO_ID": "some-id",
1549
- "ENV_SHORT": "prod",
1550
- "ENV_TYPE": "prod",
1551
- "HOST": "unknown-host.example.com",
1552
- "HOST_CANONICAL": "unknown-host.example.com",
1553
1601
  "KUBERNETES_CPU_REQUEST": "0.5",
1554
1602
  "KUBERNETES_MEMORY_LIMIT": "400Mi",
1555
1603
  "KUBERNETES_MEMORY_REQUEST": "200Mi",
1556
- "ROOT_URL": "https://unknown-host.example.com",
1557
- "ROOT_URL_INTERNAL": "https://unknown-host.example.com",
1558
- "_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"]",
1559
1604
  },
1560
1605
  },
1561
1606
  "api ๐Ÿš€ Deploy | stage ": {
1562
1607
  "allow_failure": false,
1563
1608
  "cache": [],
1564
- "environment": {
1565
- "name": "stage/api",
1566
- "url": "https://unknown-host.example.com",
1567
- },
1568
1609
  "image": "path/to/docker/jobs-default:the-version",
1569
1610
  "interruptible": true,
1570
1611
  "needs": [
@@ -1590,6 +1631,20 @@ exports[`matches snapshot 1`] = `
1590
1631
  },
1591
1632
  ],
1592
1633
  "script": [
1634
+ "echo -e "\\e[0Ksection_start:$(date +%s):injectvars[collapsed=true]\\r\\e[0KInjecting variables"",
1635
+ "export ENV_SHORT="stage"",
1636
+ "export APP_DIR="api"",
1637
+ "export ENV_TYPE="stage"",
1638
+ "export BUILD_INFO_BUILD_ID="$(git describe --tags 2>/dev/null || git rev-parse HEAD)"",
1639
+ "export BUILD_INFO_BUILD_TIME="$CI_JOB_STARTED_AT"",
1640
+ "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")"",
1641
+ "export HOST="unknown-host.example.com"",
1642
+ "export ROOT_URL="https://unknown-host.example.com"",
1643
+ "export HOST_INTERNAL="unknown-host.example.com"",
1644
+ "export HOST_CANONICAL="unknown-host.example.com"",
1645
+ "export ROOT_URL_INTERNAL="https://unknown-host.example.com"",
1646
+ "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\\"]"",
1647
+ "echo -e "\\e[0Ksection_end:$(date +%s):injectvars\\r\\e[0K"",
1593
1648
  "cd api",
1594
1649
  "yarn deploy",
1595
1650
  "echo Uploading SBOM to Dependency Track",
@@ -1597,20 +1652,9 @@ exports[`matches snapshot 1`] = `
1597
1652
  ],
1598
1653
  "stage": "deploy stage",
1599
1654
  "variables": {
1600
- "APP_DIR": "api",
1601
- "BUILD_INFO_BUILD_TIME": "01-01-2023 12:13:14",
1602
- "BUILD_INFO_CURRENT_VERSION": "3.2.1",
1603
- "BUILD_INFO_ID": "some-id",
1604
- "ENV_SHORT": "stage",
1605
- "ENV_TYPE": "stage",
1606
- "HOST": "unknown-host.example.com",
1607
- "HOST_CANONICAL": "unknown-host.example.com",
1608
1655
  "KUBERNETES_CPU_REQUEST": "0.5",
1609
1656
  "KUBERNETES_MEMORY_LIMIT": "400Mi",
1610
1657
  "KUBERNETES_MEMORY_REQUEST": "200Mi",
1611
- "ROOT_URL": "https://unknown-host.example.com",
1612
- "ROOT_URL_INTERNAL": "https://unknown-host.example.com",
1613
- "_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"]",
1614
1658
  },
1615
1659
  },
1616
1660
  "api ๐Ÿงพ sbom | prod ": {
@@ -1631,6 +1675,8 @@ exports[`matches snapshot 1`] = `
1631
1675
  ],
1632
1676
  },
1633
1677
  "script": [
1678
+ "echo -e "\\e[0Ksection_start:$(date +%s):injectvars[collapsed=true]\\r\\e[0KInjecting variables"",
1679
+ "echo -e "\\e[0Ksection_end:$(date +%s):injectvars\\r\\e[0K"",
1634
1680
  "trivy fs --quiet --format cyclonedx --output "__sbom.json" api",
1635
1681
  ],
1636
1682
  "stage": "build",
@@ -1654,6 +1700,8 @@ exports[`matches snapshot 1`] = `
1654
1700
  ],
1655
1701
  },
1656
1702
  "script": [
1703
+ "echo -e "\\e[0Ksection_start:$(date +%s):injectvars[collapsed=true]\\r\\e[0KInjecting variables"",
1704
+ "echo -e "\\e[0Ksection_end:$(date +%s):injectvars\\r\\e[0K"",
1657
1705
  "trivy fs --quiet --format cyclonedx --output "__sbom.json" api",
1658
1706
  ],
1659
1707
  "stage": "build",
@@ -1706,7 +1754,21 @@ exports[`matches snapshot 1`] = `
1706
1754
  ],
1707
1755
  },
1708
1756
  "script": [
1709
- "echo '{"id":"some-id","time":"01-01-2023 12:13:14"}' > www/__build_info.json",
1757
+ "echo -e "\\e[0Ksection_start:$(date +%s):injectvars[collapsed=true]\\r\\e[0KInjecting variables"",
1758
+ "export ENV_SHORT="prod"",
1759
+ "export APP_DIR="www"",
1760
+ "export ENV_TYPE="prod"",
1761
+ "export BUILD_INFO_BUILD_ID="$(git describe --tags 2>/dev/null || git rev-parse HEAD)"",
1762
+ "export BUILD_INFO_BUILD_TIME="$CI_JOB_STARTED_AT"",
1763
+ "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")"",
1764
+ "export HOST="unknown-host.example.com"",
1765
+ "export ROOT_URL="https://unknown-host.example.com"",
1766
+ "export HOST_INTERNAL="unknown-host.example.com"",
1767
+ "export HOST_CANONICAL="unknown-host.example.com"",
1768
+ "export ROOT_URL_INTERNAL="https://unknown-host.example.com"",
1769
+ "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\\"]"",
1770
+ "echo -e "\\e[0Ksection_end:$(date +%s):injectvars\\r\\e[0K"",
1771
+ "echo '{"id":"$(git describe --tags 2>/dev/null || git rev-parse HEAD)","time":"$CI_JOB_STARTED_AT"}' > www/__build_info.json",
1710
1772
  "echo -e "\\e[0Ksection_start:$(date +%s):nodeinstall[collapsed=true]\\r\\e[0KEnsure node version"",
1711
1773
  "if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi",
1712
1774
  "if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi",
@@ -1723,20 +1785,9 @@ exports[`matches snapshot 1`] = `
1723
1785
  ],
1724
1786
  "stage": "build",
1725
1787
  "variables": {
1726
- "APP_DIR": "www",
1727
- "BUILD_INFO_BUILD_TIME": "01-01-2023 12:13:14",
1728
- "BUILD_INFO_CURRENT_VERSION": "3.2.1",
1729
- "BUILD_INFO_ID": "some-id",
1730
- "ENV_SHORT": "prod",
1731
- "ENV_TYPE": "prod",
1732
- "HOST": "unknown-host.example.com",
1733
- "HOST_CANONICAL": "unknown-host.example.com",
1734
1788
  "KUBERNETES_CPU_REQUEST": "0.5",
1735
1789
  "KUBERNETES_MEMORY_LIMIT": "4Gi",
1736
1790
  "KUBERNETES_MEMORY_REQUEST": "2Gi",
1737
- "ROOT_URL": "https://unknown-host.example.com",
1738
- "ROOT_URL_INTERNAL": "https://unknown-host.example.com",
1739
- "_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"]",
1740
1791
  },
1741
1792
  },
1742
1793
  "www ๐Ÿ”จ app | stage ": {
@@ -1786,7 +1837,21 @@ exports[`matches snapshot 1`] = `
1786
1837
  ],
1787
1838
  },
1788
1839
  "script": [
1789
- "echo '{"id":"some-id","time":"01-01-2023 12:13:14"}' > www/__build_info.json",
1840
+ "echo -e "\\e[0Ksection_start:$(date +%s):injectvars[collapsed=true]\\r\\e[0KInjecting variables"",
1841
+ "export ENV_SHORT="stage"",
1842
+ "export APP_DIR="www"",
1843
+ "export ENV_TYPE="stage"",
1844
+ "export BUILD_INFO_BUILD_ID="$(git describe --tags 2>/dev/null || git rev-parse HEAD)"",
1845
+ "export BUILD_INFO_BUILD_TIME="$CI_JOB_STARTED_AT"",
1846
+ "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")"",
1847
+ "export HOST="unknown-host.example.com"",
1848
+ "export ROOT_URL="https://unknown-host.example.com"",
1849
+ "export HOST_INTERNAL="unknown-host.example.com"",
1850
+ "export HOST_CANONICAL="unknown-host.example.com"",
1851
+ "export ROOT_URL_INTERNAL="https://unknown-host.example.com"",
1852
+ "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\\"]"",
1853
+ "echo -e "\\e[0Ksection_end:$(date +%s):injectvars\\r\\e[0K"",
1854
+ "echo '{"id":"$(git describe --tags 2>/dev/null || git rev-parse HEAD)","time":"$CI_JOB_STARTED_AT"}' > www/__build_info.json",
1790
1855
  "echo -e "\\e[0Ksection_start:$(date +%s):nodeinstall[collapsed=true]\\r\\e[0KEnsure node version"",
1791
1856
  "if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi",
1792
1857
  "if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi",
@@ -1803,29 +1868,14 @@ exports[`matches snapshot 1`] = `
1803
1868
  ],
1804
1869
  "stage": "build",
1805
1870
  "variables": {
1806
- "APP_DIR": "www",
1807
- "BUILD_INFO_BUILD_TIME": "01-01-2023 12:13:14",
1808
- "BUILD_INFO_CURRENT_VERSION": "3.2.1",
1809
- "BUILD_INFO_ID": "some-id",
1810
- "ENV_SHORT": "stage",
1811
- "ENV_TYPE": "stage",
1812
- "HOST": "unknown-host.example.com",
1813
- "HOST_CANONICAL": "unknown-host.example.com",
1814
1871
  "KUBERNETES_CPU_REQUEST": "0.5",
1815
1872
  "KUBERNETES_MEMORY_LIMIT": "4Gi",
1816
1873
  "KUBERNETES_MEMORY_REQUEST": "2Gi",
1817
- "ROOT_URL": "https://unknown-host.example.com",
1818
- "ROOT_URL_INTERNAL": "https://unknown-host.example.com",
1819
- "_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"]",
1820
1874
  },
1821
1875
  },
1822
1876
  "www ๐Ÿš€ Deploy | prod ": {
1823
1877
  "allow_failure": true,
1824
1878
  "cache": [],
1825
- "environment": {
1826
- "name": "prod/www",
1827
- "url": "https://unknown-host.example.com",
1828
- },
1829
1879
  "image": "path/to/docker/jobs-default:the-version",
1830
1880
  "interruptible": true,
1831
1881
  "needs": [
@@ -1855,6 +1905,20 @@ exports[`matches snapshot 1`] = `
1855
1905
  },
1856
1906
  ],
1857
1907
  "script": [
1908
+ "echo -e "\\e[0Ksection_start:$(date +%s):injectvars[collapsed=true]\\r\\e[0KInjecting variables"",
1909
+ "export ENV_SHORT="prod"",
1910
+ "export APP_DIR="www"",
1911
+ "export ENV_TYPE="prod"",
1912
+ "export BUILD_INFO_BUILD_ID="$(git describe --tags 2>/dev/null || git rev-parse HEAD)"",
1913
+ "export BUILD_INFO_BUILD_TIME="$CI_JOB_STARTED_AT"",
1914
+ "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")"",
1915
+ "export HOST="unknown-host.example.com"",
1916
+ "export ROOT_URL="https://unknown-host.example.com"",
1917
+ "export HOST_INTERNAL="unknown-host.example.com"",
1918
+ "export HOST_CANONICAL="unknown-host.example.com"",
1919
+ "export ROOT_URL_INTERNAL="https://unknown-host.example.com"",
1920
+ "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\\"]"",
1921
+ "echo -e "\\e[0Ksection_end:$(date +%s):injectvars\\r\\e[0K"",
1858
1922
  "cd www",
1859
1923
  "yarn deploy",
1860
1924
  "echo Uploading SBOM to Dependency Track",
@@ -1862,29 +1926,14 @@ exports[`matches snapshot 1`] = `
1862
1926
  ],
1863
1927
  "stage": "deploy prod",
1864
1928
  "variables": {
1865
- "APP_DIR": "www",
1866
- "BUILD_INFO_BUILD_TIME": "01-01-2023 12:13:14",
1867
- "BUILD_INFO_CURRENT_VERSION": "3.2.1",
1868
- "BUILD_INFO_ID": "some-id",
1869
- "ENV_SHORT": "prod",
1870
- "ENV_TYPE": "prod",
1871
- "HOST": "unknown-host.example.com",
1872
- "HOST_CANONICAL": "unknown-host.example.com",
1873
1929
  "KUBERNETES_CPU_REQUEST": "0.5",
1874
1930
  "KUBERNETES_MEMORY_LIMIT": "400Mi",
1875
1931
  "KUBERNETES_MEMORY_REQUEST": "200Mi",
1876
- "ROOT_URL": "https://unknown-host.example.com",
1877
- "ROOT_URL_INTERNAL": "https://unknown-host.example.com",
1878
- "_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"]",
1879
1932
  },
1880
1933
  },
1881
1934
  "www ๐Ÿš€ Deploy | stage ": {
1882
1935
  "allow_failure": false,
1883
1936
  "cache": [],
1884
- "environment": {
1885
- "name": "stage/www",
1886
- "url": "https://unknown-host.example.com",
1887
- },
1888
1937
  "image": "path/to/docker/jobs-default:the-version",
1889
1938
  "interruptible": true,
1890
1939
  "needs": [
@@ -1914,6 +1963,20 @@ exports[`matches snapshot 1`] = `
1914
1963
  },
1915
1964
  ],
1916
1965
  "script": [
1966
+ "echo -e "\\e[0Ksection_start:$(date +%s):injectvars[collapsed=true]\\r\\e[0KInjecting variables"",
1967
+ "export ENV_SHORT="stage"",
1968
+ "export APP_DIR="www"",
1969
+ "export ENV_TYPE="stage"",
1970
+ "export BUILD_INFO_BUILD_ID="$(git describe --tags 2>/dev/null || git rev-parse HEAD)"",
1971
+ "export BUILD_INFO_BUILD_TIME="$CI_JOB_STARTED_AT"",
1972
+ "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")"",
1973
+ "export HOST="unknown-host.example.com"",
1974
+ "export ROOT_URL="https://unknown-host.example.com"",
1975
+ "export HOST_INTERNAL="unknown-host.example.com"",
1976
+ "export HOST_CANONICAL="unknown-host.example.com"",
1977
+ "export ROOT_URL_INTERNAL="https://unknown-host.example.com"",
1978
+ "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\\"]"",
1979
+ "echo -e "\\e[0Ksection_end:$(date +%s):injectvars\\r\\e[0K"",
1917
1980
  "cd www",
1918
1981
  "yarn deploy",
1919
1982
  "echo Uploading SBOM to Dependency Track",
@@ -1921,20 +1984,9 @@ exports[`matches snapshot 1`] = `
1921
1984
  ],
1922
1985
  "stage": "deploy stage",
1923
1986
  "variables": {
1924
- "APP_DIR": "www",
1925
- "BUILD_INFO_BUILD_TIME": "01-01-2023 12:13:14",
1926
- "BUILD_INFO_CURRENT_VERSION": "3.2.1",
1927
- "BUILD_INFO_ID": "some-id",
1928
- "ENV_SHORT": "stage",
1929
- "ENV_TYPE": "stage",
1930
- "HOST": "unknown-host.example.com",
1931
- "HOST_CANONICAL": "unknown-host.example.com",
1932
1987
  "KUBERNETES_CPU_REQUEST": "0.5",
1933
1988
  "KUBERNETES_MEMORY_LIMIT": "400Mi",
1934
1989
  "KUBERNETES_MEMORY_REQUEST": "200Mi",
1935
- "ROOT_URL": "https://unknown-host.example.com",
1936
- "ROOT_URL_INTERNAL": "https://unknown-host.example.com",
1937
- "_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"]",
1938
1990
  },
1939
1991
  },
1940
1992
  "www ๐Ÿงพ sbom | prod ": {
@@ -1955,6 +2007,8 @@ exports[`matches snapshot 1`] = `
1955
2007
  ],
1956
2008
  },
1957
2009
  "script": [
2010
+ "echo -e "\\e[0Ksection_start:$(date +%s):injectvars[collapsed=true]\\r\\e[0KInjecting variables"",
2011
+ "echo -e "\\e[0Ksection_end:$(date +%s):injectvars\\r\\e[0K"",
1958
2012
  "trivy fs --quiet --format cyclonedx --output "__sbom.json" www",
1959
2013
  ],
1960
2014
  "stage": "build",
@@ -1978,6 +2032,8 @@ exports[`matches snapshot 1`] = `
1978
2032
  ],
1979
2033
  },
1980
2034
  "script": [
2035
+ "echo -e "\\e[0Ksection_start:$(date +%s):injectvars[collapsed=true]\\r\\e[0KInjecting variables"",
2036
+ "echo -e "\\e[0Ksection_end:$(date +%s):injectvars\\r\\e[0K"",
1981
2037
  "trivy fs --quiet --format cyclonedx --output "__sbom.json" www",
1982
2038
  ],
1983
2039
  "stage": "build",
@@ -2030,7 +2086,7 @@ exports[`matches snapshot 1`] = `
2030
2086
  ],
2031
2087
  "variables": {
2032
2088
  "FF_USE_FASTZIP": "true",
2033
- "GIT_DEPTH": 1,
2089
+ "GIT_DEPTH": "1",
2034
2090
  },
2035
2091
  "workflow": {
2036
2092
  "rules": [