@catladder/pipeline 1.114.0 → 1.115.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.
@@ -250,11 +250,13 @@ COPY --chown=node:node .yarn /app/.yarn",
250
250
  "gcloud auth activate-service-account --key-file="./____keyfile.json"",
251
251
  "export GCLOUD_PROJECT_NUMBER=$(gcloud projects describe asdf --format="value(projectNumber)")",
252
252
  "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"",
253
254
  "docker login --username gitlab-ci-token --password $CI_JOB_TOKEN $CI_REGISTRY",
254
255
  "gcloud auth configure-docker asia-east1-docker.pkg.dev",
255
256
  "docker pull $DOCKER_IMAGE:$DOCKER_IMAGE_TAG",
256
257
  "docker tag $DOCKER_IMAGE:$DOCKER_IMAGE_TAG asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/dev/www:$DOCKER_IMAGE_TAG",
257
258
  "docker push asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/dev/www:$DOCKER_IMAGE_TAG",
259
+ "echo -e "\\e[0Ksection_end:$(date +%s):pushToArtifactRegistry\\r\\e[0K"",
258
260
  "echo "$ENV_VARS" > ____envvars.yaml",
259
261
  "gcloud run deploy pan-test-app-dev-www --command="yarn,start" --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=node --env-vars-file=____envvars.yaml --min-instances=0 --max-instances=100 --cpu-throttling --allow-unauthenticated --cpu-boost",
260
262
  "docker image rm asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/dev/www:$DOCKER_IMAGE_TAG",
@@ -767,14 +769,16 @@ COPY --chown=node:node .yarn /app/.yarn",
767
769
  "gcloud auth activate-service-account --key-file="./____keyfile.json"",
768
770
  "export GCLOUD_PROJECT_NUMBER=$(gcloud projects describe asdf --format="value(projectNumber)")",
769
771
  "echo "GCLOUD_PROJECT_NUMBER: $GCLOUD_PROJECT_NUMBER"",
772
+ "echo -e "\\e[0Ksection_start:$(date +%s):pushToArtifactRegistry[collapsed=true]\\r\\e[0Kpushing image to artifacts registry"",
770
773
  "docker login --username gitlab-ci-token --password $CI_JOB_TOKEN $CI_REGISTRY",
771
774
  "gcloud auth configure-docker asia-east1-docker.pkg.dev",
772
775
  "docker pull $DOCKER_IMAGE:$DOCKER_IMAGE_TAG",
773
- "docker tag $DOCKER_IMAGE:$DOCKER_IMAGE_TAG asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/review/www:$DOCKER_IMAGE_TAG",
774
- "docker push asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/review/www:$DOCKER_IMAGE_TAG",
776
+ "docker tag $DOCKER_IMAGE:$DOCKER_IMAGE_TAG asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/review/www/mr1234:$DOCKER_IMAGE_TAG",
777
+ "docker push asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/review/www/mr1234:$DOCKER_IMAGE_TAG",
778
+ "echo -e "\\e[0Ksection_end:$(date +%s):pushToArtifactRegistry\\r\\e[0K"",
775
779
  "echo "$ENV_VARS" > ____envvars.yaml",
776
- "gcloud run deploy pan-test-app-review-mr1234-www --command="yarn,start" --image=asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/review/www:$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=node --env-vars-file=____envvars.yaml --min-instances=0 --max-instances=100 --cpu-throttling --allow-unauthenticated --cpu-boost",
777
- "docker image rm asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/review/www:$DOCKER_IMAGE_TAG",
780
+ "gcloud run deploy pan-test-app-review-mr1234-www --command="yarn,start" --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=node --env-vars-file=____envvars.yaml --min-instances=0 --max-instances=100 --cpu-throttling --allow-unauthenticated --cpu-boost",
781
+ "docker image rm asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/review/www/mr1234:$DOCKER_IMAGE_TAG",
778
782
  "echo Uploading SBOM to Dependency Track",
779
783
  "/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",
780
784
  ],
@@ -1372,11 +1376,13 @@ COPY --chown=node:node .yarn /app/.yarn",
1372
1376
  "gcloud auth activate-service-account --key-file="./____keyfile.json"",
1373
1377
  "export GCLOUD_PROJECT_NUMBER=$(gcloud projects describe asdf --format="value(projectNumber)")",
1374
1378
  "echo "GCLOUD_PROJECT_NUMBER: $GCLOUD_PROJECT_NUMBER"",
1379
+ "echo -e "\\e[0Ksection_start:$(date +%s):pushToArtifactRegistry[collapsed=true]\\r\\e[0Kpushing image to artifacts registry"",
1375
1380
  "docker login --username gitlab-ci-token --password $CI_JOB_TOKEN $CI_REGISTRY",
1376
1381
  "gcloud auth configure-docker asia-east1-docker.pkg.dev",
1377
1382
  "docker pull $DOCKER_IMAGE:$DOCKER_IMAGE_TAG",
1378
1383
  "docker tag $DOCKER_IMAGE:$DOCKER_IMAGE_TAG asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/prod/www:$DOCKER_IMAGE_TAG",
1379
1384
  "docker push asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/prod/www:$DOCKER_IMAGE_TAG",
1385
+ "echo -e "\\e[0Ksection_end:$(date +%s):pushToArtifactRegistry\\r\\e[0K"",
1380
1386
  "echo "$ENV_VARS" > ____envvars.yaml",
1381
1387
  "gcloud run deploy pan-test-app-prod-www --command="yarn,start" --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=node --env-vars-file=____envvars.yaml --min-instances=0 --max-instances=100 --cpu-throttling --allow-unauthenticated --cpu-boost",
1382
1388
  "docker image rm asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/prod/www:$DOCKER_IMAGE_TAG",
@@ -1481,11 +1487,13 @@ _ALL_ENV_VAR_KEYS: '["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_ID","BUILD_INF
1481
1487
  "gcloud auth activate-service-account --key-file="./____keyfile.json"",
1482
1488
  "export GCLOUD_PROJECT_NUMBER=$(gcloud projects describe asdf --format="value(projectNumber)")",
1483
1489
  "echo "GCLOUD_PROJECT_NUMBER: $GCLOUD_PROJECT_NUMBER"",
1490
+ "echo -e "\\e[0Ksection_start:$(date +%s):pushToArtifactRegistry[collapsed=true]\\r\\e[0Kpushing image to artifacts registry"",
1484
1491
  "docker login --username gitlab-ci-token --password $CI_JOB_TOKEN $CI_REGISTRY",
1485
1492
  "gcloud auth configure-docker asia-east1-docker.pkg.dev",
1486
1493
  "docker pull $DOCKER_IMAGE:$DOCKER_IMAGE_TAG",
1487
1494
  "docker tag $DOCKER_IMAGE:$DOCKER_IMAGE_TAG asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/stage/www:$DOCKER_IMAGE_TAG",
1488
1495
  "docker push asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/stage/www:$DOCKER_IMAGE_TAG",
1496
+ "echo -e "\\e[0Ksection_end:$(date +%s):pushToArtifactRegistry\\r\\e[0K"",
1489
1497
  "echo "$ENV_VARS" > ____envvars.yaml",
1490
1498
  "gcloud run deploy pan-test-app-stage-www --command="yarn,start" --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=node --env-vars-file=____envvars.yaml --min-instances=0 --max-instances=100 --cpu-throttling --allow-unauthenticated --cpu-boost",
1491
1499
  "docker image rm asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/stage/www:$DOCKER_IMAGE_TAG",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@catladder/pipeline",
3
- "version": "1.114.0",
3
+ "version": "1.115.0",
4
4
  "scripts": {
5
5
  "build:tsc": "yarn tsc",
6
6
  "build": "yarn build:compile && yarn build:inline-variables && yarn build:bundle",
@@ -6,7 +6,7 @@ import { getLabels } from "../../context/getLabels";
6
6
  import { getRunnerImage } from "../../runner";
7
7
  import type { Context } from "../../types/context";
8
8
  import type { CatladderJob } from "../../types/jobs";
9
- import { allowFailureInScripts } from "../../utils/gitlab";
9
+ import { allowFailureInScripts, collapseableSection } from "../../utils/gitlab";
10
10
  import { createDeployementJobs } from "../base";
11
11
  import {
12
12
  getDependencyTrackDeleteScript,
@@ -46,16 +46,27 @@ export const createGoogleCloudRunDeployJobs = (
46
46
 
47
47
  const fullAppName = `${context.fullConfig.customerName}-${context.fullConfig.appName}`;
48
48
  const dockerUrl = `${deployConfig.region}-docker.pkg.dev/${deployConfig.projectId}/catladder-deploy/${fullAppName}`;
49
- const gcloudImageName = `${dockerUrl}/${context.environment.shortName}/${context.componentName}:$DOCKER_IMAGE_TAG`;
49
+ const gcloudImagePath = [
50
+ dockerUrl,
51
+ context.environment.shortName,
52
+ context.componentName,
50
53
 
51
- const pushImageToArtifactsRegistry = [
54
+ ...(context.environment.envType === "review"
55
+ ? [context.commitInfo?.reviewSlug]
56
+ : []),
57
+ ];
58
+ const gcloudImageName = `${gcloudImagePath.join("/")}:$DOCKER_IMAGE_TAG`;
59
+
60
+ const pushImageToArtifactsRegistry = collapseableSection(
61
+ "pushToArtifactRegistry",
62
+ "pushing image to artifacts registry"
63
+ )([
52
64
  gitlabDockerLogin,
53
65
  `gcloud auth configure-docker ${deployConfig.region}-docker.pkg.dev`,
54
66
  `docker pull $DOCKER_IMAGE:$DOCKER_IMAGE_TAG`,
55
67
  `docker tag $DOCKER_IMAGE:$DOCKER_IMAGE_TAG ${gcloudImageName}`,
56
68
  `docker push ${gcloudImageName}`,
57
- ];
58
-
69
+ ]);
59
70
  const allEnvVars = omit(
60
71
  context.environment.envVars,
61
72
  GCLOUD_DEPLOY_CREDENTIALS_KEY
@@ -21,3 +21,13 @@ export const repeatOnFailure = (
21
21
  done
22
22
  `;
23
23
  };
24
+
25
+ export const collapseableSection =
26
+ (name: string, header: string) =>
27
+ (commands: string[]): string[] => {
28
+ return [
29
+ `echo -e "\\e[0Ksection_start:$(date +%s):${name}[collapsed=true]\\r\\e[0K${header}"`,
30
+ ...commands,
31
+ `echo -e "\\e[0Ksection_end:$(date +%s):${name}\\r\\e[0K"`,
32
+ ];
33
+ };