@catladder/pipeline 1.148.0 → 1.149.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 (59) hide show
  1. package/dist/bundles/catladder-gitlab/index.js +2 -2
  2. package/dist/config/__tests__/getAllEnvs.test.d.ts +1 -0
  3. package/dist/config/__tests__/getAllEnvs.test.js +79 -0
  4. package/dist/config/__tests__/getAllEnvsInAllComponents.test.d.ts +1 -0
  5. package/dist/config/__tests__/getAllEnvsInAllComponents.test.js +73 -0
  6. package/dist/constants.js +1 -1
  7. package/dist/context/getBuildInfoVariables.js +1 -1
  8. package/dist/deploy/cloudRun/createJobs/common.js +1 -1
  9. package/dist/deploy/sbom.js +2 -2
  10. package/dist/pipeline/__tests__/getPipelineStages.test.d.ts +1 -0
  11. package/dist/pipeline/__tests__/getPipelineStages.test.js +73 -0
  12. package/dist/pipeline/getPipelineStages.d.ts +3 -4
  13. package/dist/pipeline/getPipelineStages.js +6 -5
  14. package/dist/tsconfig.tsbuildinfo +1 -1
  15. package/dist/utils/writeFiles.d.ts +5 -1
  16. package/dist/utils/writeFiles.js +10 -2
  17. package/examples/__snapshots__/cloud-run-memory-limit.ts.snap +20 -41
  18. package/examples/__snapshots__/cloud-run-meteor-with-worker.ts.snap +20 -41
  19. package/examples/__snapshots__/cloud-run-no-cpu-throttling.ts.snap +20 -41
  20. package/examples/__snapshots__/cloud-run-no-service.ts.snap +20 -41
  21. package/examples/__snapshots__/cloud-run-non-public.ts.snap +20 -41
  22. package/examples/__snapshots__/cloud-run-post-stop-job.ts.snap +20 -41
  23. package/examples/__snapshots__/cloud-run-service-gen2.ts.snap +20 -41
  24. package/examples/__snapshots__/cloud-run-service-with-volumes.ts.snap +20 -41
  25. package/examples/__snapshots__/cloud-run-storybook.ts.snap +20 -41
  26. package/examples/__snapshots__/cloud-run-with-ngnix.ts.snap +20 -41
  27. package/examples/__snapshots__/cloud-run-with-sql-reuse-db.ts.snap +40 -61
  28. package/examples/__snapshots__/cloud-run-with-sql.ts.snap +40 -61
  29. package/examples/__snapshots__/cloud-run-with-worker.ts.snap +20 -41
  30. package/examples/__snapshots__/custom-build-job-with-tests.ts.snap +20 -41
  31. package/examples/__snapshots__/custom-build-job.ts.snap +20 -41
  32. package/examples/__snapshots__/custom-deploy.ts.snap +16 -37
  33. package/examples/__snapshots__/custom-envs.ts.snap +6 -27
  34. package/examples/__snapshots__/custom-sbom-java.ts.snap +20 -41
  35. package/examples/__snapshots__/kubernetes-application-customization.ts.snap +28 -49
  36. package/examples/__snapshots__/kubernetes-with-cloud-sql-legacy.ts.snap +28 -49
  37. package/examples/__snapshots__/kubernetes-with-cloud-sql.ts.snap +28 -49
  38. package/examples/__snapshots__/kubernetes-with-jobs.ts.snap +56 -77
  39. package/examples/__snapshots__/kubernetes-with-mongodb.ts.snap +28 -49
  40. package/examples/__snapshots__/local-dot-env.ts.snap +20 -41
  41. package/examples/__snapshots__/meteor-kubernetes.ts.snap +28 -49
  42. package/examples/__snapshots__/multiline-var.ts.snap +48 -69
  43. package/examples/__snapshots__/native-app.ts.snap +36 -57
  44. package/examples/__snapshots__/node-build-with-custom-image.ts.snap +20 -41
  45. package/examples/__snapshots__/node-build-with-docker-additions.ts.snap +20 -41
  46. package/examples/__snapshots__/rails-k8s-with-worker.ts.snap +48 -90
  47. package/examples/__snapshots__/wait-for-other-deploy.ts.snap +24 -45
  48. package/package.json +1 -1
  49. package/src/config/__tests__/__snapshots__/getAllEnvs.test.ts.snap +31 -0
  50. package/src/config/__tests__/__snapshots__/getAllEnvsInAllComponents.test.ts.snap +15 -0
  51. package/src/config/__tests__/getAllEnvs.test.ts +71 -0
  52. package/src/config/__tests__/getAllEnvsInAllComponents.test.ts +63 -0
  53. package/src/context/getBuildInfoVariables.ts +1 -1
  54. package/src/deploy/cloudRun/createJobs/common.ts +1 -1
  55. package/src/deploy/sbom.ts +2 -2
  56. package/src/pipeline/__tests__/__snapshots__/getPipelineStages.test.ts.snap +69 -0
  57. package/src/pipeline/__tests__/getPipelineStages.test.ts +63 -0
  58. package/src/pipeline/getPipelineStages.ts +6 -5
  59. package/src/utils/writeFiles.ts +14 -1
@@ -110,7 +110,7 @@ exports[`matches snapshot 1`] = `
110
110
  "export ENV_TYPE="dev"",
111
111
  "export BUILD_INFO_BUILD_ID="$(git describe --tags 2>/dev/null || git rev-parse HEAD)"",
112
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")"",
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\\/v//'); [ -z "$tag" ] && echo "0.0.0" || echo "$tag")"",
114
114
  "export HOST="unknown-host.example.com"",
115
115
  "export ROOT_URL="https://unknown-host.example.com"",
116
116
  "export HOST_INTERNAL="unknown-host.example.com"",
@@ -186,7 +186,7 @@ exports[`matches snapshot 1`] = `
186
186
  "export ENV_TYPE="dev"",
187
187
  "export BUILD_INFO_BUILD_ID="$(git describe --tags 2>/dev/null || git rev-parse HEAD)"",
188
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")"",
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\\/v//'); [ -z "$tag" ] && echo "0.0.0" || echo "$tag")"",
190
190
  "export HOST="unknown-host.example.com"",
191
191
  "export ROOT_URL="https://unknown-host.example.com"",
192
192
  "export HOST_INTERNAL="unknown-host.example.com"",
@@ -196,7 +196,7 @@ exports[`matches snapshot 1`] = `
196
196
  "echo -e "\\e[0Ksection_end:$(date +%s):injectvars\\r\\e[0K"",
197
197
  "cd api",
198
198
  "yarn deploy",
199
- "echo Uploading SBOM to Dependency Track",
199
+ "echo 'Uploading SBOM to Dependency Track'",
200
200
  "/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" upload "pan-test-app/api" "https://unknown-host.example.com" "__sbom.json" vex.json || true",
201
201
  ],
202
202
  "stage": "deploy dev",
@@ -414,7 +414,7 @@ exports[`matches snapshot 1`] = `
414
414
  "export ENV_TYPE="dev"",
415
415
  "export BUILD_INFO_BUILD_ID="$(git describe --tags 2>/dev/null || git rev-parse HEAD)"",
416
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")"",
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\\/v//'); [ -z "$tag" ] && echo "0.0.0" || echo "$tag")"",
418
418
  "export HOST="unknown-host.example.com"",
419
419
  "export ROOT_URL="https://unknown-host.example.com"",
420
420
  "export HOST_INTERNAL="unknown-host.example.com"",
@@ -494,7 +494,7 @@ exports[`matches snapshot 1`] = `
494
494
  "export ENV_TYPE="dev"",
495
495
  "export BUILD_INFO_BUILD_ID="$(git describe --tags 2>/dev/null || git rev-parse HEAD)"",
496
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")"",
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\\/v//'); [ -z "$tag" ] && echo "0.0.0" || echo "$tag")"",
498
498
  "export HOST="unknown-host.example.com"",
499
499
  "export ROOT_URL="https://unknown-host.example.com"",
500
500
  "export HOST_INTERNAL="unknown-host.example.com"",
@@ -504,7 +504,7 @@ exports[`matches snapshot 1`] = `
504
504
  "echo -e "\\e[0Ksection_end:$(date +%s):injectvars\\r\\e[0K"",
505
505
  "cd www",
506
506
  "yarn deploy",
507
- "echo Uploading SBOM to Dependency Track",
507
+ "echo 'Uploading SBOM to Dependency Track'",
508
508
  "/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" upload "pan-test-app/www" "https://unknown-host.example.com" "__sbom.json" vex.json || true",
509
509
  ],
510
510
  "stage": "deploy dev",
@@ -624,43 +624,36 @@ exports[`matches snapshot 1`] = `
624
624
  "setup review",
625
625
  "setup stage",
626
626
  "setup prod",
627
- "setup local",
628
627
  "test",
629
628
  "test dev",
630
629
  "test review",
631
630
  "test stage",
632
631
  "test prod",
633
- "test local",
634
632
  "build",
635
633
  "build dev",
636
634
  "build review",
637
635
  "build stage",
638
636
  "build prod",
639
- "build local",
640
637
  "deploy",
641
638
  "deploy dev",
642
639
  "deploy review",
643
640
  "deploy stage",
644
641
  "deploy prod",
645
- "deploy local",
646
642
  "verify",
647
643
  "verify dev",
648
644
  "verify review",
649
645
  "verify stage",
650
646
  "verify prod",
651
- "verify local",
652
647
  "rollback",
653
648
  "rollback dev",
654
649
  "rollback review",
655
650
  "rollback stage",
656
651
  "rollback prod",
657
- "rollback local",
658
652
  "stop",
659
653
  "stop dev",
660
654
  "stop review",
661
655
  "stop stage",
662
656
  "stop prod",
663
- "stop local",
664
657
  ],
665
658
  "variables": {
666
659
  "FF_USE_FASTZIP": "true",
@@ -799,7 +792,7 @@ exports[`matches snapshot 1`] = `
799
792
  "export ENV_TYPE="review"",
800
793
  "export BUILD_INFO_BUILD_ID="$(git describe --tags 2>/dev/null || git rev-parse HEAD)"",
801
794
  "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")"",
795
+ "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\\/v//'); [ -z "$tag" ] && echo "0.0.0" || echo "$tag")"",
803
796
  "export HOST="unknown-host.example.com"",
804
797
  "export ROOT_URL="https://unknown-host.example.com"",
805
798
  "export HOST_INTERNAL="unknown-host.example.com"",
@@ -875,7 +868,7 @@ exports[`matches snapshot 1`] = `
875
868
  "export ENV_TYPE="review"",
876
869
  "export BUILD_INFO_BUILD_ID="$(git describe --tags 2>/dev/null || git rev-parse HEAD)"",
877
870
  "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")"",
871
+ "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\\/v//'); [ -z "$tag" ] && echo "0.0.0" || echo "$tag")"",
879
872
  "export HOST="unknown-host.example.com"",
880
873
  "export ROOT_URL="https://unknown-host.example.com"",
881
874
  "export HOST_INTERNAL="unknown-host.example.com"",
@@ -885,7 +878,7 @@ exports[`matches snapshot 1`] = `
885
878
  "echo -e "\\e[0Ksection_end:$(date +%s):injectvars\\r\\e[0K"",
886
879
  "cd api",
887
880
  "yarn deploy",
888
- "echo Uploading SBOM to Dependency Track",
881
+ "echo 'Uploading SBOM to Dependency Track'",
889
882
  "/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" upload "pan-test-app/api" "https://unknown-host.example.com" "__sbom.json" vex.json || true",
890
883
  ],
891
884
  "stage": "deploy review",
@@ -1103,7 +1096,7 @@ exports[`matches snapshot 1`] = `
1103
1096
  "export ENV_TYPE="review"",
1104
1097
  "export BUILD_INFO_BUILD_ID="$(git describe --tags 2>/dev/null || git rev-parse HEAD)"",
1105
1098
  "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")"",
1099
+ "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\\/v//'); [ -z "$tag" ] && echo "0.0.0" || echo "$tag")"",
1107
1100
  "export HOST="unknown-host.example.com"",
1108
1101
  "export ROOT_URL="https://unknown-host.example.com"",
1109
1102
  "export HOST_INTERNAL="unknown-host.example.com"",
@@ -1183,7 +1176,7 @@ exports[`matches snapshot 1`] = `
1183
1176
  "export ENV_TYPE="review"",
1184
1177
  "export BUILD_INFO_BUILD_ID="$(git describe --tags 2>/dev/null || git rev-parse HEAD)"",
1185
1178
  "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")"",
1179
+ "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\\/v//'); [ -z "$tag" ] && echo "0.0.0" || echo "$tag")"",
1187
1180
  "export HOST="unknown-host.example.com"",
1188
1181
  "export ROOT_URL="https://unknown-host.example.com"",
1189
1182
  "export HOST_INTERNAL="unknown-host.example.com"",
@@ -1193,7 +1186,7 @@ exports[`matches snapshot 1`] = `
1193
1186
  "echo -e "\\e[0Ksection_end:$(date +%s):injectvars\\r\\e[0K"",
1194
1187
  "cd www",
1195
1188
  "yarn deploy",
1196
- "echo Uploading SBOM to Dependency Track",
1189
+ "echo 'Uploading SBOM to Dependency Track'",
1197
1190
  "/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" upload "pan-test-app/www" "https://unknown-host.example.com" "__sbom.json" vex.json || true",
1198
1191
  ],
1199
1192
  "stage": "deploy review",
@@ -1313,43 +1306,36 @@ exports[`matches snapshot 1`] = `
1313
1306
  "setup review",
1314
1307
  "setup stage",
1315
1308
  "setup prod",
1316
- "setup local",
1317
1309
  "test",
1318
1310
  "test dev",
1319
1311
  "test review",
1320
1312
  "test stage",
1321
1313
  "test prod",
1322
- "test local",
1323
1314
  "build",
1324
1315
  "build dev",
1325
1316
  "build review",
1326
1317
  "build stage",
1327
1318
  "build prod",
1328
- "build local",
1329
1319
  "deploy",
1330
1320
  "deploy dev",
1331
1321
  "deploy review",
1332
1322
  "deploy stage",
1333
1323
  "deploy prod",
1334
- "deploy local",
1335
1324
  "verify",
1336
1325
  "verify dev",
1337
1326
  "verify review",
1338
1327
  "verify stage",
1339
1328
  "verify prod",
1340
- "verify local",
1341
1329
  "rollback",
1342
1330
  "rollback dev",
1343
1331
  "rollback review",
1344
1332
  "rollback stage",
1345
1333
  "rollback prod",
1346
- "rollback local",
1347
1334
  "stop",
1348
1335
  "stop dev",
1349
1336
  "stop review",
1350
1337
  "stop stage",
1351
1338
  "stop prod",
1352
- "stop local",
1353
1339
  ],
1354
1340
  "variables": {
1355
1341
  "FF_USE_FASTZIP": "true",
@@ -1436,7 +1422,7 @@ exports[`matches snapshot 1`] = `
1436
1422
  "export ENV_TYPE="prod"",
1437
1423
  "export BUILD_INFO_BUILD_ID="$(git describe --tags 2>/dev/null || git rev-parse HEAD)"",
1438
1424
  "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")"",
1425
+ "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\\/v//'); [ -z "$tag" ] && echo "0.0.0" || echo "$tag")"",
1440
1426
  "export HOST="unknown-host.example.com"",
1441
1427
  "export ROOT_URL="https://unknown-host.example.com"",
1442
1428
  "export HOST_INTERNAL="unknown-host.example.com"",
@@ -1519,7 +1505,7 @@ exports[`matches snapshot 1`] = `
1519
1505
  "export ENV_TYPE="stage"",
1520
1506
  "export BUILD_INFO_BUILD_ID="$(git describe --tags 2>/dev/null || git rev-parse HEAD)"",
1521
1507
  "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")"",
1508
+ "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\\/v//'); [ -z "$tag" ] && echo "0.0.0" || echo "$tag")"",
1523
1509
  "export HOST="unknown-host.example.com"",
1524
1510
  "export ROOT_URL="https://unknown-host.example.com"",
1525
1511
  "export HOST_INTERNAL="unknown-host.example.com"",
@@ -1583,7 +1569,7 @@ exports[`matches snapshot 1`] = `
1583
1569
  "export ENV_TYPE="prod"",
1584
1570
  "export BUILD_INFO_BUILD_ID="$(git describe --tags 2>/dev/null || git rev-parse HEAD)"",
1585
1571
  "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")"",
1572
+ "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\\/v//'); [ -z "$tag" ] && echo "0.0.0" || echo "$tag")"",
1587
1573
  "export HOST="unknown-host.example.com"",
1588
1574
  "export ROOT_URL="https://unknown-host.example.com"",
1589
1575
  "export HOST_INTERNAL="unknown-host.example.com"",
@@ -1593,7 +1579,7 @@ exports[`matches snapshot 1`] = `
1593
1579
  "echo -e "\\e[0Ksection_end:$(date +%s):injectvars\\r\\e[0K"",
1594
1580
  "cd api",
1595
1581
  "yarn deploy",
1596
- "echo Uploading SBOM to Dependency Track",
1582
+ "echo 'Uploading SBOM to Dependency Track'",
1597
1583
  "/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" upload "pan-test-app/api" "https://unknown-host.example.com" "__sbom.json" vex.json || true",
1598
1584
  ],
1599
1585
  "stage": "deploy prod",
@@ -1637,7 +1623,7 @@ exports[`matches snapshot 1`] = `
1637
1623
  "export ENV_TYPE="stage"",
1638
1624
  "export BUILD_INFO_BUILD_ID="$(git describe --tags 2>/dev/null || git rev-parse HEAD)"",
1639
1625
  "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")"",
1626
+ "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\\/v//'); [ -z "$tag" ] && echo "0.0.0" || echo "$tag")"",
1641
1627
  "export HOST="unknown-host.example.com"",
1642
1628
  "export ROOT_URL="https://unknown-host.example.com"",
1643
1629
  "export HOST_INTERNAL="unknown-host.example.com"",
@@ -1647,7 +1633,7 @@ exports[`matches snapshot 1`] = `
1647
1633
  "echo -e "\\e[0Ksection_end:$(date +%s):injectvars\\r\\e[0K"",
1648
1634
  "cd api",
1649
1635
  "yarn deploy",
1650
- "echo Uploading SBOM to Dependency Track",
1636
+ "echo 'Uploading SBOM to Dependency Track'",
1651
1637
  "/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" upload "pan-test-app/api" "https://unknown-host.example.com" "__sbom.json" vex.json || true",
1652
1638
  ],
1653
1639
  "stage": "deploy stage",
@@ -1760,7 +1746,7 @@ exports[`matches snapshot 1`] = `
1760
1746
  "export ENV_TYPE="prod"",
1761
1747
  "export BUILD_INFO_BUILD_ID="$(git describe --tags 2>/dev/null || git rev-parse HEAD)"",
1762
1748
  "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")"",
1749
+ "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\\/v//'); [ -z "$tag" ] && echo "0.0.0" || echo "$tag")"",
1764
1750
  "export HOST="unknown-host.example.com"",
1765
1751
  "export ROOT_URL="https://unknown-host.example.com"",
1766
1752
  "export HOST_INTERNAL="unknown-host.example.com"",
@@ -1843,7 +1829,7 @@ exports[`matches snapshot 1`] = `
1843
1829
  "export ENV_TYPE="stage"",
1844
1830
  "export BUILD_INFO_BUILD_ID="$(git describe --tags 2>/dev/null || git rev-parse HEAD)"",
1845
1831
  "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")"",
1832
+ "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\\/v//'); [ -z "$tag" ] && echo "0.0.0" || echo "$tag")"",
1847
1833
  "export HOST="unknown-host.example.com"",
1848
1834
  "export ROOT_URL="https://unknown-host.example.com"",
1849
1835
  "export HOST_INTERNAL="unknown-host.example.com"",
@@ -1911,7 +1897,7 @@ exports[`matches snapshot 1`] = `
1911
1897
  "export ENV_TYPE="prod"",
1912
1898
  "export BUILD_INFO_BUILD_ID="$(git describe --tags 2>/dev/null || git rev-parse HEAD)"",
1913
1899
  "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")"",
1900
+ "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\\/v//'); [ -z "$tag" ] && echo "0.0.0" || echo "$tag")"",
1915
1901
  "export HOST="unknown-host.example.com"",
1916
1902
  "export ROOT_URL="https://unknown-host.example.com"",
1917
1903
  "export HOST_INTERNAL="unknown-host.example.com"",
@@ -1921,7 +1907,7 @@ exports[`matches snapshot 1`] = `
1921
1907
  "echo -e "\\e[0Ksection_end:$(date +%s):injectvars\\r\\e[0K"",
1922
1908
  "cd www",
1923
1909
  "yarn deploy",
1924
- "echo Uploading SBOM to Dependency Track",
1910
+ "echo 'Uploading SBOM to Dependency Track'",
1925
1911
  "/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" upload "pan-test-app/www" "https://unknown-host.example.com" "__sbom.json" vex.json || true",
1926
1912
  ],
1927
1913
  "stage": "deploy prod",
@@ -1969,7 +1955,7 @@ exports[`matches snapshot 1`] = `
1969
1955
  "export ENV_TYPE="stage"",
1970
1956
  "export BUILD_INFO_BUILD_ID="$(git describe --tags 2>/dev/null || git rev-parse HEAD)"",
1971
1957
  "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")"",
1958
+ "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\\/v//'); [ -z "$tag" ] && echo "0.0.0" || echo "$tag")"",
1973
1959
  "export HOST="unknown-host.example.com"",
1974
1960
  "export ROOT_URL="https://unknown-host.example.com"",
1975
1961
  "export HOST_INTERNAL="unknown-host.example.com"",
@@ -1979,7 +1965,7 @@ exports[`matches snapshot 1`] = `
1979
1965
  "echo -e "\\e[0Ksection_end:$(date +%s):injectvars\\r\\e[0K"",
1980
1966
  "cd www",
1981
1967
  "yarn deploy",
1982
- "echo Uploading SBOM to Dependency Track",
1968
+ "echo 'Uploading SBOM to Dependency Track'",
1983
1969
  "/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" upload "pan-test-app/www" "https://unknown-host.example.com" "__sbom.json" vex.json || true",
1984
1970
  ],
1985
1971
  "stage": "deploy stage",
@@ -2046,43 +2032,36 @@ exports[`matches snapshot 1`] = `
2046
2032
  "setup review",
2047
2033
  "setup stage",
2048
2034
  "setup prod",
2049
- "setup local",
2050
2035
  "test",
2051
2036
  "test dev",
2052
2037
  "test review",
2053
2038
  "test stage",
2054
2039
  "test prod",
2055
- "test local",
2056
2040
  "build",
2057
2041
  "build dev",
2058
2042
  "build review",
2059
2043
  "build stage",
2060
2044
  "build prod",
2061
- "build local",
2062
2045
  "deploy",
2063
2046
  "deploy dev",
2064
2047
  "deploy review",
2065
2048
  "deploy stage",
2066
2049
  "deploy prod",
2067
- "deploy local",
2068
2050
  "verify",
2069
2051
  "verify dev",
2070
2052
  "verify review",
2071
2053
  "verify stage",
2072
2054
  "verify prod",
2073
- "verify local",
2074
2055
  "rollback",
2075
2056
  "rollback dev",
2076
2057
  "rollback review",
2077
2058
  "rollback stage",
2078
2059
  "rollback prod",
2079
- "rollback local",
2080
2060
  "stop",
2081
2061
  "stop dev",
2082
2062
  "stop review",
2083
2063
  "stop stage",
2084
2064
  "stop prod",
2085
- "stop local",
2086
2065
  ],
2087
2066
  "variables": {
2088
2067
  "FF_USE_FASTZIP": "true",
package/package.json CHANGED
@@ -52,7 +52,7 @@
52
52
  }
53
53
  ],
54
54
  "license": "MIT",
55
- "version": "1.148.0",
55
+ "version": "1.149.0",
56
56
  "scripts": {
57
57
  "build:tsc": "yarn tsc",
58
58
  "build": "yarn build:compile && yarn build:inline-variables && yarn build:bundle",
@@ -0,0 +1,31 @@
1
+ // Jest Snapshot v1, https://goo.gl/fbAQLP
2
+
3
+ exports[`getAllEnvs() should return all envs for app1 1`] = `
4
+ [
5
+ "dev",
6
+ "review",
7
+ "stage",
8
+ "prod",
9
+ "local",
10
+ ]
11
+ `;
12
+
13
+ exports[`getAllEnvs() should return all envs for app2 1`] = `
14
+ [
15
+ "dev",
16
+ "review",
17
+ "stage",
18
+ "prod",
19
+ "local",
20
+ "dev2",
21
+ "review2",
22
+ "stage2",
23
+ "prod2",
24
+ ]
25
+ `;
26
+
27
+ exports[`getAllEnvs() should return all envs for app3 1`] = `
28
+ [
29
+ "local",
30
+ ]
31
+ `;
@@ -0,0 +1,15 @@
1
+ // Jest Snapshot v1, https://goo.gl/fbAQLP
2
+
3
+ exports[`getAllEnvsInAllComponents() should return all envs for SIMPLE_CONFIG1 1`] = `
4
+ [
5
+ "dev",
6
+ "review",
7
+ "stage",
8
+ "prod",
9
+ "local",
10
+ "dev2",
11
+ "review2",
12
+ "stage2",
13
+ "prod2",
14
+ ]
15
+ `;
@@ -0,0 +1,71 @@
1
+ import { type DeployConfigKubernetesCluster } from "../..";
2
+ import type { Config } from "../../types";
3
+ import { getAllEnvs } from "../configruedEnvs";
4
+
5
+ describe("getAllEnvs()", () => {
6
+ const cluster: DeployConfigKubernetesCluster = {
7
+ type: "gcloud",
8
+ name: "mega-cluster",
9
+ projectId: "super-google-project",
10
+ region: "ch-blabla",
11
+ };
12
+ const SIMPLE_CONFIG: Config = {
13
+ appName: "my-app",
14
+ customerName: "pan",
15
+ components: {
16
+ app1: {
17
+ dir: "dir1",
18
+ build: {
19
+ type: "node",
20
+ },
21
+ deploy: { type: "kubernetes", cluster },
22
+ },
23
+ app2: {
24
+ dir: "dir2",
25
+ build: {
26
+ type: "node",
27
+ },
28
+ deploy: { type: "kubernetes", cluster },
29
+ env: {
30
+ dev2: {
31
+ type: "dev",
32
+ },
33
+ review2: {
34
+ type: "review",
35
+ },
36
+ stage2: {
37
+ type: "stage",
38
+ },
39
+ prod2: {
40
+ type: "prod",
41
+ },
42
+ },
43
+ },
44
+ app3: {
45
+ dir: "dir2",
46
+ build: {
47
+ type: "node",
48
+ },
49
+ deploy: { type: "kubernetes", cluster },
50
+ env: {
51
+ dev: false,
52
+ review: false,
53
+ stage: false,
54
+ prod: false,
55
+ },
56
+ },
57
+ },
58
+ };
59
+
60
+ it("should return all envs for app1", () => {
61
+ expect(getAllEnvs(SIMPLE_CONFIG, "app1")).toMatchSnapshot();
62
+ });
63
+
64
+ it("should return all envs for app2", () => {
65
+ expect(getAllEnvs(SIMPLE_CONFIG, "app2")).toMatchSnapshot();
66
+ });
67
+
68
+ it("should return all envs for app3", () => {
69
+ expect(getAllEnvs(SIMPLE_CONFIG, "app3")).toMatchSnapshot();
70
+ });
71
+ });
@@ -0,0 +1,63 @@
1
+ import { type DeployConfigKubernetesCluster } from "../..";
2
+ import type { Config } from "../../types";
3
+ import { getAllEnvsInAllComponents } from "../configruedEnvs";
4
+
5
+ describe("getAllEnvsInAllComponents()", () => {
6
+ const cluster: DeployConfigKubernetesCluster = {
7
+ type: "gcloud",
8
+ name: "mega-cluster",
9
+ projectId: "super-google-project",
10
+ region: "ch-blabla",
11
+ };
12
+ const SIMPLE_CONFIG1: Config = {
13
+ appName: "my-app",
14
+ customerName: "pan",
15
+ components: {
16
+ app1: {
17
+ dir: "dir1",
18
+ build: {
19
+ type: "node",
20
+ },
21
+ deploy: { type: "kubernetes", cluster },
22
+ },
23
+ app2: {
24
+ dir: "dir2",
25
+ build: {
26
+ type: "node",
27
+ },
28
+ deploy: { type: "kubernetes", cluster },
29
+ env: {
30
+ dev2: {
31
+ type: "dev",
32
+ },
33
+ review2: {
34
+ type: "review",
35
+ },
36
+ stage2: {
37
+ type: "stage",
38
+ },
39
+ prod2: {
40
+ type: "prod",
41
+ },
42
+ },
43
+ },
44
+ app3: {
45
+ dir: "dir2",
46
+ build: {
47
+ type: "node",
48
+ },
49
+ deploy: { type: "kubernetes", cluster },
50
+ env: {
51
+ dev: false,
52
+ review: false,
53
+ stage: false,
54
+ prod: false,
55
+ },
56
+ },
57
+ },
58
+ };
59
+
60
+ it("should return all envs for SIMPLE_CONFIG1", () => {
61
+ expect(getAllEnvsInAllComponents(SIMPLE_CONFIG1)).toMatchSnapshot();
62
+ });
63
+ });
@@ -16,7 +16,7 @@ const BUILD_ID: BashExpressionPerPipelineType = {
16
16
  const CURRENT_VERSION: BashExpressionPerPipelineType = {
17
17
  default: new BashExpression(
18
18
  // because we do shallow fetch, we need to ask the origin
19
- `$(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")`,
19
+ `$(tag=$(git ls-remote origin "refs/tags/v*[0-9]" 2>/dev/null | cut -f 2- | sort -V | tail -1 | sed 's/refs\\/tags\\/v//'); [ -z "$tag" ] && echo "0.0.0" || echo "$tag")`,
20
20
  ),
21
21
  };
22
22
 
@@ -21,7 +21,7 @@ export const setGoogleProjectNumberScript = (
21
21
  `export GCLOUD_PROJECT_NUMBER=$(${gcloudCmd()} projects describe ${
22
22
  deployConfig.projectId
23
23
  } --format="value(projectNumber)")`,
24
- `echo "GCLOUD_PROJECT_NUMBER: $GCLOUD_PROJECT_NUMBER"`,
24
+ 'echo "GCLOUD_PROJECT_NUMBER: $GCLOUD_PROJECT_NUMBER"',
25
25
  ];
26
26
 
27
27
  export const makeLabelString = (obj: Record<string, unknown>) =>
@@ -10,7 +10,7 @@ export const getDependencyTrackUploadScript = (
10
10
  return sbomDeactivated(context)
11
11
  ? []
12
12
  : [
13
- "echo Uploading SBOM to Dependency Track",
13
+ "echo 'Uploading SBOM to Dependency Track'",
14
14
  `/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" upload "${context.fullConfig.customerName}-${context.fullConfig.appName}/${context.componentName}" "${context.environment.url}" "${SBOM_FILE}" vex.json || true`,
15
15
  ];
16
16
  };
@@ -21,7 +21,7 @@ export const getDependencyTrackDeleteScript = (
21
21
  return sbomDeactivated(context)
22
22
  ? []
23
23
  : [
24
- "echo Disabling component in Dependency Track",
24
+ "echo 'Disabling component in Dependency Track'",
25
25
  `/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" disable "${context.fullConfig.customerName}-${context.fullConfig.appName}/${context.componentName}" "${context.environment.url}" || true`,
26
26
  ];
27
27
  };
@@ -0,0 +1,69 @@
1
+ // Jest Snapshot v1, https://goo.gl/fbAQLP
2
+
3
+ exports[`getPipelineStages() should return all envs for SIMPLE_CONFIG1 1`] = `
4
+ [
5
+ "setup",
6
+ "setup dev",
7
+ "setup review",
8
+ "setup stage",
9
+ "setup prod",
10
+ "setup dev2",
11
+ "setup review2",
12
+ "setup stage2",
13
+ "setup prod2",
14
+ "test",
15
+ "test dev",
16
+ "test review",
17
+ "test stage",
18
+ "test prod",
19
+ "test dev2",
20
+ "test review2",
21
+ "test stage2",
22
+ "test prod2",
23
+ "build",
24
+ "build dev",
25
+ "build review",
26
+ "build stage",
27
+ "build prod",
28
+ "build dev2",
29
+ "build review2",
30
+ "build stage2",
31
+ "build prod2",
32
+ "deploy",
33
+ "deploy dev",
34
+ "deploy review",
35
+ "deploy stage",
36
+ "deploy prod",
37
+ "deploy dev2",
38
+ "deploy review2",
39
+ "deploy stage2",
40
+ "deploy prod2",
41
+ "verify",
42
+ "verify dev",
43
+ "verify review",
44
+ "verify stage",
45
+ "verify prod",
46
+ "verify dev2",
47
+ "verify review2",
48
+ "verify stage2",
49
+ "verify prod2",
50
+ "rollback",
51
+ "rollback dev",
52
+ "rollback review",
53
+ "rollback stage",
54
+ "rollback prod",
55
+ "rollback dev2",
56
+ "rollback review2",
57
+ "rollback stage2",
58
+ "rollback prod2",
59
+ "stop",
60
+ "stop dev",
61
+ "stop review",
62
+ "stop stage",
63
+ "stop prod",
64
+ "stop dev2",
65
+ "stop review2",
66
+ "stop stage2",
67
+ "stop prod2",
68
+ ]
69
+ `;