@catladder/pipeline 1.115.0 → 1.117.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 (31) hide show
  1. package/dist/bundles/catladder-gitlab/index.js +1 -1
  2. package/dist/constants.js +1 -1
  3. package/dist/deploy/cloudRun/artifactsRegistry.d.ts +19 -0
  4. package/dist/deploy/cloudRun/artifactsRegistry.js +117 -0
  5. package/dist/deploy/cloudRun/cleanup.d.ts +2 -0
  6. package/dist/deploy/cloudRun/cleanup.js +51 -0
  7. package/dist/deploy/cloudRun/cloudRunRevisions.d.ts +2 -0
  8. package/dist/deploy/cloudRun/cloudRunRevisions.js +61 -0
  9. package/dist/deploy/cloudRun/deployJob.js +13 -14
  10. package/dist/deploy/cloudRun/utils/getServiceName.d.ts +2 -0
  11. package/dist/deploy/cloudRun/utils/getServiceName.js +8 -0
  12. package/dist/deploy/cloudRun/utils/removeFirstLinesFromCommandOutput.d.ts +9 -0
  13. package/dist/deploy/cloudRun/utils/removeFirstLinesFromCommandOutput.js +16 -0
  14. package/dist/tsconfig.tsbuildinfo +1 -1
  15. package/examples/__snapshots__/cloud-run-memory-limit.ts.snap +46 -8
  16. package/examples/__snapshots__/cloud-run-no-cpu-throttling.ts.snap +46 -8
  17. package/examples/__snapshots__/cloud-run-non-public.ts.snap +46 -8
  18. package/examples/__snapshots__/cloud-run-with-sql-reuse-db.ts.snap +92 -16
  19. package/examples/__snapshots__/cloud-run-with-sql.ts.snap +92 -16
  20. package/examples/__snapshots__/custom-build-job-with-tests.ts.snap +46 -8
  21. package/examples/__snapshots__/custom-build-job.ts.snap +46 -8
  22. package/examples/__snapshots__/custom-sbom-java.ts.snap +46 -8
  23. package/examples/__snapshots__/native-app.ts.snap +46 -8
  24. package/examples/__snapshots__/node-build-with-custom-image.ts.snap +46 -8
  25. package/package.json +1 -1
  26. package/src/deploy/cloudRun/artifactsRegistry.ts +119 -0
  27. package/src/deploy/cloudRun/cleanup.ts +30 -0
  28. package/src/deploy/cloudRun/cloudRunRevisions.ts +67 -0
  29. package/src/deploy/cloudRun/deployJob.ts +46 -44
  30. package/src/deploy/cloudRun/utils/getServiceName.ts +3 -0
  31. package/src/deploy/cloudRun/utils/removeFirstLinesFromCommandOutput.ts +12 -0
@@ -147,21 +147,28 @@ exports[`matches snapshot 1`] = `
147
147
  },
148
148
  ],
149
149
  "script": [
150
+ "echo -e "\\e[0Ksection_start:$(date +%s):prepare[collapsed=true]\\r\\e[0KPrepare..."",
150
151
  "echo $CL_dev_www_GCLOUD_DEPLOY_credentialsKey > ./____keyfile.json
151
152
  ",
152
153
  "gcloud auth activate-service-account --key-file="./____keyfile.json"",
153
154
  "export GCLOUD_PROJECT_NUMBER=$(gcloud projects describe asdf --format="value(projectNumber)")",
154
155
  "echo "GCLOUD_PROJECT_NUMBER: $GCLOUD_PROJECT_NUMBER"",
155
- "echo -e "\\e[0Ksection_start:$(date +%s):pushToArtifactRegistry[collapsed=true]\\r\\e[0Kpushing image to artifacts registry"",
156
+ "echo -e "\\e[0Ksection_end:$(date +%s):prepare\\r\\e[0K"",
157
+ "echo -e "\\e[0Ksection_start:$(date +%s):pushToArtifactRegistry[collapsed=true]\\r\\e[0KPushing image to artifacts registry"",
156
158
  "docker login --username gitlab-ci-token --password $CI_JOB_TOKEN $CI_REGISTRY",
157
159
  "gcloud auth configure-docker asia-east1-docker.pkg.dev",
158
160
  "docker pull $DOCKER_IMAGE:$DOCKER_IMAGE_TAG",
159
161
  "docker tag $DOCKER_IMAGE:$DOCKER_IMAGE_TAG asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/dev/www:$DOCKER_IMAGE_TAG",
160
162
  "docker push asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/dev/www:$DOCKER_IMAGE_TAG",
161
163
  "echo -e "\\e[0Ksection_end:$(date +%s):pushToArtifactRegistry\\r\\e[0K"",
164
+ "echo -e "\\e[0Ksection_start:$(date +%s):deploy[collapsed=true]\\r\\e[0KDeploy to cloud run"",
162
165
  "echo "$ENV_VARS" > ____envvars.yaml",
163
166
  "gcloud run deploy pan-test-app-dev-www --command="" --image=asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/dev/www:$DOCKER_IMAGE_TAG --project=asdf --region=asia-east1 --labels=customer-name=pan,component-name=www,app-name=test-app,env-type=dev,env-name=dev,build-type=custom --env-vars-file=____envvars.yaml --min-instances=0 --max-instances=100 --cpu-throttling --allow-unauthenticated --cpu-boost",
164
- "docker image rm asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/dev/www:$DOCKER_IMAGE_TAG",
167
+ "echo -e "\\e[0Ksection_end:$(date +%s):deploy\\r\\e[0K"",
168
+ "echo -e "\\e[0Ksection_start:$(date +%s):cleanup[collapsed=true]\\r\\e[0KCleanup"",
169
+ "gcloud run revisions list --project=asdf --region=asia-east1 --service=pan-test-app-dev-www --limit=unlimited --sort-by=metadata.creationTimestamp --format="value(name)" --filter='(status.conditions.status=False OR status.conditions.status=Unknown)' | while read -r revisionname; do gcloud run revisions delete --project=asdf --region=asia-east1 --quiet $revisionname ; done",
170
+ "gcloud artifacts docker images list asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/dev/www --sort-by=~CREATE_TIME --format="value(version)" | tail -n +2 | while read -r version; do gcloud artifacts docker images delete asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/dev/www@$version --quiet --delete-tags; done",
171
+ "echo -e "\\e[0Ksection_end:$(date +%s):cleanup\\r\\e[0K"",
165
172
  "echo Uploading SBOM to Dependency Track",
166
173
  "/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" upload "pan-test-app/www" "https://pan-test-app-dev-www-unknown-host.example.com" "__sbom.json" vex.json || true",
167
174
  ],
@@ -249,6 +256,7 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
249
256
  ",
250
257
  "gcloud auth activate-service-account --key-file="./____keyfile.json"",
251
258
  "gcloud run services delete pan-test-app-dev-www --project=asdf --region=asia-east1",
259
+ "gcloud artifacts docker images delete asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/dev/www --quiet --delete-tags",
252
260
  "echo Disabling component in Dependency Track",
253
261
  "/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" disable "pan-test-app/www" "https://pan-test-app-dev-www-unknown-host.example.com" || true",
254
262
  "set -e",
@@ -500,21 +508,31 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
500
508
  },
501
509
  ],
502
510
  "script": [
511
+ "echo -e "\\e[0Ksection_start:$(date +%s):prepare[collapsed=true]\\r\\e[0KPrepare..."",
503
512
  "echo $CL_review_www_GCLOUD_DEPLOY_credentialsKey > ./____keyfile.json
504
513
  ",
505
514
  "gcloud auth activate-service-account --key-file="./____keyfile.json"",
506
515
  "export GCLOUD_PROJECT_NUMBER=$(gcloud projects describe asdf --format="value(projectNumber)")",
507
516
  "echo "GCLOUD_PROJECT_NUMBER: $GCLOUD_PROJECT_NUMBER"",
508
- "echo -e "\\e[0Ksection_start:$(date +%s):pushToArtifactRegistry[collapsed=true]\\r\\e[0Kpushing image to artifacts registry"",
517
+ "echo -e "\\e[0Ksection_end:$(date +%s):prepare\\r\\e[0K"",
518
+ "echo -e "\\e[0Ksection_start:$(date +%s):pushToArtifactRegistry[collapsed=true]\\r\\e[0KPushing image to artifacts registry"",
509
519
  "docker login --username gitlab-ci-token --password $CI_JOB_TOKEN $CI_REGISTRY",
510
520
  "gcloud auth configure-docker asia-east1-docker.pkg.dev",
511
521
  "docker pull $DOCKER_IMAGE:$DOCKER_IMAGE_TAG",
512
522
  "docker tag $DOCKER_IMAGE:$DOCKER_IMAGE_TAG asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/review/www/mr1234:$DOCKER_IMAGE_TAG",
513
523
  "docker push asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/review/www/mr1234:$DOCKER_IMAGE_TAG",
514
524
  "echo -e "\\e[0Ksection_end:$(date +%s):pushToArtifactRegistry\\r\\e[0K"",
525
+ "echo -e "\\e[0Ksection_start:$(date +%s):deploy[collapsed=true]\\r\\e[0KDeploy to cloud run"",
515
526
  "echo "$ENV_VARS" > ____envvars.yaml",
516
527
  "gcloud run deploy pan-test-app-review-mr1234-www --command="" --image=asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/review/www/mr1234:$DOCKER_IMAGE_TAG --project=asdf --region=asia-east1 --labels=customer-name=pan,component-name=www,app-name=test-app,env-type=review,env-name=review,build-type=custom --env-vars-file=____envvars.yaml --min-instances=0 --max-instances=100 --cpu-throttling --allow-unauthenticated --cpu-boost",
517
- "docker image rm asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/review/www/mr1234:$DOCKER_IMAGE_TAG",
528
+ "echo -e "\\e[0Ksection_end:$(date +%s):deploy\\r\\e[0K"",
529
+ "echo -e "\\e[0Ksection_start:$(date +%s):cleanup[collapsed=true]\\r\\e[0KCleanup"",
530
+ "gcloud run revisions list --project=asdf --region=asia-east1 --service=pan-test-app-review-mr1234-www --limit=unlimited --sort-by=metadata.creationTimestamp --format="value(name)" --filter='(status.conditions.status=False OR status.conditions.status=Unknown)' | while read -r revisionname; do gcloud run revisions delete --project=asdf --region=asia-east1 --quiet $revisionname ; done",
531
+ "gcloud artifacts docker images list asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/review/www/mr1234 --sort-by=~CREATE_TIME --format="value(version)" | tail -n +2 | while read -r version; do gcloud artifacts docker images delete asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/review/www/mr1234@$version --quiet --delete-tags; done",
532
+ "set +e",
533
+ "gcloud artifacts docker images delete asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/review/www --quiet --delete-tags",
534
+ "set -e",
535
+ "echo -e "\\e[0Ksection_end:$(date +%s):cleanup\\r\\e[0K"",
518
536
  "echo Uploading SBOM to Dependency Track",
519
537
  "/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" upload "pan-test-app/www" "https://pan-test-app-review-mr1234-www-unknown-host.example.com" "__sbom.json" vex.json || true",
520
538
  ],
@@ -602,6 +620,10 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
602
620
  ",
603
621
  "gcloud auth activate-service-account --key-file="./____keyfile.json"",
604
622
  "gcloud run services delete pan-test-app-review-mr1234-www --project=asdf --region=asia-east1",
623
+ "gcloud artifacts docker images delete asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/review/www/mr1234 --quiet --delete-tags",
624
+ "set +e",
625
+ "gcloud artifacts docker images delete asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/review/www --quiet --delete-tags",
626
+ "set -e",
605
627
  "echo Disabling component in Dependency Track",
606
628
  "/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" disable "pan-test-app/www" "https://pan-test-app-review-mr1234-www-unknown-host.example.com" || true",
607
629
  "set -e",
@@ -953,21 +975,28 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
953
975
  },
954
976
  ],
955
977
  "script": [
978
+ "echo -e "\\e[0Ksection_start:$(date +%s):prepare[collapsed=true]\\r\\e[0KPrepare..."",
956
979
  "echo $CL_prod_www_GCLOUD_DEPLOY_credentialsKey > ./____keyfile.json
957
980
  ",
958
981
  "gcloud auth activate-service-account --key-file="./____keyfile.json"",
959
982
  "export GCLOUD_PROJECT_NUMBER=$(gcloud projects describe asdf --format="value(projectNumber)")",
960
983
  "echo "GCLOUD_PROJECT_NUMBER: $GCLOUD_PROJECT_NUMBER"",
961
- "echo -e "\\e[0Ksection_start:$(date +%s):pushToArtifactRegistry[collapsed=true]\\r\\e[0Kpushing image to artifacts registry"",
984
+ "echo -e "\\e[0Ksection_end:$(date +%s):prepare\\r\\e[0K"",
985
+ "echo -e "\\e[0Ksection_start:$(date +%s):pushToArtifactRegistry[collapsed=true]\\r\\e[0KPushing image to artifacts registry"",
962
986
  "docker login --username gitlab-ci-token --password $CI_JOB_TOKEN $CI_REGISTRY",
963
987
  "gcloud auth configure-docker asia-east1-docker.pkg.dev",
964
988
  "docker pull $DOCKER_IMAGE:$DOCKER_IMAGE_TAG",
965
989
  "docker tag $DOCKER_IMAGE:$DOCKER_IMAGE_TAG asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/prod/www:$DOCKER_IMAGE_TAG",
966
990
  "docker push asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/prod/www:$DOCKER_IMAGE_TAG",
967
991
  "echo -e "\\e[0Ksection_end:$(date +%s):pushToArtifactRegistry\\r\\e[0K"",
992
+ "echo -e "\\e[0Ksection_start:$(date +%s):deploy[collapsed=true]\\r\\e[0KDeploy to cloud run"",
968
993
  "echo "$ENV_VARS" > ____envvars.yaml",
969
994
  "gcloud run deploy pan-test-app-prod-www --command="" --image=asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/prod/www:$DOCKER_IMAGE_TAG --project=asdf --region=asia-east1 --labels=customer-name=pan,component-name=www,app-name=test-app,env-type=prod,env-name=prod,build-type=custom --env-vars-file=____envvars.yaml --min-instances=0 --max-instances=100 --cpu-throttling --allow-unauthenticated --cpu-boost",
970
- "docker image rm asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/prod/www:$DOCKER_IMAGE_TAG",
995
+ "echo -e "\\e[0Ksection_end:$(date +%s):deploy\\r\\e[0K"",
996
+ "echo -e "\\e[0Ksection_start:$(date +%s):cleanup[collapsed=true]\\r\\e[0KCleanup"",
997
+ "gcloud run revisions list --project=asdf --region=asia-east1 --service=pan-test-app-prod-www --limit=unlimited --sort-by=metadata.creationTimestamp --format="value(name)" --filter='(status.conditions.status=False OR status.conditions.status=Unknown)' | tail -n +6 | while read -r revisionname; do gcloud run revisions delete --project=asdf --region=asia-east1 --quiet $revisionname ; done",
998
+ "gcloud artifacts docker images list asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/prod/www --sort-by=~CREATE_TIME --format="value(version)" | tail -n +7 | while read -r version; do gcloud artifacts docker images delete asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/prod/www@$version --quiet --delete-tags; done",
999
+ "echo -e "\\e[0Ksection_end:$(date +%s):cleanup\\r\\e[0K"",
971
1000
  "echo Uploading SBOM to Dependency Track",
972
1001
  "/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" upload "pan-test-app/www" "https://pan-test-app-prod-www-unknown-host.example.com" "__sbom.json" vex.json || true",
973
1002
  ],
@@ -1064,21 +1093,28 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
1064
1093
  },
1065
1094
  ],
1066
1095
  "script": [
1096
+ "echo -e "\\e[0Ksection_start:$(date +%s):prepare[collapsed=true]\\r\\e[0KPrepare..."",
1067
1097
  "echo $CL_stage_www_GCLOUD_DEPLOY_credentialsKey > ./____keyfile.json
1068
1098
  ",
1069
1099
  "gcloud auth activate-service-account --key-file="./____keyfile.json"",
1070
1100
  "export GCLOUD_PROJECT_NUMBER=$(gcloud projects describe asdf --format="value(projectNumber)")",
1071
1101
  "echo "GCLOUD_PROJECT_NUMBER: $GCLOUD_PROJECT_NUMBER"",
1072
- "echo -e "\\e[0Ksection_start:$(date +%s):pushToArtifactRegistry[collapsed=true]\\r\\e[0Kpushing image to artifacts registry"",
1102
+ "echo -e "\\e[0Ksection_end:$(date +%s):prepare\\r\\e[0K"",
1103
+ "echo -e "\\e[0Ksection_start:$(date +%s):pushToArtifactRegistry[collapsed=true]\\r\\e[0KPushing image to artifacts registry"",
1073
1104
  "docker login --username gitlab-ci-token --password $CI_JOB_TOKEN $CI_REGISTRY",
1074
1105
  "gcloud auth configure-docker asia-east1-docker.pkg.dev",
1075
1106
  "docker pull $DOCKER_IMAGE:$DOCKER_IMAGE_TAG",
1076
1107
  "docker tag $DOCKER_IMAGE:$DOCKER_IMAGE_TAG asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/stage/www:$DOCKER_IMAGE_TAG",
1077
1108
  "docker push asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/stage/www:$DOCKER_IMAGE_TAG",
1078
1109
  "echo -e "\\e[0Ksection_end:$(date +%s):pushToArtifactRegistry\\r\\e[0K"",
1110
+ "echo -e "\\e[0Ksection_start:$(date +%s):deploy[collapsed=true]\\r\\e[0KDeploy to cloud run"",
1079
1111
  "echo "$ENV_VARS" > ____envvars.yaml",
1080
1112
  "gcloud run deploy pan-test-app-stage-www --command="" --image=asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/stage/www:$DOCKER_IMAGE_TAG --project=asdf --region=asia-east1 --labels=customer-name=pan,component-name=www,app-name=test-app,env-type=stage,env-name=stage,build-type=custom --env-vars-file=____envvars.yaml --min-instances=0 --max-instances=100 --cpu-throttling --allow-unauthenticated --cpu-boost",
1081
- "docker image rm asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/stage/www:$DOCKER_IMAGE_TAG",
1113
+ "echo -e "\\e[0Ksection_end:$(date +%s):deploy\\r\\e[0K"",
1114
+ "echo -e "\\e[0Ksection_start:$(date +%s):cleanup[collapsed=true]\\r\\e[0KCleanup"",
1115
+ "gcloud run revisions list --project=asdf --region=asia-east1 --service=pan-test-app-stage-www --limit=unlimited --sort-by=metadata.creationTimestamp --format="value(name)" --filter='(status.conditions.status=False OR status.conditions.status=Unknown)' | while read -r revisionname; do gcloud run revisions delete --project=asdf --region=asia-east1 --quiet $revisionname ; done",
1116
+ "gcloud artifacts docker images list asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/stage/www --sort-by=~CREATE_TIME --format="value(version)" | tail -n +2 | while read -r version; do gcloud artifacts docker images delete asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/stage/www@$version --quiet --delete-tags; done",
1117
+ "echo -e "\\e[0Ksection_end:$(date +%s):cleanup\\r\\e[0K"",
1082
1118
  "echo Uploading SBOM to Dependency Track",
1083
1119
  "/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" upload "pan-test-app/www" "https://pan-test-app-stage-www-unknown-host.example.com" "__sbom.json" vex.json || true",
1084
1120
  ],
@@ -1166,6 +1202,7 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
1166
1202
  ",
1167
1203
  "gcloud auth activate-service-account --key-file="./____keyfile.json"",
1168
1204
  "gcloud run services delete pan-test-app-prod-www --project=asdf --region=asia-east1",
1205
+ "gcloud artifacts docker images delete asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/prod/www --quiet --delete-tags",
1169
1206
  "echo Disabling component in Dependency Track",
1170
1207
  "/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" disable "pan-test-app/www" "https://pan-test-app-prod-www-unknown-host.example.com" || true",
1171
1208
  "set -e",
@@ -1213,6 +1250,7 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
1213
1250
  ",
1214
1251
  "gcloud auth activate-service-account --key-file="./____keyfile.json"",
1215
1252
  "gcloud run services delete pan-test-app-stage-www --project=asdf --region=asia-east1",
1253
+ "gcloud artifacts docker images delete asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/stage/www --quiet --delete-tags",
1216
1254
  "echo Disabling component in Dependency Track",
1217
1255
  "/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" disable "pan-test-app/www" "https://pan-test-app-stage-www-unknown-host.example.com" || true",
1218
1256
  "set -e",
@@ -148,21 +148,28 @@ exports[`matches snapshot 1`] = `
148
148
  },
149
149
  ],
150
150
  "script": [
151
+ "echo -e "\\e[0Ksection_start:$(date +%s):prepare[collapsed=true]\\r\\e[0KPrepare..."",
151
152
  "echo $CL_dev_app_GCLOUD_DEPLOY_credentialsKey > ./____keyfile.json
152
153
  ",
153
154
  "gcloud auth activate-service-account --key-file="./____keyfile.json"",
154
155
  "export GCLOUD_PROJECT_NUMBER=$(gcloud projects describe asdf --format="value(projectNumber)")",
155
156
  "echo "GCLOUD_PROJECT_NUMBER: $GCLOUD_PROJECT_NUMBER"",
156
- "echo -e "\\e[0Ksection_start:$(date +%s):pushToArtifactRegistry[collapsed=true]\\r\\e[0Kpushing image to artifacts registry"",
157
+ "echo -e "\\e[0Ksection_end:$(date +%s):prepare\\r\\e[0K"",
158
+ "echo -e "\\e[0Ksection_start:$(date +%s):pushToArtifactRegistry[collapsed=true]\\r\\e[0KPushing image to artifacts registry"",
157
159
  "docker login --username gitlab-ci-token --password $CI_JOB_TOKEN $CI_REGISTRY",
158
160
  "gcloud auth configure-docker asia-east1-docker.pkg.dev",
159
161
  "docker pull $DOCKER_IMAGE:$DOCKER_IMAGE_TAG",
160
162
  "docker tag $DOCKER_IMAGE:$DOCKER_IMAGE_TAG asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/dev/app:$DOCKER_IMAGE_TAG",
161
163
  "docker push asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/dev/app:$DOCKER_IMAGE_TAG",
162
164
  "echo -e "\\e[0Ksection_end:$(date +%s):pushToArtifactRegistry\\r\\e[0K"",
165
+ "echo -e "\\e[0Ksection_start:$(date +%s):deploy[collapsed=true]\\r\\e[0KDeploy to cloud run"",
163
166
  "echo "$ENV_VARS" > ____envvars.yaml",
164
167
  "gcloud run deploy pan-test-app-dev-app --command="" --image=asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/dev/app:$DOCKER_IMAGE_TAG --project=asdf --region=asia-east1 --labels=customer-name=pan,component-name=app,app-name=test-app,env-type=dev,env-name=dev,build-type=custom --env-vars-file=____envvars.yaml --min-instances=0 --max-instances=100 --cpu-throttling --allow-unauthenticated --cpu-boost",
165
- "docker image rm asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/dev/app:$DOCKER_IMAGE_TAG",
168
+ "echo -e "\\e[0Ksection_end:$(date +%s):deploy\\r\\e[0K"",
169
+ "echo -e "\\e[0Ksection_start:$(date +%s):cleanup[collapsed=true]\\r\\e[0KCleanup"",
170
+ "gcloud run revisions list --project=asdf --region=asia-east1 --service=pan-test-app-dev-app --limit=unlimited --sort-by=metadata.creationTimestamp --format="value(name)" --filter='(status.conditions.status=False OR status.conditions.status=Unknown)' | while read -r revisionname; do gcloud run revisions delete --project=asdf --region=asia-east1 --quiet $revisionname ; done",
171
+ "gcloud artifacts docker images list asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/dev/app --sort-by=~CREATE_TIME --format="value(version)" | tail -n +2 | while read -r version; do gcloud artifacts docker images delete asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/dev/app@$version --quiet --delete-tags; done",
172
+ "echo -e "\\e[0Ksection_end:$(date +%s):cleanup\\r\\e[0K"",
166
173
  "echo Uploading SBOM to Dependency Track",
167
174
  "/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" upload "pan-test-app/app" "https://pan-test-app-dev-app-unknown-host.example.com" "__sbom.json" vex.json || true",
168
175
  ],
@@ -250,6 +257,7 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
250
257
  ",
251
258
  "gcloud auth activate-service-account --key-file="./____keyfile.json"",
252
259
  "gcloud run services delete pan-test-app-dev-app --project=asdf --region=asia-east1",
260
+ "gcloud artifacts docker images delete asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/dev/app --quiet --delete-tags",
253
261
  "echo Disabling component in Dependency Track",
254
262
  "/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" disable "pan-test-app/app" "https://pan-test-app-dev-app-unknown-host.example.com" || true",
255
263
  "set -e",
@@ -503,21 +511,31 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
503
511
  },
504
512
  ],
505
513
  "script": [
514
+ "echo -e "\\e[0Ksection_start:$(date +%s):prepare[collapsed=true]\\r\\e[0KPrepare..."",
506
515
  "echo $CL_review_app_GCLOUD_DEPLOY_credentialsKey > ./____keyfile.json
507
516
  ",
508
517
  "gcloud auth activate-service-account --key-file="./____keyfile.json"",
509
518
  "export GCLOUD_PROJECT_NUMBER=$(gcloud projects describe asdf --format="value(projectNumber)")",
510
519
  "echo "GCLOUD_PROJECT_NUMBER: $GCLOUD_PROJECT_NUMBER"",
511
- "echo -e "\\e[0Ksection_start:$(date +%s):pushToArtifactRegistry[collapsed=true]\\r\\e[0Kpushing image to artifacts registry"",
520
+ "echo -e "\\e[0Ksection_end:$(date +%s):prepare\\r\\e[0K"",
521
+ "echo -e "\\e[0Ksection_start:$(date +%s):pushToArtifactRegistry[collapsed=true]\\r\\e[0KPushing image to artifacts registry"",
512
522
  "docker login --username gitlab-ci-token --password $CI_JOB_TOKEN $CI_REGISTRY",
513
523
  "gcloud auth configure-docker asia-east1-docker.pkg.dev",
514
524
  "docker pull $DOCKER_IMAGE:$DOCKER_IMAGE_TAG",
515
525
  "docker tag $DOCKER_IMAGE:$DOCKER_IMAGE_TAG asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/review/app/mr1234:$DOCKER_IMAGE_TAG",
516
526
  "docker push asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/review/app/mr1234:$DOCKER_IMAGE_TAG",
517
527
  "echo -e "\\e[0Ksection_end:$(date +%s):pushToArtifactRegistry\\r\\e[0K"",
528
+ "echo -e "\\e[0Ksection_start:$(date +%s):deploy[collapsed=true]\\r\\e[0KDeploy to cloud run"",
518
529
  "echo "$ENV_VARS" > ____envvars.yaml",
519
530
  "gcloud run deploy pan-test-app-review-mr1234-app --command="" --image=asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/review/app/mr1234:$DOCKER_IMAGE_TAG --project=asdf --region=asia-east1 --labels=customer-name=pan,component-name=app,app-name=test-app,env-type=review,env-name=review,build-type=custom --env-vars-file=____envvars.yaml --min-instances=0 --max-instances=100 --cpu-throttling --allow-unauthenticated --cpu-boost",
520
- "docker image rm asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/review/app/mr1234:$DOCKER_IMAGE_TAG",
531
+ "echo -e "\\e[0Ksection_end:$(date +%s):deploy\\r\\e[0K"",
532
+ "echo -e "\\e[0Ksection_start:$(date +%s):cleanup[collapsed=true]\\r\\e[0KCleanup"",
533
+ "gcloud run revisions list --project=asdf --region=asia-east1 --service=pan-test-app-review-mr1234-app --limit=unlimited --sort-by=metadata.creationTimestamp --format="value(name)" --filter='(status.conditions.status=False OR status.conditions.status=Unknown)' | while read -r revisionname; do gcloud run revisions delete --project=asdf --region=asia-east1 --quiet $revisionname ; done",
534
+ "gcloud artifacts docker images list asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/review/app/mr1234 --sort-by=~CREATE_TIME --format="value(version)" | tail -n +2 | while read -r version; do gcloud artifacts docker images delete asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/review/app/mr1234@$version --quiet --delete-tags; done",
535
+ "set +e",
536
+ "gcloud artifacts docker images delete asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/review/app --quiet --delete-tags",
537
+ "set -e",
538
+ "echo -e "\\e[0Ksection_end:$(date +%s):cleanup\\r\\e[0K"",
521
539
  "echo Uploading SBOM to Dependency Track",
522
540
  "/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" upload "pan-test-app/app" "https://pan-test-app-review-mr1234-app-unknown-host.example.com" "__sbom.json" vex.json || true",
523
541
  ],
@@ -605,6 +623,10 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
605
623
  ",
606
624
  "gcloud auth activate-service-account --key-file="./____keyfile.json"",
607
625
  "gcloud run services delete pan-test-app-review-mr1234-app --project=asdf --region=asia-east1",
626
+ "gcloud artifacts docker images delete asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/review/app/mr1234 --quiet --delete-tags",
627
+ "set +e",
628
+ "gcloud artifacts docker images delete asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/review/app --quiet --delete-tags",
629
+ "set -e",
608
630
  "echo Disabling component in Dependency Track",
609
631
  "/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" disable "pan-test-app/app" "https://pan-test-app-review-mr1234-app-unknown-host.example.com" || true",
610
632
  "set -e",
@@ -959,21 +981,28 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
959
981
  },
960
982
  ],
961
983
  "script": [
984
+ "echo -e "\\e[0Ksection_start:$(date +%s):prepare[collapsed=true]\\r\\e[0KPrepare..."",
962
985
  "echo $CL_prod_app_GCLOUD_DEPLOY_credentialsKey > ./____keyfile.json
963
986
  ",
964
987
  "gcloud auth activate-service-account --key-file="./____keyfile.json"",
965
988
  "export GCLOUD_PROJECT_NUMBER=$(gcloud projects describe asdf --format="value(projectNumber)")",
966
989
  "echo "GCLOUD_PROJECT_NUMBER: $GCLOUD_PROJECT_NUMBER"",
967
- "echo -e "\\e[0Ksection_start:$(date +%s):pushToArtifactRegistry[collapsed=true]\\r\\e[0Kpushing image to artifacts registry"",
990
+ "echo -e "\\e[0Ksection_end:$(date +%s):prepare\\r\\e[0K"",
991
+ "echo -e "\\e[0Ksection_start:$(date +%s):pushToArtifactRegistry[collapsed=true]\\r\\e[0KPushing image to artifacts registry"",
968
992
  "docker login --username gitlab-ci-token --password $CI_JOB_TOKEN $CI_REGISTRY",
969
993
  "gcloud auth configure-docker asia-east1-docker.pkg.dev",
970
994
  "docker pull $DOCKER_IMAGE:$DOCKER_IMAGE_TAG",
971
995
  "docker tag $DOCKER_IMAGE:$DOCKER_IMAGE_TAG asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/prod/app:$DOCKER_IMAGE_TAG",
972
996
  "docker push asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/prod/app:$DOCKER_IMAGE_TAG",
973
997
  "echo -e "\\e[0Ksection_end:$(date +%s):pushToArtifactRegistry\\r\\e[0K"",
998
+ "echo -e "\\e[0Ksection_start:$(date +%s):deploy[collapsed=true]\\r\\e[0KDeploy to cloud run"",
974
999
  "echo "$ENV_VARS" > ____envvars.yaml",
975
1000
  "gcloud run deploy pan-test-app-prod-app --command="" --image=asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/prod/app:$DOCKER_IMAGE_TAG --project=asdf --region=asia-east1 --labels=customer-name=pan,component-name=app,app-name=test-app,env-type=prod,env-name=prod,build-type=custom --env-vars-file=____envvars.yaml --min-instances=0 --max-instances=100 --cpu-throttling --allow-unauthenticated --cpu-boost",
976
- "docker image rm asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/prod/app:$DOCKER_IMAGE_TAG",
1001
+ "echo -e "\\e[0Ksection_end:$(date +%s):deploy\\r\\e[0K"",
1002
+ "echo -e "\\e[0Ksection_start:$(date +%s):cleanup[collapsed=true]\\r\\e[0KCleanup"",
1003
+ "gcloud run revisions list --project=asdf --region=asia-east1 --service=pan-test-app-prod-app --limit=unlimited --sort-by=metadata.creationTimestamp --format="value(name)" --filter='(status.conditions.status=False OR status.conditions.status=Unknown)' | tail -n +6 | while read -r revisionname; do gcloud run revisions delete --project=asdf --region=asia-east1 --quiet $revisionname ; done",
1004
+ "gcloud artifacts docker images list asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/prod/app --sort-by=~CREATE_TIME --format="value(version)" | tail -n +7 | while read -r version; do gcloud artifacts docker images delete asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/prod/app@$version --quiet --delete-tags; done",
1005
+ "echo -e "\\e[0Ksection_end:$(date +%s):cleanup\\r\\e[0K"",
977
1006
  "echo Uploading SBOM to Dependency Track",
978
1007
  "/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" upload "pan-test-app/app" "https://pan-test-app-prod-app-unknown-host.example.com" "__sbom.json" vex.json || true",
979
1008
  ],
@@ -1070,21 +1099,28 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
1070
1099
  },
1071
1100
  ],
1072
1101
  "script": [
1102
+ "echo -e "\\e[0Ksection_start:$(date +%s):prepare[collapsed=true]\\r\\e[0KPrepare..."",
1073
1103
  "echo $CL_stage_app_GCLOUD_DEPLOY_credentialsKey > ./____keyfile.json
1074
1104
  ",
1075
1105
  "gcloud auth activate-service-account --key-file="./____keyfile.json"",
1076
1106
  "export GCLOUD_PROJECT_NUMBER=$(gcloud projects describe asdf --format="value(projectNumber)")",
1077
1107
  "echo "GCLOUD_PROJECT_NUMBER: $GCLOUD_PROJECT_NUMBER"",
1078
- "echo -e "\\e[0Ksection_start:$(date +%s):pushToArtifactRegistry[collapsed=true]\\r\\e[0Kpushing image to artifacts registry"",
1108
+ "echo -e "\\e[0Ksection_end:$(date +%s):prepare\\r\\e[0K"",
1109
+ "echo -e "\\e[0Ksection_start:$(date +%s):pushToArtifactRegistry[collapsed=true]\\r\\e[0KPushing image to artifacts registry"",
1079
1110
  "docker login --username gitlab-ci-token --password $CI_JOB_TOKEN $CI_REGISTRY",
1080
1111
  "gcloud auth configure-docker asia-east1-docker.pkg.dev",
1081
1112
  "docker pull $DOCKER_IMAGE:$DOCKER_IMAGE_TAG",
1082
1113
  "docker tag $DOCKER_IMAGE:$DOCKER_IMAGE_TAG asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/stage/app:$DOCKER_IMAGE_TAG",
1083
1114
  "docker push asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/stage/app:$DOCKER_IMAGE_TAG",
1084
1115
  "echo -e "\\e[0Ksection_end:$(date +%s):pushToArtifactRegistry\\r\\e[0K"",
1116
+ "echo -e "\\e[0Ksection_start:$(date +%s):deploy[collapsed=true]\\r\\e[0KDeploy to cloud run"",
1085
1117
  "echo "$ENV_VARS" > ____envvars.yaml",
1086
1118
  "gcloud run deploy pan-test-app-stage-app --command="" --image=asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/stage/app:$DOCKER_IMAGE_TAG --project=asdf --region=asia-east1 --labels=customer-name=pan,component-name=app,app-name=test-app,env-type=stage,env-name=stage,build-type=custom --env-vars-file=____envvars.yaml --min-instances=0 --max-instances=100 --cpu-throttling --allow-unauthenticated --cpu-boost",
1087
- "docker image rm asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/stage/app:$DOCKER_IMAGE_TAG",
1119
+ "echo -e "\\e[0Ksection_end:$(date +%s):deploy\\r\\e[0K"",
1120
+ "echo -e "\\e[0Ksection_start:$(date +%s):cleanup[collapsed=true]\\r\\e[0KCleanup"",
1121
+ "gcloud run revisions list --project=asdf --region=asia-east1 --service=pan-test-app-stage-app --limit=unlimited --sort-by=metadata.creationTimestamp --format="value(name)" --filter='(status.conditions.status=False OR status.conditions.status=Unknown)' | while read -r revisionname; do gcloud run revisions delete --project=asdf --region=asia-east1 --quiet $revisionname ; done",
1122
+ "gcloud artifacts docker images list asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/stage/app --sort-by=~CREATE_TIME --format="value(version)" | tail -n +2 | while read -r version; do gcloud artifacts docker images delete asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/stage/app@$version --quiet --delete-tags; done",
1123
+ "echo -e "\\e[0Ksection_end:$(date +%s):cleanup\\r\\e[0K"",
1088
1124
  "echo Uploading SBOM to Dependency Track",
1089
1125
  "/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" upload "pan-test-app/app" "https://pan-test-app-stage-app-unknown-host.example.com" "__sbom.json" vex.json || true",
1090
1126
  ],
@@ -1172,6 +1208,7 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
1172
1208
  ",
1173
1209
  "gcloud auth activate-service-account --key-file="./____keyfile.json"",
1174
1210
  "gcloud run services delete pan-test-app-prod-app --project=asdf --region=asia-east1",
1211
+ "gcloud artifacts docker images delete asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/prod/app --quiet --delete-tags",
1175
1212
  "echo Disabling component in Dependency Track",
1176
1213
  "/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" disable "pan-test-app/app" "https://pan-test-app-prod-app-unknown-host.example.com" || true",
1177
1214
  "set -e",
@@ -1219,6 +1256,7 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
1219
1256
  ",
1220
1257
  "gcloud auth activate-service-account --key-file="./____keyfile.json"",
1221
1258
  "gcloud run services delete pan-test-app-stage-app --project=asdf --region=asia-east1",
1259
+ "gcloud artifacts docker images delete asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/stage/app --quiet --delete-tags",
1222
1260
  "echo Disabling component in Dependency Track",
1223
1261
  "/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" disable "pan-test-app/app" "https://pan-test-app-stage-app-unknown-host.example.com" || true",
1224
1262
  "set -e",
@@ -245,21 +245,28 @@ COPY --chown=node:node .yarn /app/.yarn",
245
245
  },
246
246
  ],
247
247
  "script": [
248
+ "echo -e "\\e[0Ksection_start:$(date +%s):prepare[collapsed=true]\\r\\e[0KPrepare..."",
248
249
  "echo $CL_dev_api_GCLOUD_DEPLOY_credentialsKey > ./____keyfile.json
249
250
  ",
250
251
  "gcloud auth activate-service-account --key-file="./____keyfile.json"",
251
252
  "export GCLOUD_PROJECT_NUMBER=$(gcloud projects describe asdf --format="value(projectNumber)")",
252
253
  "echo "GCLOUD_PROJECT_NUMBER: $GCLOUD_PROJECT_NUMBER"",
253
- "echo -e "\\e[0Ksection_start:$(date +%s):pushToArtifactRegistry[collapsed=true]\\r\\e[0Kpushing image to artifacts registry"",
254
+ "echo -e "\\e[0Ksection_end:$(date +%s):prepare\\r\\e[0K"",
255
+ "echo -e "\\e[0Ksection_start:$(date +%s):pushToArtifactRegistry[collapsed=true]\\r\\e[0KPushing image to artifacts registry"",
254
256
  "docker login --username gitlab-ci-token --password $CI_JOB_TOKEN $CI_REGISTRY",
255
257
  "gcloud auth configure-docker asia-east1-docker.pkg.dev",
256
258
  "docker pull $DOCKER_IMAGE:$DOCKER_IMAGE_TAG",
257
259
  "docker tag $DOCKER_IMAGE:$DOCKER_IMAGE_TAG asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/dev/api:$DOCKER_IMAGE_TAG",
258
260
  "docker push asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/dev/api:$DOCKER_IMAGE_TAG",
259
261
  "echo -e "\\e[0Ksection_end:$(date +%s):pushToArtifactRegistry\\r\\e[0K"",
262
+ "echo -e "\\e[0Ksection_start:$(date +%s):deploy[collapsed=true]\\r\\e[0KDeploy to cloud run"",
260
263
  "echo "$ENV_VARS" > ____envvars.yaml",
261
264
  "gcloud run deploy pan-test-app-dev-api --command="yarn,start" --image=asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/dev/api:$DOCKER_IMAGE_TAG --project=asdf --region=asia-east1 --labels=customer-name=pan,component-name=api,app-name=test-app,env-type=dev,env-name=dev,build-type=node --env-vars-file=____envvars.yaml --min-instances=0 --max-instances=100 --cpu-throttling --allow-unauthenticated --cpu-boost",
262
- "docker image rm asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/dev/api:$DOCKER_IMAGE_TAG",
265
+ "echo -e "\\e[0Ksection_end:$(date +%s):deploy\\r\\e[0K"",
266
+ "echo -e "\\e[0Ksection_start:$(date +%s):cleanup[collapsed=true]\\r\\e[0KCleanup"",
267
+ "gcloud run revisions list --project=asdf --region=asia-east1 --service=pan-test-app-dev-api --limit=unlimited --sort-by=metadata.creationTimestamp --format="value(name)" --filter='(status.conditions.status=False OR status.conditions.status=Unknown)' | while read -r revisionname; do gcloud run revisions delete --project=asdf --region=asia-east1 --quiet $revisionname ; done",
268
+ "gcloud artifacts docker images list asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/dev/api --sort-by=~CREATE_TIME --format="value(version)" | tail -n +2 | while read -r version; do gcloud artifacts docker images delete asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/dev/api@$version --quiet --delete-tags; done",
269
+ "echo -e "\\e[0Ksection_end:$(date +%s):cleanup\\r\\e[0K"",
263
270
  "echo Uploading SBOM to Dependency Track",
264
271
  "/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" upload "pan-test-app/api" "https://pan-test-app-dev-api-unknown-host.example.com" "__sbom.json" vex.json || true",
265
272
  ],
@@ -347,6 +354,7 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
347
354
  ",
348
355
  "gcloud auth activate-service-account --key-file="./____keyfile.json"",
349
356
  "gcloud run services delete pan-test-app-dev-api --project=asdf --region=asia-east1",
357
+ "gcloud artifacts docker images delete asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/dev/api --quiet --delete-tags",
350
358
  "echo Disabling component in Dependency Track",
351
359
  "/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" disable "pan-test-app/api" "https://pan-test-app-dev-api-unknown-host.example.com" || true",
352
360
  "set -e",
@@ -1103,21 +1111,31 @@ COPY --chown=node:node .yarn /app/.yarn",
1103
1111
  },
1104
1112
  ],
1105
1113
  "script": [
1114
+ "echo -e "\\e[0Ksection_start:$(date +%s):prepare[collapsed=true]\\r\\e[0KPrepare..."",
1106
1115
  "echo $CL_review_api_GCLOUD_DEPLOY_credentialsKey > ./____keyfile.json
1107
1116
  ",
1108
1117
  "gcloud auth activate-service-account --key-file="./____keyfile.json"",
1109
1118
  "export GCLOUD_PROJECT_NUMBER=$(gcloud projects describe asdf --format="value(projectNumber)")",
1110
1119
  "echo "GCLOUD_PROJECT_NUMBER: $GCLOUD_PROJECT_NUMBER"",
1111
- "echo -e "\\e[0Ksection_start:$(date +%s):pushToArtifactRegistry[collapsed=true]\\r\\e[0Kpushing image to artifacts registry"",
1120
+ "echo -e "\\e[0Ksection_end:$(date +%s):prepare\\r\\e[0K"",
1121
+ "echo -e "\\e[0Ksection_start:$(date +%s):pushToArtifactRegistry[collapsed=true]\\r\\e[0KPushing image to artifacts registry"",
1112
1122
  "docker login --username gitlab-ci-token --password $CI_JOB_TOKEN $CI_REGISTRY",
1113
1123
  "gcloud auth configure-docker asia-east1-docker.pkg.dev",
1114
1124
  "docker pull $DOCKER_IMAGE:$DOCKER_IMAGE_TAG",
1115
1125
  "docker tag $DOCKER_IMAGE:$DOCKER_IMAGE_TAG asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/review/api/mr1234:$DOCKER_IMAGE_TAG",
1116
1126
  "docker push asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/review/api/mr1234:$DOCKER_IMAGE_TAG",
1117
1127
  "echo -e "\\e[0Ksection_end:$(date +%s):pushToArtifactRegistry\\r\\e[0K"",
1128
+ "echo -e "\\e[0Ksection_start:$(date +%s):deploy[collapsed=true]\\r\\e[0KDeploy to cloud run"",
1118
1129
  "echo "$ENV_VARS" > ____envvars.yaml",
1119
1130
  "gcloud run deploy pan-test-app-review-mr1234-api --command="yarn,start" --image=asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/review/api/mr1234:$DOCKER_IMAGE_TAG --project=asdf --region=asia-east1 --labels=customer-name=pan,component-name=api,app-name=test-app,env-type=review,env-name=review,build-type=node --env-vars-file=____envvars.yaml --min-instances=0 --max-instances=100 --cpu-throttling --allow-unauthenticated --cpu-boost",
1120
- "docker image rm asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/review/api/mr1234:$DOCKER_IMAGE_TAG",
1131
+ "echo -e "\\e[0Ksection_end:$(date +%s):deploy\\r\\e[0K"",
1132
+ "echo -e "\\e[0Ksection_start:$(date +%s):cleanup[collapsed=true]\\r\\e[0KCleanup"",
1133
+ "gcloud run revisions list --project=asdf --region=asia-east1 --service=pan-test-app-review-mr1234-api --limit=unlimited --sort-by=metadata.creationTimestamp --format="value(name)" --filter='(status.conditions.status=False OR status.conditions.status=Unknown)' | while read -r revisionname; do gcloud run revisions delete --project=asdf --region=asia-east1 --quiet $revisionname ; done",
1134
+ "gcloud artifacts docker images list asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/review/api/mr1234 --sort-by=~CREATE_TIME --format="value(version)" | tail -n +2 | while read -r version; do gcloud artifacts docker images delete asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/review/api/mr1234@$version --quiet --delete-tags; done",
1135
+ "set +e",
1136
+ "gcloud artifacts docker images delete asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/review/api --quiet --delete-tags",
1137
+ "set -e",
1138
+ "echo -e "\\e[0Ksection_end:$(date +%s):cleanup\\r\\e[0K"",
1121
1139
  "echo Uploading SBOM to Dependency Track",
1122
1140
  "/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" upload "pan-test-app/api" "https://pan-test-app-review-mr1234-api-unknown-host.example.com" "__sbom.json" vex.json || true",
1123
1141
  ],
@@ -1205,6 +1223,10 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
1205
1223
  ",
1206
1224
  "gcloud auth activate-service-account --key-file="./____keyfile.json"",
1207
1225
  "gcloud run services delete pan-test-app-review-mr1234-api --project=asdf --region=asia-east1",
1226
+ "gcloud artifacts docker images delete asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/review/api/mr1234 --quiet --delete-tags",
1227
+ "set +e",
1228
+ "gcloud artifacts docker images delete asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/review/api --quiet --delete-tags",
1229
+ "set -e",
1208
1230
  "echo Disabling component in Dependency Track",
1209
1231
  "/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" disable "pan-test-app/api" "https://pan-test-app-review-mr1234-api-unknown-host.example.com" || true",
1210
1232
  "set -e",
@@ -2049,21 +2071,28 @@ COPY --chown=node:node .yarn /app/.yarn",
2049
2071
  },
2050
2072
  ],
2051
2073
  "script": [
2074
+ "echo -e "\\e[0Ksection_start:$(date +%s):prepare[collapsed=true]\\r\\e[0KPrepare..."",
2052
2075
  "echo $CL_prod_api_GCLOUD_DEPLOY_credentialsKey > ./____keyfile.json
2053
2076
  ",
2054
2077
  "gcloud auth activate-service-account --key-file="./____keyfile.json"",
2055
2078
  "export GCLOUD_PROJECT_NUMBER=$(gcloud projects describe asdf --format="value(projectNumber)")",
2056
2079
  "echo "GCLOUD_PROJECT_NUMBER: $GCLOUD_PROJECT_NUMBER"",
2057
- "echo -e "\\e[0Ksection_start:$(date +%s):pushToArtifactRegistry[collapsed=true]\\r\\e[0Kpushing image to artifacts registry"",
2080
+ "echo -e "\\e[0Ksection_end:$(date +%s):prepare\\r\\e[0K"",
2081
+ "echo -e "\\e[0Ksection_start:$(date +%s):pushToArtifactRegistry[collapsed=true]\\r\\e[0KPushing image to artifacts registry"",
2058
2082
  "docker login --username gitlab-ci-token --password $CI_JOB_TOKEN $CI_REGISTRY",
2059
2083
  "gcloud auth configure-docker asia-east1-docker.pkg.dev",
2060
2084
  "docker pull $DOCKER_IMAGE:$DOCKER_IMAGE_TAG",
2061
2085
  "docker tag $DOCKER_IMAGE:$DOCKER_IMAGE_TAG asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/prod/api:$DOCKER_IMAGE_TAG",
2062
2086
  "docker push asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/prod/api:$DOCKER_IMAGE_TAG",
2063
2087
  "echo -e "\\e[0Ksection_end:$(date +%s):pushToArtifactRegistry\\r\\e[0K"",
2088
+ "echo -e "\\e[0Ksection_start:$(date +%s):deploy[collapsed=true]\\r\\e[0KDeploy to cloud run"",
2064
2089
  "echo "$ENV_VARS" > ____envvars.yaml",
2065
2090
  "gcloud run deploy pan-test-app-prod-api --command="yarn,start" --image=asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/prod/api:$DOCKER_IMAGE_TAG --project=asdf --region=asia-east1 --labels=customer-name=pan,component-name=api,app-name=test-app,env-type=prod,env-name=prod,build-type=node --env-vars-file=____envvars.yaml --min-instances=0 --max-instances=100 --cpu-throttling --allow-unauthenticated --cpu-boost",
2066
- "docker image rm asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/prod/api:$DOCKER_IMAGE_TAG",
2091
+ "echo -e "\\e[0Ksection_end:$(date +%s):deploy\\r\\e[0K"",
2092
+ "echo -e "\\e[0Ksection_start:$(date +%s):cleanup[collapsed=true]\\r\\e[0KCleanup"",
2093
+ "gcloud run revisions list --project=asdf --region=asia-east1 --service=pan-test-app-prod-api --limit=unlimited --sort-by=metadata.creationTimestamp --format="value(name)" --filter='(status.conditions.status=False OR status.conditions.status=Unknown)' | tail -n +6 | while read -r revisionname; do gcloud run revisions delete --project=asdf --region=asia-east1 --quiet $revisionname ; done",
2094
+ "gcloud artifacts docker images list asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/prod/api --sort-by=~CREATE_TIME --format="value(version)" | tail -n +7 | while read -r version; do gcloud artifacts docker images delete asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/prod/api@$version --quiet --delete-tags; done",
2095
+ "echo -e "\\e[0Ksection_end:$(date +%s):cleanup\\r\\e[0K"",
2067
2096
  "echo Uploading SBOM to Dependency Track",
2068
2097
  "/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" upload "pan-test-app/api" "https://pan-test-app-prod-api-unknown-host.example.com" "__sbom.json" vex.json || true",
2069
2098
  ],
@@ -2160,21 +2189,28 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
2160
2189
  },
2161
2190
  ],
2162
2191
  "script": [
2192
+ "echo -e "\\e[0Ksection_start:$(date +%s):prepare[collapsed=true]\\r\\e[0KPrepare..."",
2163
2193
  "echo $CL_stage_api_GCLOUD_DEPLOY_credentialsKey > ./____keyfile.json
2164
2194
  ",
2165
2195
  "gcloud auth activate-service-account --key-file="./____keyfile.json"",
2166
2196
  "export GCLOUD_PROJECT_NUMBER=$(gcloud projects describe asdf --format="value(projectNumber)")",
2167
2197
  "echo "GCLOUD_PROJECT_NUMBER: $GCLOUD_PROJECT_NUMBER"",
2168
- "echo -e "\\e[0Ksection_start:$(date +%s):pushToArtifactRegistry[collapsed=true]\\r\\e[0Kpushing image to artifacts registry"",
2198
+ "echo -e "\\e[0Ksection_end:$(date +%s):prepare\\r\\e[0K"",
2199
+ "echo -e "\\e[0Ksection_start:$(date +%s):pushToArtifactRegistry[collapsed=true]\\r\\e[0KPushing image to artifacts registry"",
2169
2200
  "docker login --username gitlab-ci-token --password $CI_JOB_TOKEN $CI_REGISTRY",
2170
2201
  "gcloud auth configure-docker asia-east1-docker.pkg.dev",
2171
2202
  "docker pull $DOCKER_IMAGE:$DOCKER_IMAGE_TAG",
2172
2203
  "docker tag $DOCKER_IMAGE:$DOCKER_IMAGE_TAG asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/stage/api:$DOCKER_IMAGE_TAG",
2173
2204
  "docker push asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/stage/api:$DOCKER_IMAGE_TAG",
2174
2205
  "echo -e "\\e[0Ksection_end:$(date +%s):pushToArtifactRegistry\\r\\e[0K"",
2206
+ "echo -e "\\e[0Ksection_start:$(date +%s):deploy[collapsed=true]\\r\\e[0KDeploy to cloud run"",
2175
2207
  "echo "$ENV_VARS" > ____envvars.yaml",
2176
2208
  "gcloud run deploy pan-test-app-stage-api --command="yarn,start" --image=asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/stage/api:$DOCKER_IMAGE_TAG --project=asdf --region=asia-east1 --labels=customer-name=pan,component-name=api,app-name=test-app,env-type=stage,env-name=stage,build-type=node --env-vars-file=____envvars.yaml --min-instances=0 --max-instances=100 --cpu-throttling --allow-unauthenticated --cpu-boost",
2177
- "docker image rm asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/stage/api:$DOCKER_IMAGE_TAG",
2209
+ "echo -e "\\e[0Ksection_end:$(date +%s):deploy\\r\\e[0K"",
2210
+ "echo -e "\\e[0Ksection_start:$(date +%s):cleanup[collapsed=true]\\r\\e[0KCleanup"",
2211
+ "gcloud run revisions list --project=asdf --region=asia-east1 --service=pan-test-app-stage-api --limit=unlimited --sort-by=metadata.creationTimestamp --format="value(name)" --filter='(status.conditions.status=False OR status.conditions.status=Unknown)' | while read -r revisionname; do gcloud run revisions delete --project=asdf --region=asia-east1 --quiet $revisionname ; done",
2212
+ "gcloud artifacts docker images list asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/stage/api --sort-by=~CREATE_TIME --format="value(version)" | tail -n +2 | while read -r version; do gcloud artifacts docker images delete asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/stage/api@$version --quiet --delete-tags; done",
2213
+ "echo -e "\\e[0Ksection_end:$(date +%s):cleanup\\r\\e[0K"",
2178
2214
  "echo Uploading SBOM to Dependency Track",
2179
2215
  "/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" upload "pan-test-app/api" "https://pan-test-app-stage-api-unknown-host.example.com" "__sbom.json" vex.json || true",
2180
2216
  ],
@@ -2262,6 +2298,7 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
2262
2298
  ",
2263
2299
  "gcloud auth activate-service-account --key-file="./____keyfile.json"",
2264
2300
  "gcloud run services delete pan-test-app-prod-api --project=asdf --region=asia-east1",
2301
+ "gcloud artifacts docker images delete asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/prod/api --quiet --delete-tags",
2265
2302
  "echo Disabling component in Dependency Track",
2266
2303
  "/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" disable "pan-test-app/api" "https://pan-test-app-prod-api-unknown-host.example.com" || true",
2267
2304
  "set -e",
@@ -2309,6 +2346,7 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
2309
2346
  ",
2310
2347
  "gcloud auth activate-service-account --key-file="./____keyfile.json"",
2311
2348
  "gcloud run services delete pan-test-app-stage-api --project=asdf --region=asia-east1",
2349
+ "gcloud artifacts docker images delete asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/stage/api --quiet --delete-tags",
2312
2350
  "echo Disabling component in Dependency Track",
2313
2351
  "/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" disable "pan-test-app/api" "https://pan-test-app-stage-api-unknown-host.example.com" || true",
2314
2352
  "set -e",