@catladder/pipeline 1.153.0 โ 1.154.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.
- package/dist/build/artifacts/createBuildJobArtifact.d.ts +3 -0
- package/dist/build/artifacts/createBuildJobArtifact.js +97 -0
- package/dist/build/base/createAppBuildJob.d.ts +3 -3
- package/dist/build/base/createAppBuildJob.js +9 -15
- package/dist/build/base/index.d.ts +6 -2
- package/dist/build/base/index.js +14 -5
- package/dist/build/base/writeDotEnv.js +2 -1
- package/dist/build/custom/__tests__/testJob.test.js +1 -1
- package/dist/build/custom/buildJob.js +3 -10
- package/dist/build/docker.js +3 -3
- package/dist/build/index.d.ts +13 -6
- package/dist/build/index.js +29 -7
- package/dist/build/node/buildJob.d.ts +7 -2
- package/dist/build/node/buildJob.js +40 -33
- package/dist/build/node/cache.d.ts +2 -2
- package/dist/build/node/cache.js +8 -4
- package/dist/build/node/index.d.ts +2 -2
- package/dist/build/node/meteor.js +3 -6
- package/dist/build/node/testJob.d.ts +3 -2
- package/dist/build/node/testJob.js +9 -4
- package/dist/build/node/yarn.js +1 -1
- package/dist/build/rails/build.d.ts +1 -1
- package/dist/build/rails/build.js +7 -2
- package/dist/build/rails/test.d.ts +1 -1
- package/dist/build/rails/test.js +5 -0
- package/dist/build/sbom.js +3 -2
- package/dist/build/types.d.ts +48 -4
- package/dist/build/types.js +7 -1
- package/dist/bundles/catladder-gitlab/index.js +2 -2
- package/dist/constants.js +1 -1
- package/dist/context/createAllComponentsContext.d.ts +12 -0
- package/dist/context/createAllComponentsContext.js +159 -0
- package/dist/context/createComponentContext.d.ts +1 -5
- package/dist/context/createComponentContext.js +82 -20
- package/dist/context/createWorkspaceContext.d.ts +16 -0
- package/dist/context/createWorkspaceContext.js +173 -0
- package/dist/context/getBuildInfoVariables.d.ts +1 -1
- package/dist/context/getEnvironmentContext.d.ts +1 -1
- package/dist/context/getEnvironmentVariables.d.ts +2 -2
- package/dist/context/getEnvironmentVariables.js +5 -4
- package/dist/context/getLabels.js +5 -5
- package/dist/deploy/base/deploy.d.ts +1 -1
- package/dist/deploy/base/deploy.js +18 -5
- package/dist/deploy/cloudRun/artifactsRegistry.js +2 -2
- package/dist/deploy/cloudRun/createJobs/common.d.ts +4 -4
- package/dist/deploy/cloudRun/index.d.ts +2 -2
- package/dist/deploy/custom/index.d.ts +2 -2
- package/dist/deploy/dockerTag/index.d.ts +2 -2
- package/dist/deploy/index.d.ts +7 -7
- package/dist/deploy/kubernetes/additionalSecretKeys.d.ts +3 -1
- package/dist/deploy/kubernetes/cloudSql/index.js +1 -1
- package/dist/deploy/kubernetes/deployJob.js +2 -2
- package/dist/deploy/kubernetes/index.d.ts +2 -2
- package/dist/deploy/sbom.d.ts +1 -1
- package/dist/deploy/sbom.js +4 -3
- package/dist/deploy/types/index.d.ts +3 -3
- package/dist/pipeline/createAllJobs.d.ts +12 -10
- package/dist/pipeline/createAllJobs.js +94 -51
- package/dist/pipeline/createJobsForComponent.js +2 -3
- package/dist/pipeline/createJobsForWorkspace.d.ts +3 -0
- package/dist/pipeline/createJobsForWorkspace.js +12 -0
- package/dist/pipeline/createMainPipeline.js +26 -6
- package/dist/pipeline/gitlab/createGitlabJobs.d.ts +3 -16
- package/dist/pipeline/gitlab/createGitlabJobs.js +191 -73
- package/dist/pipeline/packageManager.d.ts +3 -2
- package/dist/pipeline/packageManager.js +43 -15
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types/config.d.ts +5 -4
- package/dist/types/context.d.ts +80 -12
- package/dist/types/context.js +10 -1
- package/dist/types/environmentContext.d.ts +5 -6
- package/dist/types/jobs.d.ts +5 -0
- package/examples/__snapshots__/cloud-run-memory-limit.ts.snap +8 -8
- package/examples/__snapshots__/cloud-run-meteor-with-worker.ts.snap +8 -0
- package/examples/__snapshots__/cloud-run-no-cpu-throttling.ts.snap +8 -8
- package/examples/__snapshots__/cloud-run-no-service.ts.snap +8 -8
- package/examples/__snapshots__/cloud-run-non-public.ts.snap +8 -8
- package/examples/__snapshots__/cloud-run-post-stop-job.ts.snap +8 -8
- package/examples/__snapshots__/cloud-run-service-gen2.ts.snap +8 -8
- package/examples/__snapshots__/cloud-run-service-increase-timout.ts.snap +8 -8
- package/examples/__snapshots__/cloud-run-service-with-volumes.ts.snap +8 -8
- package/examples/__snapshots__/cloud-run-storybook.ts.snap +4 -8
- package/examples/__snapshots__/cloud-run-with-ngnix.ts.snap +4 -8
- package/examples/__snapshots__/cloud-run-with-sql-reuse-db.ts.snap +16 -16
- package/examples/__snapshots__/cloud-run-with-sql.ts.snap +589 -1097
- package/examples/__snapshots__/cloud-run-with-worker.ts.snap +8 -8
- package/examples/__snapshots__/custom-build-job-with-tests.ts.snap +4 -0
- package/examples/__snapshots__/custom-build-job.ts.snap +4 -0
- package/examples/__snapshots__/custom-deploy.ts.snap +8 -8
- package/examples/__snapshots__/custom-envs.ts.snap +18 -12
- package/examples/__snapshots__/custom-sbom-java.ts.snap +4 -0
- package/examples/__snapshots__/kubernetes-application-customization.ts.snap +8 -8
- package/examples/__snapshots__/kubernetes-with-cloud-sql-legacy.ts.snap +8 -8
- package/examples/__snapshots__/kubernetes-with-cloud-sql.ts.snap +8 -8
- package/examples/__snapshots__/kubernetes-with-jobs.ts.snap +16 -16
- package/examples/__snapshots__/kubernetes-with-mongodb.ts.snap +8 -8
- package/examples/__snapshots__/local-dot-env.ts.snap +8 -8
- package/examples/__snapshots__/meteor-kubernetes.ts.snap +8 -0
- package/examples/__snapshots__/multiline-var.ts.snap +16 -16
- package/examples/__snapshots__/native-app.ts.snap +24 -16
- package/examples/__snapshots__/node-build-with-custom-image.ts.snap +8 -8
- package/examples/__snapshots__/node-build-with-docker-additions.ts.snap +8 -8
- package/examples/__snapshots__/wait-for-other-deploy.ts.snap +16 -16
- package/examples/cloud-run-with-sql.ts +9 -2
- package/package.json +1 -1
- package/src/build/artifacts/createBuildJobArtifact.ts +61 -0
- package/src/build/base/createAppBuildJob.ts +26 -22
- package/src/build/base/index.ts +31 -4
- package/src/build/base/writeDotEnv.ts +6 -2
- package/src/build/custom/__tests__/testJob.test.ts +4 -4
- package/src/build/custom/buildJob.ts +2 -13
- package/src/build/docker.ts +6 -8
- package/src/build/index.ts +39 -7
- package/src/build/node/buildJob.ts +68 -56
- package/src/build/node/cache.ts +17 -8
- package/src/build/node/index.ts +4 -2
- package/src/build/node/meteor.ts +3 -9
- package/src/build/node/testJob.ts +21 -7
- package/src/build/node/yarn.ts +2 -2
- package/src/build/rails/build.ts +14 -4
- package/src/build/rails/test.ts +9 -1
- package/src/build/sbom.ts +7 -2
- package/src/build/types.ts +68 -4
- package/src/context/createAllComponentsContext.ts +31 -0
- package/src/context/createComponentContext.ts +59 -20
- package/src/context/createWorkspaceContext.ts +56 -0
- package/src/context/getBuildInfoVariables.ts +2 -1
- package/src/context/getEnvironmentContext.ts +2 -2
- package/src/context/getEnvironmentVariables.ts +12 -7
- package/src/context/getLabels.ts +3 -3
- package/src/deploy/base/deploy.ts +33 -7
- package/src/deploy/cloudRun/artifactsRegistry.ts +3 -4
- package/src/deploy/cloudRun/createJobs/common.ts +4 -4
- package/src/deploy/cloudRun/index.ts +68 -67
- package/src/deploy/custom/index.ts +2 -2
- package/src/deploy/dockerTag/index.ts +8 -7
- package/src/deploy/index.ts +11 -9
- package/src/deploy/kubernetes/additionalSecretKeys.ts +3 -1
- package/src/deploy/kubernetes/cloudSql/index.ts +1 -1
- package/src/deploy/kubernetes/deployJob.ts +2 -2
- package/src/deploy/kubernetes/index.ts +42 -41
- package/src/deploy/sbom.ts +9 -4
- package/src/pipeline/createAllJobs.ts +56 -55
- package/src/pipeline/createChildPipeline.ts +1 -0
- package/src/pipeline/createJobsForComponent.ts +5 -4
- package/src/pipeline/createJobsForWorkspace.ts +12 -0
- package/src/pipeline/createMainPipeline.ts +38 -23
- package/src/pipeline/gitlab/createGitlabJobs.ts +283 -119
- package/src/pipeline/packageManager.ts +25 -9
- package/src/types/config.ts +4 -1
- package/src/types/context.ts +108 -12
- package/src/types/environmentContext.ts +6 -7
- package/src/types/jobs.ts +3 -1
|
@@ -5,19 +5,19 @@ exports[`matches snapshot 1`] = `
|
|
|
5
5
|
"mainBranch": {
|
|
6
6
|
"image": "path/to/docker/jobs-default:the-version",
|
|
7
7
|
"jobs": {
|
|
8
|
-
"
|
|
8
|
+
"๐ธ myWorkspace ๐ฎ lint": {
|
|
9
9
|
"cache": [
|
|
10
10
|
{
|
|
11
|
-
"key": "
|
|
11
|
+
"key": ".-yarn",
|
|
12
12
|
"paths": [
|
|
13
|
-
"
|
|
13
|
+
".yarn",
|
|
14
14
|
],
|
|
15
15
|
"policy": "pull-push",
|
|
16
16
|
},
|
|
17
17
|
{
|
|
18
|
-
"key": "
|
|
18
|
+
"key": ".-node-modules",
|
|
19
19
|
"paths": [
|
|
20
|
-
"
|
|
20
|
+
"node_modules",
|
|
21
21
|
],
|
|
22
22
|
"policy": "pull-push",
|
|
23
23
|
},
|
|
@@ -34,13 +34,13 @@ exports[`matches snapshot 1`] = `
|
|
|
34
34
|
},
|
|
35
35
|
"script": [
|
|
36
36
|
"echo -e "\\e[0Ksection_start:$(date +%s):injectvars[collapsed=true]\\r\\e[0KInjecting variables"",
|
|
37
|
-
"export APP_PATH="
|
|
37
|
+
"export APP_PATH="."",
|
|
38
38
|
"echo -e "\\e[0Ksection_end:$(date +%s):injectvars\\r\\e[0K"",
|
|
39
39
|
"echo -e "\\e[0Ksection_start:$(date +%s):nodeinstall[collapsed=true]\\r\\e[0KEnsure node version"",
|
|
40
40
|
"if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi",
|
|
41
41
|
"if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi",
|
|
42
42
|
"echo -e "\\e[0Ksection_end:$(date +%s):nodeinstall\\r\\e[0K"",
|
|
43
|
-
"cd
|
|
43
|
+
"cd .",
|
|
44
44
|
"echo -e "\\e[0Ksection_start:$(date +%s):nodeinstall[collapsed=true]\\r\\e[0KEnsure node version"",
|
|
45
45
|
"if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi",
|
|
46
46
|
"if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi",
|
|
@@ -57,38 +57,42 @@ exports[`matches snapshot 1`] = `
|
|
|
57
57
|
"KUBERNETES_MEMORY_REQUEST": "2Gi",
|
|
58
58
|
},
|
|
59
59
|
},
|
|
60
|
-
"
|
|
60
|
+
"๐ธ myWorkspace ๐จ app | dev ": {
|
|
61
61
|
"artifacts": {
|
|
62
|
+
"exclude": [
|
|
63
|
+
"api/.env",
|
|
64
|
+
"www/.env",
|
|
65
|
+
],
|
|
62
66
|
"expire_in": "1 day",
|
|
63
67
|
"paths": [
|
|
64
|
-
"api/__build_info.json",
|
|
65
|
-
"api/dist",
|
|
66
68
|
"api/.next",
|
|
69
|
+
"api/dist",
|
|
70
|
+
"www/.next",
|
|
71
|
+
"www/dist",
|
|
67
72
|
],
|
|
68
|
-
"reports": {
|
|
69
|
-
"junit": undefined,
|
|
70
|
-
},
|
|
73
|
+
"reports": {},
|
|
71
74
|
"when": "always",
|
|
72
75
|
},
|
|
73
76
|
"cache": [
|
|
74
77
|
{
|
|
75
|
-
"key": "
|
|
78
|
+
"key": ".-yarn",
|
|
76
79
|
"paths": [
|
|
77
|
-
"
|
|
80
|
+
".yarn",
|
|
78
81
|
],
|
|
79
82
|
"policy": "pull-push",
|
|
80
83
|
},
|
|
81
84
|
{
|
|
82
|
-
"key": "
|
|
85
|
+
"key": ".-node-modules",
|
|
83
86
|
"paths": [
|
|
84
|
-
"
|
|
87
|
+
"node_modules",
|
|
85
88
|
],
|
|
86
89
|
"policy": "pull-push",
|
|
87
90
|
},
|
|
88
91
|
{
|
|
89
|
-
"key": "
|
|
92
|
+
"key": "myWorkspace-next-cache",
|
|
90
93
|
"paths": [
|
|
91
|
-
"api/.next/cache
|
|
94
|
+
"api/.next/cache",
|
|
95
|
+
"www/.next/cache",
|
|
92
96
|
],
|
|
93
97
|
"policy": "pull-push",
|
|
94
98
|
},
|
|
@@ -105,37 +109,61 @@ exports[`matches snapshot 1`] = `
|
|
|
105
109
|
},
|
|
106
110
|
"script": [
|
|
107
111
|
"echo -e "\\e[0Ksection_start:$(date +%s):injectvars[collapsed=true]\\r\\e[0KInjecting variables"",
|
|
108
|
-
"export ENV_SHORT="dev"",
|
|
109
|
-
"export APP_DIR="api"",
|
|
110
|
-
"export ENV_TYPE="dev"",
|
|
111
|
-
"export BUILD_INFO_BUILD_ID="$(git describe --tags 2>/dev/null || git rev-parse HEAD)"",
|
|
112
|
-
"export BUILD_INFO_BUILD_TIME="$CI_JOB_STARTED_AT"",
|
|
113
|
-
"export BUILD_INFO_CURRENT_VERSION="$(tag=$(git ls-remote origin "refs/tags/v*[0-9]" 2>/dev/null | cut -f 2- | sort -V | tail -1 | sed 's/refs\\/tags\\/v//'); [ -z "$tag" ] && echo "0.0.0" || echo "$tag")"",
|
|
114
|
-
"export HOST="$(printf %s "pan-test-app-dev-api-$CL_dev_api_GCLOUD_RUN_canonicalHostSuffix" | awk '{print tolower($0)}')"",
|
|
115
|
-
"export ROOT_URL="https://$(printf %s "pan-test-app-dev-api-$CL_dev_api_GCLOUD_RUN_canonicalHostSuffix" | awk '{print tolower($0)}')"",
|
|
116
|
-
"export HOST_INTERNAL="$(printf %s "pan-test-app-dev-api-$CL_dev_api_GCLOUD_RUN_canonicalHostSuffix" | awk '{print tolower($0)}')"",
|
|
117
|
-
"export HOST_CANONICAL="$(printf %s "pan-test-app-dev-api-$CL_dev_api_GCLOUD_RUN_canonicalHostSuffix" | awk '{print tolower($0)}')"",
|
|
118
|
-
"export ROOT_URL_INTERNAL="https://$(printf %s "pan-test-app-dev-api-$CL_dev_api_GCLOUD_RUN_canonicalHostSuffix" | awk '{print tolower($0)}')"",
|
|
119
|
-
"export CLOUD_SQL_INSTANCE_CONNECTION_NAME="projectId:region:instancename"",
|
|
120
|
-
"export DB_NAME="pan-test-app-dev-api"",
|
|
121
|
-
"export DB_USER="my-user"",
|
|
122
|
-
"export DB_PASSWORD="$CL_dev_api_DB_PASSWORD"",
|
|
123
|
-
"export DATABASE_URL="postgresql://$DB_USER:$DB_PASSWORD@localhost/$DB_NAME?host=/cloudsql/$CLOUD_SQL_INSTANCE_CONNECTION_NAME"",
|
|
124
|
-
"export DATABASE_JDBC_URL="jdbc:postgresql:///$DB_NAME?cloudSqlInstance=$CLOUD_SQL_INSTANCE_CONNECTION_NAME&socketFactory=com.google.cloud.sql.postgres.SocketFactory&user=$DB_USER&password=$DB_PASSWORD"",
|
|
125
|
-
"export CLOUD_RUN_JOB_TRIGGER_URL_migration="https://europe-west6-run.googleapis.com/apis/run.googleapis.com/v1/namespaces/google-project-id/jobs/pan-test-app-dev-api-migration:run"",
|
|
126
|
-
"export CLOUD_RUN_JOB_TRIGGER_URL_send_reminders="https://europe-west6-run.googleapis.com/apis/run.googleapis.com/v1/namespaces/google-project-id/jobs/pan-test-app-dev-api-send-reminders:run"",
|
|
127
|
-
"export DEPLOY_CLOUD_RUN_PROJECT_ID="google-project-id"",
|
|
128
|
-
"export DEPLOY_CLOUD_RUN_REGION="europe-west6"",
|
|
129
|
-
"export GCLOUD_DEPLOY_credentialsKey="$CL_dev_api_GCLOUD_DEPLOY_credentialsKey"",
|
|
130
|
-
"export GCLOUD_RUN_canonicalHostSuffix="$CL_dev_api_GCLOUD_RUN_canonicalHostSuffix"",
|
|
131
|
-
"export _ALL_ENV_VAR_KEYS="[\\"ENV_SHORT\\",\\"APP_DIR\\",\\"ENV_TYPE\\",\\"BUILD_INFO_BUILD_ID\\",\\"BUILD_INFO_BUILD_TIME\\",\\"BUILD_INFO_CURRENT_VERSION\\",\\"HOST\\",\\"ROOT_URL\\",\\"HOST_INTERNAL\\",\\"HOST_CANONICAL\\",\\"ROOT_URL_INTERNAL\\",\\"CLOUD_SQL_INSTANCE_CONNECTION_NAME\\",\\"DB_NAME\\",\\"DB_USER\\",\\"DB_PASSWORD\\",\\"DATABASE_URL\\",\\"DATABASE_JDBC_URL\\",\\"CLOUD_RUN_JOB_TRIGGER_URL_migration\\",\\"CLOUD_RUN_JOB_TRIGGER_URL_send_reminders\\",\\"DEPLOY_CLOUD_RUN_PROJECT_ID\\",\\"DEPLOY_CLOUD_RUN_REGION\\",\\"GCLOUD_DEPLOY_credentialsKey\\",\\"GCLOUD_RUN_canonicalHostSuffix\\"]"",
|
|
132
112
|
"echo -e "\\e[0Ksection_end:$(date +%s):injectvars\\r\\e[0K"",
|
|
133
|
-
"echo
|
|
113
|
+
"echo -e "\\e[0Ksection_start:$(date +%s):write-dotenv-api[collapsed=true]\\r\\e[0Kwrite dot env"",
|
|
114
|
+
"cat <<EOF > api/.env
|
|
115
|
+
ENV_SHORT=dev
|
|
116
|
+
APP_DIR=api
|
|
117
|
+
ENV_TYPE=dev
|
|
118
|
+
BUILD_INFO_BUILD_ID=$(git describe --tags 2>/dev/null || git rev-parse HEAD)
|
|
119
|
+
BUILD_INFO_BUILD_TIME=$CI_JOB_STARTED_AT
|
|
120
|
+
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")
|
|
121
|
+
HOST=$(printf %s "pan-test-app-dev-api-$CL_dev_api_GCLOUD_RUN_canonicalHostSuffix" | awk '{print tolower($0)}')
|
|
122
|
+
ROOT_URL=https://$(printf %s "pan-test-app-dev-api-$CL_dev_api_GCLOUD_RUN_canonicalHostSuffix" | awk '{print tolower($0)}')
|
|
123
|
+
HOST_INTERNAL=$(printf %s "pan-test-app-dev-api-$CL_dev_api_GCLOUD_RUN_canonicalHostSuffix" | awk '{print tolower($0)}')
|
|
124
|
+
HOST_CANONICAL=$(printf %s "pan-test-app-dev-api-$CL_dev_api_GCLOUD_RUN_canonicalHostSuffix" | awk '{print tolower($0)}')
|
|
125
|
+
ROOT_URL_INTERNAL=https://$(printf %s "pan-test-app-dev-api-$CL_dev_api_GCLOUD_RUN_canonicalHostSuffix" | awk '{print tolower($0)}')
|
|
126
|
+
CLOUD_SQL_INSTANCE_CONNECTION_NAME=projectId:region:instancename
|
|
127
|
+
DB_NAME=pan-test-app-dev-api
|
|
128
|
+
DB_USER=my-user
|
|
129
|
+
DB_PASSWORD=$CL_dev_api_DB_PASSWORD
|
|
130
|
+
DATABASE_URL=postgresql://$DB_USER:$DB_PASSWORD@localhost/$DB_NAME?host=/cloudsql/$CLOUD_SQL_INSTANCE_CONNECTION_NAME
|
|
131
|
+
DATABASE_JDBC_URL=jdbc:postgresql:///$DB_NAME?cloudSqlInstance=$CLOUD_SQL_INSTANCE_CONNECTION_NAME&socketFactory=com.google.cloud.sql.postgres.SocketFactory&user=$DB_USER&password=$DB_PASSWORD
|
|
132
|
+
CLOUD_RUN_JOB_TRIGGER_URL_migration=https://europe-west6-run.googleapis.com/apis/run.googleapis.com/v1/namespaces/google-project-id/jobs/pan-test-app-dev-api-migration:run
|
|
133
|
+
CLOUD_RUN_JOB_TRIGGER_URL_send_reminders=https://europe-west6-run.googleapis.com/apis/run.googleapis.com/v1/namespaces/google-project-id/jobs/pan-test-app-dev-api-send-reminders:run
|
|
134
|
+
DEPLOY_CLOUD_RUN_PROJECT_ID=google-project-id
|
|
135
|
+
DEPLOY_CLOUD_RUN_REGION=europe-west6
|
|
136
|
+
GCLOUD_DEPLOY_credentialsKey=$CL_dev_api_GCLOUD_DEPLOY_credentialsKey
|
|
137
|
+
GCLOUD_RUN_canonicalHostSuffix=$CL_dev_api_GCLOUD_RUN_canonicalHostSuffix
|
|
138
|
+
_ALL_ENV_VAR_KEYS=["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_BUILD_ID","BUILD_INFO_BUILD_TIME","BUILD_INFO_CURRENT_VERSION","HOST","ROOT_URL","HOST_INTERNAL","HOST_CANONICAL","ROOT_URL_INTERNAL","CLOUD_SQL_INSTANCE_CONNECTION_NAME","DB_NAME","DB_USER","DB_PASSWORD","DATABASE_URL","DATABASE_JDBC_URL","CLOUD_RUN_JOB_TRIGGER_URL_migration","CLOUD_RUN_JOB_TRIGGER_URL_send_reminders","DEPLOY_CLOUD_RUN_PROJECT_ID","DEPLOY_CLOUD_RUN_REGION","GCLOUD_DEPLOY_credentialsKey","GCLOUD_RUN_canonicalHostSuffix"]
|
|
139
|
+
EOF",
|
|
140
|
+
"echo -e "\\e[0Ksection_end:$(date +%s):write-dotenv-api\\r\\e[0K"",
|
|
141
|
+
"echo -e "\\e[0Ksection_start:$(date +%s):write-dotenv-www[collapsed=true]\\r\\e[0Kwrite dot env"",
|
|
142
|
+
"cat <<EOF > www/.env
|
|
143
|
+
ENV_SHORT=dev
|
|
144
|
+
APP_DIR=www
|
|
145
|
+
ENV_TYPE=dev
|
|
146
|
+
BUILD_INFO_BUILD_ID=$(git describe --tags 2>/dev/null || git rev-parse HEAD)
|
|
147
|
+
BUILD_INFO_BUILD_TIME=$CI_JOB_STARTED_AT
|
|
148
|
+
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")
|
|
149
|
+
HOST=$(printf %s "pan-test-app-dev-www-$CL_dev_www_GCLOUD_RUN_canonicalHostSuffix" | awk '{print tolower($0)}')
|
|
150
|
+
ROOT_URL=https://$(printf %s "pan-test-app-dev-www-$CL_dev_www_GCLOUD_RUN_canonicalHostSuffix" | awk '{print tolower($0)}')
|
|
151
|
+
HOST_INTERNAL=$(printf %s "pan-test-app-dev-www-$CL_dev_www_GCLOUD_RUN_canonicalHostSuffix" | awk '{print tolower($0)}')
|
|
152
|
+
HOST_CANONICAL=$(printf %s "pan-test-app-dev-www-$CL_dev_www_GCLOUD_RUN_canonicalHostSuffix" | awk '{print tolower($0)}')
|
|
153
|
+
ROOT_URL_INTERNAL=https://$(printf %s "pan-test-app-dev-www-$CL_dev_www_GCLOUD_RUN_canonicalHostSuffix" | awk '{print tolower($0)}')
|
|
154
|
+
DEPLOY_CLOUD_RUN_PROJECT_ID=google-project-id
|
|
155
|
+
DEPLOY_CLOUD_RUN_REGION=europe-west6
|
|
156
|
+
GCLOUD_DEPLOY_credentialsKey=$CL_dev_www_GCLOUD_DEPLOY_credentialsKey
|
|
157
|
+
GCLOUD_RUN_canonicalHostSuffix=$CL_dev_www_GCLOUD_RUN_canonicalHostSuffix
|
|
158
|
+
API_URL=https://$(printf %s "pan-test-app-dev-api-$CL_dev_api_GCLOUD_RUN_canonicalHostSuffix" | awk '{print tolower($0)}')/graphql
|
|
159
|
+
_ALL_ENV_VAR_KEYS=["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_BUILD_ID","BUILD_INFO_BUILD_TIME","BUILD_INFO_CURRENT_VERSION","HOST","ROOT_URL","HOST_INTERNAL","HOST_CANONICAL","ROOT_URL_INTERNAL","DEPLOY_CLOUD_RUN_PROJECT_ID","DEPLOY_CLOUD_RUN_REGION","GCLOUD_DEPLOY_credentialsKey","GCLOUD_RUN_canonicalHostSuffix","API_URL"]
|
|
160
|
+
EOF",
|
|
161
|
+
"echo -e "\\e[0Ksection_end:$(date +%s):write-dotenv-www\\r\\e[0K"",
|
|
134
162
|
"echo -e "\\e[0Ksection_start:$(date +%s):nodeinstall[collapsed=true]\\r\\e[0KEnsure node version"",
|
|
135
163
|
"if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi",
|
|
136
164
|
"if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi",
|
|
137
165
|
"echo -e "\\e[0Ksection_end:$(date +%s):nodeinstall\\r\\e[0K"",
|
|
138
|
-
"cd
|
|
166
|
+
"cd .",
|
|
139
167
|
"echo -e "\\e[0Ksection_start:$(date +%s):nodeinstall[collapsed=true]\\r\\e[0KEnsure node version"",
|
|
140
168
|
"if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi",
|
|
141
169
|
"if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi",
|
|
@@ -152,7 +180,85 @@ exports[`matches snapshot 1`] = `
|
|
|
152
180
|
"KUBERNETES_MEMORY_REQUEST": "2Gi",
|
|
153
181
|
},
|
|
154
182
|
},
|
|
155
|
-
"
|
|
183
|
+
"๐ธ myWorkspace ๐ก audit": {
|
|
184
|
+
"allow_failure": true,
|
|
185
|
+
"image": "path/to/docker/jobs-default:the-version",
|
|
186
|
+
"interruptible": true,
|
|
187
|
+
"needs": [],
|
|
188
|
+
"retry": {
|
|
189
|
+
"max": 2,
|
|
190
|
+
"when": [
|
|
191
|
+
"runner_system_failure",
|
|
192
|
+
"stuck_or_timeout_failure",
|
|
193
|
+
],
|
|
194
|
+
},
|
|
195
|
+
"script": [
|
|
196
|
+
"echo -e "\\e[0Ksection_start:$(date +%s):injectvars[collapsed=true]\\r\\e[0KInjecting variables"",
|
|
197
|
+
"export APP_PATH="."",
|
|
198
|
+
"echo -e "\\e[0Ksection_end:$(date +%s):injectvars\\r\\e[0K"",
|
|
199
|
+
"cd .",
|
|
200
|
+
"yarn npm audit --environment production",
|
|
201
|
+
],
|
|
202
|
+
"stage": "test",
|
|
203
|
+
"variables": {
|
|
204
|
+
"KUBERNETES_CPU_REQUEST": "0.5",
|
|
205
|
+
"KUBERNETES_MEMORY_LIMIT": "4Gi",
|
|
206
|
+
"KUBERNETES_MEMORY_REQUEST": "2Gi",
|
|
207
|
+
},
|
|
208
|
+
},
|
|
209
|
+
"๐ธ myWorkspace ๐งช test": {
|
|
210
|
+
"cache": [
|
|
211
|
+
{
|
|
212
|
+
"key": ".-yarn",
|
|
213
|
+
"paths": [
|
|
214
|
+
".yarn",
|
|
215
|
+
],
|
|
216
|
+
"policy": "pull-push",
|
|
217
|
+
},
|
|
218
|
+
{
|
|
219
|
+
"key": ".-node-modules",
|
|
220
|
+
"paths": [
|
|
221
|
+
"node_modules",
|
|
222
|
+
],
|
|
223
|
+
"policy": "pull-push",
|
|
224
|
+
},
|
|
225
|
+
],
|
|
226
|
+
"image": "path/to/docker/jobs-testing-chrome:the-version",
|
|
227
|
+
"interruptible": true,
|
|
228
|
+
"needs": [],
|
|
229
|
+
"retry": {
|
|
230
|
+
"max": 2,
|
|
231
|
+
"when": [
|
|
232
|
+
"runner_system_failure",
|
|
233
|
+
"stuck_or_timeout_failure",
|
|
234
|
+
],
|
|
235
|
+
},
|
|
236
|
+
"script": [
|
|
237
|
+
"echo -e "\\e[0Ksection_start:$(date +%s):injectvars[collapsed=true]\\r\\e[0KInjecting variables"",
|
|
238
|
+
"export APP_PATH="."",
|
|
239
|
+
"echo -e "\\e[0Ksection_end:$(date +%s):injectvars\\r\\e[0K"",
|
|
240
|
+
"echo -e "\\e[0Ksection_start:$(date +%s):nodeinstall[collapsed=true]\\r\\e[0KEnsure node version"",
|
|
241
|
+
"if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi",
|
|
242
|
+
"if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi",
|
|
243
|
+
"echo -e "\\e[0Ksection_end:$(date +%s):nodeinstall\\r\\e[0K"",
|
|
244
|
+
"cd .",
|
|
245
|
+
"echo -e "\\e[0Ksection_start:$(date +%s):nodeinstall[collapsed=true]\\r\\e[0KEnsure node version"",
|
|
246
|
+
"if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi",
|
|
247
|
+
"if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi",
|
|
248
|
+
"echo -e "\\e[0Ksection_end:$(date +%s):nodeinstall\\r\\e[0K"",
|
|
249
|
+
"echo -e "\\e[0Ksection_start:$(date +%s):yarninstall[collapsed=true]\\r\\e[0KYarn install"",
|
|
250
|
+
"yarn install --immutable",
|
|
251
|
+
"echo -e "\\e[0Ksection_end:$(date +%s):yarninstall\\r\\e[0K"",
|
|
252
|
+
"yarn test",
|
|
253
|
+
],
|
|
254
|
+
"stage": "test",
|
|
255
|
+
"variables": {
|
|
256
|
+
"KUBERNETES_CPU_REQUEST": "0.5",
|
|
257
|
+
"KUBERNETES_MEMORY_LIMIT": "4Gi",
|
|
258
|
+
"KUBERNETES_MEMORY_REQUEST": "2Gi",
|
|
259
|
+
},
|
|
260
|
+
},
|
|
261
|
+
"๐น api ๐จ docker | dev ": {
|
|
156
262
|
"cache": [
|
|
157
263
|
{
|
|
158
264
|
"key": "api-yarn",
|
|
@@ -165,7 +271,10 @@ exports[`matches snapshot 1`] = `
|
|
|
165
271
|
"image": "path/to/docker/docker-build:the-version",
|
|
166
272
|
"interruptible": true,
|
|
167
273
|
"needs": [
|
|
168
|
-
|
|
274
|
+
{
|
|
275
|
+
"artifacts": true,
|
|
276
|
+
"job": "๐ธ myWorkspace ๐จ app | dev ",
|
|
277
|
+
},
|
|
169
278
|
],
|
|
170
279
|
"retry": {
|
|
171
280
|
"max": 2,
|
|
@@ -223,7 +332,7 @@ COPY --chown=node:node .yarn /app/.yarn"",
|
|
|
223
332
|
"KUBERNETES_MEMORY_REQUEST": "1Gi",
|
|
224
333
|
},
|
|
225
334
|
},
|
|
226
|
-
"api ๐ Deploy | dev ": {
|
|
335
|
+
"๐น api ๐ Deploy | dev ": {
|
|
227
336
|
"allow_failure": false,
|
|
228
337
|
"artifacts": {
|
|
229
338
|
"reports": {
|
|
@@ -233,7 +342,7 @@ COPY --chown=node:node .yarn /app/.yarn"",
|
|
|
233
342
|
"environment": {
|
|
234
343
|
"auto_stop_in": "4 weeks",
|
|
235
344
|
"name": "dev/api",
|
|
236
|
-
"on_stop": "api ๐ Stop โ ๏ธ | dev ",
|
|
345
|
+
"on_stop": "๐น api ๐ Stop โ ๏ธ | dev ",
|
|
237
346
|
"url": "$CL_GITLAB_ENVIRONMENT_URL",
|
|
238
347
|
},
|
|
239
348
|
"image": "path/to/docker/gcloud:the-version",
|
|
@@ -241,27 +350,23 @@ COPY --chown=node:node .yarn /app/.yarn"",
|
|
|
241
350
|
"needs": [
|
|
242
351
|
{
|
|
243
352
|
"artifacts": false,
|
|
244
|
-
"job": "
|
|
353
|
+
"job": "๐ธ myWorkspace ๐ฎ lint",
|
|
245
354
|
},
|
|
246
355
|
{
|
|
247
356
|
"artifacts": false,
|
|
248
|
-
"job": "
|
|
357
|
+
"job": "๐ธ myWorkspace ๐งช test",
|
|
249
358
|
},
|
|
250
359
|
{
|
|
251
360
|
"artifacts": false,
|
|
252
|
-
"job": "
|
|
361
|
+
"job": "๐ธ myWorkspace ๐ก audit",
|
|
253
362
|
},
|
|
254
363
|
{
|
|
255
364
|
"artifacts": false,
|
|
256
|
-
"job": "api
|
|
365
|
+
"job": "๐น api ๐จ docker | dev ",
|
|
257
366
|
},
|
|
258
367
|
{
|
|
259
368
|
"artifacts": true,
|
|
260
|
-
"job": "api ๐งพ sbom | dev ",
|
|
261
|
-
},
|
|
262
|
-
{
|
|
263
|
-
"artifacts": false,
|
|
264
|
-
"job": "api ๐ก audit",
|
|
369
|
+
"job": "๐น api ๐งพ sbom | dev ",
|
|
265
370
|
},
|
|
266
371
|
],
|
|
267
372
|
"retry": {
|
|
@@ -401,7 +506,7 @@ EOF
|
|
|
401
506
|
"KUBERNETES_MEMORY_REQUEST": "200Mi",
|
|
402
507
|
},
|
|
403
508
|
},
|
|
404
|
-
"api ๐ Stop โ ๏ธ | dev ": {
|
|
509
|
+
"๐น api ๐ Stop โ ๏ธ | dev ": {
|
|
405
510
|
"allow_failure": true,
|
|
406
511
|
"artifacts": {
|
|
407
512
|
"reports": {
|
|
@@ -459,85 +564,7 @@ EOF
|
|
|
459
564
|
"KUBERNETES_MEMORY_REQUEST": "200Mi",
|
|
460
565
|
},
|
|
461
566
|
},
|
|
462
|
-
"api
|
|
463
|
-
"allow_failure": true,
|
|
464
|
-
"image": "path/to/docker/jobs-default:the-version",
|
|
465
|
-
"interruptible": true,
|
|
466
|
-
"needs": [],
|
|
467
|
-
"retry": {
|
|
468
|
-
"max": 2,
|
|
469
|
-
"when": [
|
|
470
|
-
"runner_system_failure",
|
|
471
|
-
"stuck_or_timeout_failure",
|
|
472
|
-
],
|
|
473
|
-
},
|
|
474
|
-
"script": [
|
|
475
|
-
"echo -e "\\e[0Ksection_start:$(date +%s):injectvars[collapsed=true]\\r\\e[0KInjecting variables"",
|
|
476
|
-
"export APP_PATH="api"",
|
|
477
|
-
"echo -e "\\e[0Ksection_end:$(date +%s):injectvars\\r\\e[0K"",
|
|
478
|
-
"cd api",
|
|
479
|
-
"yarn npm audit --environment production",
|
|
480
|
-
],
|
|
481
|
-
"stage": "test",
|
|
482
|
-
"variables": {
|
|
483
|
-
"KUBERNETES_CPU_REQUEST": "0.5",
|
|
484
|
-
"KUBERNETES_MEMORY_LIMIT": "4Gi",
|
|
485
|
-
"KUBERNETES_MEMORY_REQUEST": "2Gi",
|
|
486
|
-
},
|
|
487
|
-
},
|
|
488
|
-
"api ๐งช test": {
|
|
489
|
-
"cache": [
|
|
490
|
-
{
|
|
491
|
-
"key": "api-yarn",
|
|
492
|
-
"paths": [
|
|
493
|
-
"api/.yarn",
|
|
494
|
-
],
|
|
495
|
-
"policy": "pull-push",
|
|
496
|
-
},
|
|
497
|
-
{
|
|
498
|
-
"key": "api-node-modules",
|
|
499
|
-
"paths": [
|
|
500
|
-
"api/node_modules",
|
|
501
|
-
],
|
|
502
|
-
"policy": "pull-push",
|
|
503
|
-
},
|
|
504
|
-
],
|
|
505
|
-
"image": "path/to/docker/jobs-testing-chrome:the-version",
|
|
506
|
-
"interruptible": true,
|
|
507
|
-
"needs": [],
|
|
508
|
-
"retry": {
|
|
509
|
-
"max": 2,
|
|
510
|
-
"when": [
|
|
511
|
-
"runner_system_failure",
|
|
512
|
-
"stuck_or_timeout_failure",
|
|
513
|
-
],
|
|
514
|
-
},
|
|
515
|
-
"script": [
|
|
516
|
-
"echo -e "\\e[0Ksection_start:$(date +%s):injectvars[collapsed=true]\\r\\e[0KInjecting variables"",
|
|
517
|
-
"export APP_PATH="api"",
|
|
518
|
-
"echo -e "\\e[0Ksection_end:$(date +%s):injectvars\\r\\e[0K"",
|
|
519
|
-
"echo -e "\\e[0Ksection_start:$(date +%s):nodeinstall[collapsed=true]\\r\\e[0KEnsure node version"",
|
|
520
|
-
"if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi",
|
|
521
|
-
"if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi",
|
|
522
|
-
"echo -e "\\e[0Ksection_end:$(date +%s):nodeinstall\\r\\e[0K"",
|
|
523
|
-
"cd api",
|
|
524
|
-
"echo -e "\\e[0Ksection_start:$(date +%s):nodeinstall[collapsed=true]\\r\\e[0KEnsure node version"",
|
|
525
|
-
"if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi",
|
|
526
|
-
"if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi",
|
|
527
|
-
"echo -e "\\e[0Ksection_end:$(date +%s):nodeinstall\\r\\e[0K"",
|
|
528
|
-
"echo -e "\\e[0Ksection_start:$(date +%s):yarninstall[collapsed=true]\\r\\e[0KYarn install"",
|
|
529
|
-
"yarn install --immutable",
|
|
530
|
-
"echo -e "\\e[0Ksection_end:$(date +%s):yarninstall\\r\\e[0K"",
|
|
531
|
-
"yarn test",
|
|
532
|
-
],
|
|
533
|
-
"stage": "test",
|
|
534
|
-
"variables": {
|
|
535
|
-
"KUBERNETES_CPU_REQUEST": "0.5",
|
|
536
|
-
"KUBERNETES_MEMORY_LIMIT": "4Gi",
|
|
537
|
-
"KUBERNETES_MEMORY_REQUEST": "2Gi",
|
|
538
|
-
},
|
|
539
|
-
},
|
|
540
|
-
"api ๐งพ sbom | dev ": {
|
|
567
|
+
"๐น api ๐งพ sbom | dev ": {
|
|
541
568
|
"allow_failure": true,
|
|
542
569
|
"artifacts": {
|
|
543
570
|
"paths": [
|
|
@@ -562,26 +589,24 @@ EOF
|
|
|
562
589
|
"stage": "build",
|
|
563
590
|
"variables": {},
|
|
564
591
|
},
|
|
565
|
-
"www
|
|
592
|
+
"๐น www ๐จ docker | dev ": {
|
|
566
593
|
"cache": [
|
|
567
594
|
{
|
|
568
595
|
"key": "www-yarn",
|
|
569
596
|
"paths": [
|
|
570
597
|
"www/.yarn",
|
|
571
598
|
],
|
|
572
|
-
"policy": "pull
|
|
599
|
+
"policy": "pull",
|
|
573
600
|
},
|
|
601
|
+
],
|
|
602
|
+
"image": "path/to/docker/docker-build:the-version",
|
|
603
|
+
"interruptible": true,
|
|
604
|
+
"needs": [
|
|
574
605
|
{
|
|
575
|
-
"
|
|
576
|
-
"
|
|
577
|
-
"www/node_modules",
|
|
578
|
-
],
|
|
579
|
-
"policy": "pull-push",
|
|
606
|
+
"artifacts": true,
|
|
607
|
+
"job": "๐ธ myWorkspace ๐จ app | dev ",
|
|
580
608
|
},
|
|
581
609
|
],
|
|
582
|
-
"image": "path/to/docker/jobs-default:the-version",
|
|
583
|
-
"interruptible": true,
|
|
584
|
-
"needs": [],
|
|
585
610
|
"retry": {
|
|
586
611
|
"max": 2,
|
|
587
612
|
"when": [
|
|
@@ -591,199 +616,64 @@ EOF
|
|
|
591
616
|
},
|
|
592
617
|
"script": [
|
|
593
618
|
"echo -e "\\e[0Ksection_start:$(date +%s):injectvars[collapsed=true]\\r\\e[0KInjecting variables"",
|
|
594
|
-
"export
|
|
619
|
+
"export APP_DIR="www"",
|
|
620
|
+
"export DOCKER_DIR="."",
|
|
621
|
+
"export DOCKER_REGISTRY="europe-west6-docker.pkg.dev"",
|
|
622
|
+
"export DOCKER_IMAGE="europe-west6-docker.pkg.dev/google-project-id/catladder-deploy/pan-test-app/dev/www"",
|
|
623
|
+
"export DOCKER_CACHE_IMAGE="europe-west6-docker.pkg.dev/google-project-id/catladder-deploy/pan-test-app/caches/www"",
|
|
624
|
+
"export DOCKER_IMAGE_TAG="$CI_COMMIT_SHA"",
|
|
625
|
+
"export DOCKER_COPY_AND_INSTALL_APP="COPY --chown=node:node $APP_DIR .
|
|
626
|
+
RUN yarn plugin import workspace-tools
|
|
627
|
+
RUN yarn workspaces focus --production && yarn rebuild"",
|
|
628
|
+
"export DOCKER_COPY_WORKSPACE_FILES="COPY --chown=node:node www/package.json /app/www/package.json
|
|
629
|
+
COPY --chown=node:node www/yarn.lock /app/www/yarn.lock
|
|
630
|
+
COPY --chown=node:node .yarnrc.yml /app/.yarnrc.yml
|
|
631
|
+
COPY --chown=node:node .yarn /app/.yarn"",
|
|
595
632
|
"echo -e "\\e[0Ksection_end:$(date +%s):injectvars\\r\\e[0K"",
|
|
596
|
-
"
|
|
597
|
-
"
|
|
598
|
-
"
|
|
599
|
-
"
|
|
600
|
-
"
|
|
601
|
-
"echo -e "\\e[0Ksection_start:$(date +%s):
|
|
602
|
-
"
|
|
603
|
-
"
|
|
604
|
-
"echo -e "\\e[
|
|
605
|
-
"
|
|
606
|
-
"
|
|
607
|
-
"
|
|
608
|
-
"
|
|
633
|
+
"ensureNodeDockerfile",
|
|
634
|
+
"echo -e "\\e[0Ksection_start:$(date +%s):docker-login[collapsed=true]\\r\\e[0KDocker Login"",
|
|
635
|
+
"gcloud auth activate-service-account --key-file=<(echo "$CL_dev_www_GCLOUD_DEPLOY_credentialsKey")",
|
|
636
|
+
"gcloud auth configure-docker europe-west6-docker.pkg.dev",
|
|
637
|
+
"echo -e "\\e[0Ksection_end:$(date +%s):docker-login\\r\\e[0K"",
|
|
638
|
+
"echo -e "\\e[0Ksection_start:$(date +%s):docker-build[collapsed=true]\\r\\e[0KDocker build"",
|
|
639
|
+
"docker build --network host --cache-from $DOCKER_CACHE_IMAGE --tag $DOCKER_IMAGE:$DOCKER_IMAGE_TAG -f $APP_DIR/Dockerfile . --build-arg BUILDKIT_INLINE_CACHE=1",
|
|
640
|
+
"echo -e "\\e[0Ksection_end:$(date +%s):docker-build\\r\\e[0K"",
|
|
641
|
+
"echo -e "\\e[0Ksection_start:$(date +%s):docker-push[collapsed=true]\\r\\e[0KDocker push and tag"",
|
|
642
|
+
"docker push $DOCKER_IMAGE:$DOCKER_IMAGE_TAG",
|
|
643
|
+
"docker tag $DOCKER_IMAGE:$DOCKER_IMAGE_TAG $DOCKER_CACHE_IMAGE",
|
|
644
|
+
"docker push $DOCKER_CACHE_IMAGE",
|
|
645
|
+
"echo -e "\\e[0Ksection_end:$(date +%s):docker-push\\r\\e[0K"",
|
|
609
646
|
],
|
|
610
|
-
"
|
|
647
|
+
"services": [
|
|
648
|
+
{
|
|
649
|
+
"command": [
|
|
650
|
+
"--tls=false",
|
|
651
|
+
],
|
|
652
|
+
"name": "docker:24.0.6-dind",
|
|
653
|
+
},
|
|
654
|
+
],
|
|
655
|
+
"stage": "build",
|
|
611
656
|
"variables": {
|
|
657
|
+
"DOCKER_BUILDKIT": "1",
|
|
658
|
+
"DOCKER_DRIVER": "overlay2",
|
|
659
|
+
"DOCKER_HOST": "tcp://0.0.0.0:2375",
|
|
660
|
+
"DOCKER_TLS_CERTDIR": "",
|
|
612
661
|
"KUBERNETES_CPU_REQUEST": "0.5",
|
|
613
|
-
"KUBERNETES_MEMORY_LIMIT": "
|
|
614
|
-
"KUBERNETES_MEMORY_REQUEST": "
|
|
662
|
+
"KUBERNETES_MEMORY_LIMIT": "2Gi",
|
|
663
|
+
"KUBERNETES_MEMORY_REQUEST": "1Gi",
|
|
615
664
|
},
|
|
616
665
|
},
|
|
617
|
-
"www
|
|
666
|
+
"๐น www ๐ Deploy | dev ": {
|
|
667
|
+
"allow_failure": false,
|
|
618
668
|
"artifacts": {
|
|
619
|
-
"expire_in": "1 day",
|
|
620
|
-
"paths": [
|
|
621
|
-
"www/__build_info.json",
|
|
622
|
-
"www/dist",
|
|
623
|
-
"www/.next",
|
|
624
|
-
],
|
|
625
669
|
"reports": {
|
|
626
|
-
"
|
|
627
|
-
},
|
|
628
|
-
"when": "always",
|
|
629
|
-
},
|
|
630
|
-
"cache": [
|
|
631
|
-
{
|
|
632
|
-
"key": "www-yarn",
|
|
633
|
-
"paths": [
|
|
634
|
-
"www/.yarn",
|
|
635
|
-
],
|
|
636
|
-
"policy": "pull-push",
|
|
637
|
-
},
|
|
638
|
-
{
|
|
639
|
-
"key": "www-node-modules",
|
|
640
|
-
"paths": [
|
|
641
|
-
"www/node_modules",
|
|
642
|
-
],
|
|
643
|
-
"policy": "pull-push",
|
|
644
|
-
},
|
|
645
|
-
{
|
|
646
|
-
"key": "www-next-cache",
|
|
647
|
-
"paths": [
|
|
648
|
-
"www/.next/cache/",
|
|
649
|
-
],
|
|
650
|
-
"policy": "pull-push",
|
|
651
|
-
},
|
|
652
|
-
],
|
|
653
|
-
"image": "path/to/docker/jobs-default:the-version",
|
|
654
|
-
"interruptible": true,
|
|
655
|
-
"needs": [],
|
|
656
|
-
"retry": {
|
|
657
|
-
"max": 2,
|
|
658
|
-
"when": [
|
|
659
|
-
"runner_system_failure",
|
|
660
|
-
"stuck_or_timeout_failure",
|
|
661
|
-
],
|
|
662
|
-
},
|
|
663
|
-
"script": [
|
|
664
|
-
"echo -e "\\e[0Ksection_start:$(date +%s):injectvars[collapsed=true]\\r\\e[0KInjecting variables"",
|
|
665
|
-
"export ENV_SHORT="dev"",
|
|
666
|
-
"export APP_DIR="www"",
|
|
667
|
-
"export ENV_TYPE="dev"",
|
|
668
|
-
"export BUILD_INFO_BUILD_ID="$(git describe --tags 2>/dev/null || git rev-parse HEAD)"",
|
|
669
|
-
"export BUILD_INFO_BUILD_TIME="$CI_JOB_STARTED_AT"",
|
|
670
|
-
"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")"",
|
|
671
|
-
"export HOST="$(printf %s "pan-test-app-dev-www-$CL_dev_www_GCLOUD_RUN_canonicalHostSuffix" | awk '{print tolower($0)}')"",
|
|
672
|
-
"export ROOT_URL="https://$(printf %s "pan-test-app-dev-www-$CL_dev_www_GCLOUD_RUN_canonicalHostSuffix" | awk '{print tolower($0)}')"",
|
|
673
|
-
"export HOST_INTERNAL="$(printf %s "pan-test-app-dev-www-$CL_dev_www_GCLOUD_RUN_canonicalHostSuffix" | awk '{print tolower($0)}')"",
|
|
674
|
-
"export HOST_CANONICAL="$(printf %s "pan-test-app-dev-www-$CL_dev_www_GCLOUD_RUN_canonicalHostSuffix" | awk '{print tolower($0)}')"",
|
|
675
|
-
"export ROOT_URL_INTERNAL="https://$(printf %s "pan-test-app-dev-www-$CL_dev_www_GCLOUD_RUN_canonicalHostSuffix" | awk '{print tolower($0)}')"",
|
|
676
|
-
"export DEPLOY_CLOUD_RUN_PROJECT_ID="google-project-id"",
|
|
677
|
-
"export DEPLOY_CLOUD_RUN_REGION="europe-west6"",
|
|
678
|
-
"export GCLOUD_DEPLOY_credentialsKey="$CL_dev_www_GCLOUD_DEPLOY_credentialsKey"",
|
|
679
|
-
"export GCLOUD_RUN_canonicalHostSuffix="$CL_dev_www_GCLOUD_RUN_canonicalHostSuffix"",
|
|
680
|
-
"export API_URL="https://$(printf %s "pan-test-app-dev-api-$CL_dev_api_GCLOUD_RUN_canonicalHostSuffix" | awk '{print tolower($0)}')/graphql"",
|
|
681
|
-
"export _ALL_ENV_VAR_KEYS="[\\"ENV_SHORT\\",\\"APP_DIR\\",\\"ENV_TYPE\\",\\"BUILD_INFO_BUILD_ID\\",\\"BUILD_INFO_BUILD_TIME\\",\\"BUILD_INFO_CURRENT_VERSION\\",\\"HOST\\",\\"ROOT_URL\\",\\"HOST_INTERNAL\\",\\"HOST_CANONICAL\\",\\"ROOT_URL_INTERNAL\\",\\"DEPLOY_CLOUD_RUN_PROJECT_ID\\",\\"DEPLOY_CLOUD_RUN_REGION\\",\\"GCLOUD_DEPLOY_credentialsKey\\",\\"GCLOUD_RUN_canonicalHostSuffix\\",\\"API_URL\\"]"",
|
|
682
|
-
"echo -e "\\e[0Ksection_end:$(date +%s):injectvars\\r\\e[0K"",
|
|
683
|
-
"echo '{"id":"$(git describe --tags 2>/dev/null || git rev-parse HEAD)","time":"$CI_JOB_STARTED_AT"}' > www/__build_info.json",
|
|
684
|
-
"echo -e "\\e[0Ksection_start:$(date +%s):nodeinstall[collapsed=true]\\r\\e[0KEnsure node version"",
|
|
685
|
-
"if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi",
|
|
686
|
-
"if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi",
|
|
687
|
-
"echo -e "\\e[0Ksection_end:$(date +%s):nodeinstall\\r\\e[0K"",
|
|
688
|
-
"cd www",
|
|
689
|
-
"echo -e "\\e[0Ksection_start:$(date +%s):nodeinstall[collapsed=true]\\r\\e[0KEnsure node version"",
|
|
690
|
-
"if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi",
|
|
691
|
-
"if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi",
|
|
692
|
-
"echo -e "\\e[0Ksection_end:$(date +%s):nodeinstall\\r\\e[0K"",
|
|
693
|
-
"echo -e "\\e[0Ksection_start:$(date +%s):yarninstall[collapsed=true]\\r\\e[0KYarn install"",
|
|
694
|
-
"yarn install --immutable",
|
|
695
|
-
"echo -e "\\e[0Ksection_end:$(date +%s):yarninstall\\r\\e[0K"",
|
|
696
|
-
"yarn build",
|
|
697
|
-
],
|
|
698
|
-
"stage": "build",
|
|
699
|
-
"variables": {
|
|
700
|
-
"KUBERNETES_CPU_REQUEST": "0.5",
|
|
701
|
-
"KUBERNETES_MEMORY_LIMIT": "4Gi",
|
|
702
|
-
"KUBERNETES_MEMORY_REQUEST": "2Gi",
|
|
703
|
-
},
|
|
704
|
-
},
|
|
705
|
-
"www ๐จ docker | dev ": {
|
|
706
|
-
"cache": [
|
|
707
|
-
{
|
|
708
|
-
"key": "www-yarn",
|
|
709
|
-
"paths": [
|
|
710
|
-
"www/.yarn",
|
|
711
|
-
],
|
|
712
|
-
"policy": "pull",
|
|
713
|
-
},
|
|
714
|
-
],
|
|
715
|
-
"image": "path/to/docker/docker-build:the-version",
|
|
716
|
-
"interruptible": true,
|
|
717
|
-
"needs": [
|
|
718
|
-
"www ๐จ app | dev ",
|
|
719
|
-
],
|
|
720
|
-
"retry": {
|
|
721
|
-
"max": 2,
|
|
722
|
-
"when": [
|
|
723
|
-
"runner_system_failure",
|
|
724
|
-
"stuck_or_timeout_failure",
|
|
725
|
-
],
|
|
726
|
-
},
|
|
727
|
-
"script": [
|
|
728
|
-
"echo -e "\\e[0Ksection_start:$(date +%s):injectvars[collapsed=true]\\r\\e[0KInjecting variables"",
|
|
729
|
-
"export APP_DIR="www"",
|
|
730
|
-
"export DOCKER_DIR="."",
|
|
731
|
-
"export DOCKER_REGISTRY="europe-west6-docker.pkg.dev"",
|
|
732
|
-
"export DOCKER_IMAGE="europe-west6-docker.pkg.dev/google-project-id/catladder-deploy/pan-test-app/dev/www"",
|
|
733
|
-
"export DOCKER_CACHE_IMAGE="europe-west6-docker.pkg.dev/google-project-id/catladder-deploy/pan-test-app/caches/www"",
|
|
734
|
-
"export DOCKER_IMAGE_TAG="$CI_COMMIT_SHA"",
|
|
735
|
-
"export DOCKER_COPY_AND_INSTALL_APP="COPY --chown=node:node $APP_DIR .
|
|
736
|
-
RUN yarn plugin import workspace-tools
|
|
737
|
-
RUN yarn workspaces focus --production && yarn rebuild"",
|
|
738
|
-
"export DOCKER_COPY_WORKSPACE_FILES="COPY --chown=node:node www/package.json /app/www/package.json
|
|
739
|
-
COPY --chown=node:node www/yarn.lock /app/www/yarn.lock
|
|
740
|
-
COPY --chown=node:node .yarnrc.yml /app/.yarnrc.yml
|
|
741
|
-
COPY --chown=node:node .yarn /app/.yarn"",
|
|
742
|
-
"echo -e "\\e[0Ksection_end:$(date +%s):injectvars\\r\\e[0K"",
|
|
743
|
-
"ensureNodeDockerfile",
|
|
744
|
-
"echo -e "\\e[0Ksection_start:$(date +%s):docker-login[collapsed=true]\\r\\e[0KDocker Login"",
|
|
745
|
-
"gcloud auth activate-service-account --key-file=<(echo "$CL_dev_www_GCLOUD_DEPLOY_credentialsKey")",
|
|
746
|
-
"gcloud auth configure-docker europe-west6-docker.pkg.dev",
|
|
747
|
-
"echo -e "\\e[0Ksection_end:$(date +%s):docker-login\\r\\e[0K"",
|
|
748
|
-
"echo -e "\\e[0Ksection_start:$(date +%s):docker-build[collapsed=true]\\r\\e[0KDocker build"",
|
|
749
|
-
"docker build --network host --cache-from $DOCKER_CACHE_IMAGE --tag $DOCKER_IMAGE:$DOCKER_IMAGE_TAG -f $APP_DIR/Dockerfile . --build-arg BUILDKIT_INLINE_CACHE=1",
|
|
750
|
-
"echo -e "\\e[0Ksection_end:$(date +%s):docker-build\\r\\e[0K"",
|
|
751
|
-
"echo -e "\\e[0Ksection_start:$(date +%s):docker-push[collapsed=true]\\r\\e[0KDocker push and tag"",
|
|
752
|
-
"docker push $DOCKER_IMAGE:$DOCKER_IMAGE_TAG",
|
|
753
|
-
"docker tag $DOCKER_IMAGE:$DOCKER_IMAGE_TAG $DOCKER_CACHE_IMAGE",
|
|
754
|
-
"docker push $DOCKER_CACHE_IMAGE",
|
|
755
|
-
"echo -e "\\e[0Ksection_end:$(date +%s):docker-push\\r\\e[0K"",
|
|
756
|
-
],
|
|
757
|
-
"services": [
|
|
758
|
-
{
|
|
759
|
-
"command": [
|
|
760
|
-
"--tls=false",
|
|
761
|
-
],
|
|
762
|
-
"name": "docker:24.0.6-dind",
|
|
763
|
-
},
|
|
764
|
-
],
|
|
765
|
-
"stage": "build",
|
|
766
|
-
"variables": {
|
|
767
|
-
"DOCKER_BUILDKIT": "1",
|
|
768
|
-
"DOCKER_DRIVER": "overlay2",
|
|
769
|
-
"DOCKER_HOST": "tcp://0.0.0.0:2375",
|
|
770
|
-
"DOCKER_TLS_CERTDIR": "",
|
|
771
|
-
"KUBERNETES_CPU_REQUEST": "0.5",
|
|
772
|
-
"KUBERNETES_MEMORY_LIMIT": "2Gi",
|
|
773
|
-
"KUBERNETES_MEMORY_REQUEST": "1Gi",
|
|
774
|
-
},
|
|
775
|
-
},
|
|
776
|
-
"www ๐ Deploy | dev ": {
|
|
777
|
-
"allow_failure": false,
|
|
778
|
-
"artifacts": {
|
|
779
|
-
"reports": {
|
|
780
|
-
"dotenv": "gitlab_environment.env",
|
|
670
|
+
"dotenv": "gitlab_environment.env",
|
|
781
671
|
},
|
|
782
672
|
},
|
|
783
673
|
"environment": {
|
|
784
674
|
"auto_stop_in": "4 weeks",
|
|
785
675
|
"name": "dev/www",
|
|
786
|
-
"on_stop": "www ๐ Stop โ ๏ธ | dev ",
|
|
676
|
+
"on_stop": "๐น www ๐ Stop โ ๏ธ | dev ",
|
|
787
677
|
"url": "$CL_GITLAB_ENVIRONMENT_URL",
|
|
788
678
|
},
|
|
789
679
|
"image": "path/to/docker/gcloud:the-version",
|
|
@@ -791,27 +681,23 @@ COPY --chown=node:node .yarn /app/.yarn"",
|
|
|
791
681
|
"needs": [
|
|
792
682
|
{
|
|
793
683
|
"artifacts": false,
|
|
794
|
-
"job": "
|
|
684
|
+
"job": "๐ธ myWorkspace ๐ฎ lint",
|
|
795
685
|
},
|
|
796
686
|
{
|
|
797
687
|
"artifacts": false,
|
|
798
|
-
"job": "
|
|
688
|
+
"job": "๐ธ myWorkspace ๐งช test",
|
|
799
689
|
},
|
|
800
690
|
{
|
|
801
691
|
"artifacts": false,
|
|
802
|
-
"job": "
|
|
692
|
+
"job": "๐ธ myWorkspace ๐ก audit",
|
|
803
693
|
},
|
|
804
694
|
{
|
|
805
695
|
"artifacts": false,
|
|
806
|
-
"job": "www
|
|
696
|
+
"job": "๐น www ๐จ docker | dev ",
|
|
807
697
|
},
|
|
808
698
|
{
|
|
809
699
|
"artifacts": true,
|
|
810
|
-
"job": "www ๐งพ sbom | dev ",
|
|
811
|
-
},
|
|
812
|
-
{
|
|
813
|
-
"artifacts": false,
|
|
814
|
-
"job": "www ๐ก audit",
|
|
700
|
+
"job": "๐น www ๐งพ sbom | dev ",
|
|
815
701
|
},
|
|
816
702
|
],
|
|
817
703
|
"retry": {
|
|
@@ -913,7 +799,7 @@ EOF
|
|
|
913
799
|
"KUBERNETES_MEMORY_REQUEST": "200Mi",
|
|
914
800
|
},
|
|
915
801
|
},
|
|
916
|
-
"www ๐ Stop โ ๏ธ | dev ": {
|
|
802
|
+
"๐น www ๐ Stop โ ๏ธ | dev ": {
|
|
917
803
|
"allow_failure": true,
|
|
918
804
|
"artifacts": {
|
|
919
805
|
"reports": {
|
|
@@ -966,85 +852,7 @@ EOF
|
|
|
966
852
|
"KUBERNETES_MEMORY_REQUEST": "200Mi",
|
|
967
853
|
},
|
|
968
854
|
},
|
|
969
|
-
"www
|
|
970
|
-
"allow_failure": true,
|
|
971
|
-
"image": "path/to/docker/jobs-default:the-version",
|
|
972
|
-
"interruptible": true,
|
|
973
|
-
"needs": [],
|
|
974
|
-
"retry": {
|
|
975
|
-
"max": 2,
|
|
976
|
-
"when": [
|
|
977
|
-
"runner_system_failure",
|
|
978
|
-
"stuck_or_timeout_failure",
|
|
979
|
-
],
|
|
980
|
-
},
|
|
981
|
-
"script": [
|
|
982
|
-
"echo -e "\\e[0Ksection_start:$(date +%s):injectvars[collapsed=true]\\r\\e[0KInjecting variables"",
|
|
983
|
-
"export APP_PATH="www"",
|
|
984
|
-
"echo -e "\\e[0Ksection_end:$(date +%s):injectvars\\r\\e[0K"",
|
|
985
|
-
"cd www",
|
|
986
|
-
"yarn npm audit --environment production",
|
|
987
|
-
],
|
|
988
|
-
"stage": "test",
|
|
989
|
-
"variables": {
|
|
990
|
-
"KUBERNETES_CPU_REQUEST": "0.5",
|
|
991
|
-
"KUBERNETES_MEMORY_LIMIT": "4Gi",
|
|
992
|
-
"KUBERNETES_MEMORY_REQUEST": "2Gi",
|
|
993
|
-
},
|
|
994
|
-
},
|
|
995
|
-
"www ๐งช test": {
|
|
996
|
-
"cache": [
|
|
997
|
-
{
|
|
998
|
-
"key": "www-yarn",
|
|
999
|
-
"paths": [
|
|
1000
|
-
"www/.yarn",
|
|
1001
|
-
],
|
|
1002
|
-
"policy": "pull-push",
|
|
1003
|
-
},
|
|
1004
|
-
{
|
|
1005
|
-
"key": "www-node-modules",
|
|
1006
|
-
"paths": [
|
|
1007
|
-
"www/node_modules",
|
|
1008
|
-
],
|
|
1009
|
-
"policy": "pull-push",
|
|
1010
|
-
},
|
|
1011
|
-
],
|
|
1012
|
-
"image": "path/to/docker/jobs-testing-chrome:the-version",
|
|
1013
|
-
"interruptible": true,
|
|
1014
|
-
"needs": [],
|
|
1015
|
-
"retry": {
|
|
1016
|
-
"max": 2,
|
|
1017
|
-
"when": [
|
|
1018
|
-
"runner_system_failure",
|
|
1019
|
-
"stuck_or_timeout_failure",
|
|
1020
|
-
],
|
|
1021
|
-
},
|
|
1022
|
-
"script": [
|
|
1023
|
-
"echo -e "\\e[0Ksection_start:$(date +%s):injectvars[collapsed=true]\\r\\e[0KInjecting variables"",
|
|
1024
|
-
"export APP_PATH="www"",
|
|
1025
|
-
"echo -e "\\e[0Ksection_end:$(date +%s):injectvars\\r\\e[0K"",
|
|
1026
|
-
"echo -e "\\e[0Ksection_start:$(date +%s):nodeinstall[collapsed=true]\\r\\e[0KEnsure node version"",
|
|
1027
|
-
"if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi",
|
|
1028
|
-
"if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi",
|
|
1029
|
-
"echo -e "\\e[0Ksection_end:$(date +%s):nodeinstall\\r\\e[0K"",
|
|
1030
|
-
"cd www",
|
|
1031
|
-
"echo -e "\\e[0Ksection_start:$(date +%s):nodeinstall[collapsed=true]\\r\\e[0KEnsure node version"",
|
|
1032
|
-
"if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi",
|
|
1033
|
-
"if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi",
|
|
1034
|
-
"echo -e "\\e[0Ksection_end:$(date +%s):nodeinstall\\r\\e[0K"",
|
|
1035
|
-
"echo -e "\\e[0Ksection_start:$(date +%s):yarninstall[collapsed=true]\\r\\e[0KYarn install"",
|
|
1036
|
-
"yarn install --immutable",
|
|
1037
|
-
"echo -e "\\e[0Ksection_end:$(date +%s):yarninstall\\r\\e[0K"",
|
|
1038
|
-
"yarn test",
|
|
1039
|
-
],
|
|
1040
|
-
"stage": "test",
|
|
1041
|
-
"variables": {
|
|
1042
|
-
"KUBERNETES_CPU_REQUEST": "0.5",
|
|
1043
|
-
"KUBERNETES_MEMORY_LIMIT": "4Gi",
|
|
1044
|
-
"KUBERNETES_MEMORY_REQUEST": "2Gi",
|
|
1045
|
-
},
|
|
1046
|
-
},
|
|
1047
|
-
"www ๐งพ sbom | dev ": {
|
|
855
|
+
"๐น www ๐งพ sbom | dev ": {
|
|
1048
856
|
"allow_failure": true,
|
|
1049
857
|
"artifacts": {
|
|
1050
858
|
"paths": [
|
|
@@ -1139,19 +947,19 @@ EOF
|
|
|
1139
947
|
"mr": {
|
|
1140
948
|
"image": "path/to/docker/jobs-default:the-version",
|
|
1141
949
|
"jobs": {
|
|
1142
|
-
"
|
|
950
|
+
"๐ธ myWorkspace ๐ฎ lint": {
|
|
1143
951
|
"cache": [
|
|
1144
952
|
{
|
|
1145
|
-
"key": "
|
|
953
|
+
"key": ".-yarn",
|
|
1146
954
|
"paths": [
|
|
1147
|
-
"
|
|
955
|
+
".yarn",
|
|
1148
956
|
],
|
|
1149
957
|
"policy": "pull-push",
|
|
1150
958
|
},
|
|
1151
959
|
{
|
|
1152
|
-
"key": "
|
|
960
|
+
"key": ".-node-modules",
|
|
1153
961
|
"paths": [
|
|
1154
|
-
"
|
|
962
|
+
"node_modules",
|
|
1155
963
|
],
|
|
1156
964
|
"policy": "pull-push",
|
|
1157
965
|
},
|
|
@@ -1168,13 +976,13 @@ EOF
|
|
|
1168
976
|
},
|
|
1169
977
|
"script": [
|
|
1170
978
|
"echo -e "\\e[0Ksection_start:$(date +%s):injectvars[collapsed=true]\\r\\e[0KInjecting variables"",
|
|
1171
|
-
"export APP_PATH="
|
|
979
|
+
"export APP_PATH="."",
|
|
1172
980
|
"echo -e "\\e[0Ksection_end:$(date +%s):injectvars\\r\\e[0K"",
|
|
1173
981
|
"echo -e "\\e[0Ksection_start:$(date +%s):nodeinstall[collapsed=true]\\r\\e[0KEnsure node version"",
|
|
1174
982
|
"if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi",
|
|
1175
983
|
"if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi",
|
|
1176
984
|
"echo -e "\\e[0Ksection_end:$(date +%s):nodeinstall\\r\\e[0K"",
|
|
1177
|
-
"cd
|
|
985
|
+
"cd .",
|
|
1178
986
|
"echo -e "\\e[0Ksection_start:$(date +%s):nodeinstall[collapsed=true]\\r\\e[0KEnsure node version"",
|
|
1179
987
|
"if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi",
|
|
1180
988
|
"if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi",
|
|
@@ -1191,38 +999,42 @@ EOF
|
|
|
1191
999
|
"KUBERNETES_MEMORY_REQUEST": "2Gi",
|
|
1192
1000
|
},
|
|
1193
1001
|
},
|
|
1194
|
-
"
|
|
1002
|
+
"๐ธ myWorkspace ๐จ app | review ": {
|
|
1195
1003
|
"artifacts": {
|
|
1004
|
+
"exclude": [
|
|
1005
|
+
"api/.env",
|
|
1006
|
+
"www/.env",
|
|
1007
|
+
],
|
|
1196
1008
|
"expire_in": "1 day",
|
|
1197
1009
|
"paths": [
|
|
1198
|
-
"api/__build_info.json",
|
|
1199
|
-
"api/dist",
|
|
1200
1010
|
"api/.next",
|
|
1011
|
+
"api/dist",
|
|
1012
|
+
"www/.next",
|
|
1013
|
+
"www/dist",
|
|
1201
1014
|
],
|
|
1202
|
-
"reports": {
|
|
1203
|
-
"junit": undefined,
|
|
1204
|
-
},
|
|
1015
|
+
"reports": {},
|
|
1205
1016
|
"when": "always",
|
|
1206
1017
|
},
|
|
1207
1018
|
"cache": [
|
|
1208
1019
|
{
|
|
1209
|
-
"key": "
|
|
1020
|
+
"key": ".-yarn",
|
|
1210
1021
|
"paths": [
|
|
1211
|
-
"
|
|
1022
|
+
".yarn",
|
|
1212
1023
|
],
|
|
1213
1024
|
"policy": "pull-push",
|
|
1214
1025
|
},
|
|
1215
1026
|
{
|
|
1216
|
-
"key": "
|
|
1027
|
+
"key": ".-node-modules",
|
|
1217
1028
|
"paths": [
|
|
1218
|
-
"
|
|
1029
|
+
"node_modules",
|
|
1219
1030
|
],
|
|
1220
1031
|
"policy": "pull-push",
|
|
1221
1032
|
},
|
|
1222
1033
|
{
|
|
1223
|
-
"key": "
|
|
1034
|
+
"key": "myWorkspace-next-cache",
|
|
1224
1035
|
"paths": [
|
|
1225
|
-
"api/.next/cache
|
|
1036
|
+
"api/.next/cache",
|
|
1037
|
+
"www/.next/cache",
|
|
1226
1038
|
],
|
|
1227
1039
|
"policy": "pull-push",
|
|
1228
1040
|
},
|
|
@@ -1239,37 +1051,61 @@ EOF
|
|
|
1239
1051
|
},
|
|
1240
1052
|
"script": [
|
|
1241
1053
|
"echo -e "\\e[0Ksection_start:$(date +%s):injectvars[collapsed=true]\\r\\e[0KInjecting variables"",
|
|
1242
|
-
"export ENV_SHORT="review"",
|
|
1243
|
-
"export APP_DIR="api"",
|
|
1244
|
-
"export ENV_TYPE="review"",
|
|
1245
|
-
"export BUILD_INFO_BUILD_ID="$(git describe --tags 2>/dev/null || git rev-parse HEAD)"",
|
|
1246
|
-
"export BUILD_INFO_BUILD_TIME="$CI_JOB_STARTED_AT"",
|
|
1247
|
-
"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")"",
|
|
1248
|
-
"export HOST="$(printf %s "pan-test-app-review-$([ -n "$CI_MERGE_REQUEST_IID" ] && echo "mr$CI_MERGE_REQUEST_IID" || { [ -n "$CI_COMMIT_REF_SLUG" ] && echo "$CI_COMMIT_REF_SLUG" || echo "unknown"; })-api-$CL_review_api_GCLOUD_RUN_canonicalHostSuffix" | awk '{print tolower($0)}')"",
|
|
1249
|
-
"export ROOT_URL="https://$(printf %s "pan-test-app-review-$([ -n "$CI_MERGE_REQUEST_IID" ] && echo "mr$CI_MERGE_REQUEST_IID" || { [ -n "$CI_COMMIT_REF_SLUG" ] && echo "$CI_COMMIT_REF_SLUG" || echo "unknown"; })-api-$CL_review_api_GCLOUD_RUN_canonicalHostSuffix" | awk '{print tolower($0)}')"",
|
|
1250
|
-
"export HOST_INTERNAL="$(printf %s "pan-test-app-review-$([ -n "$CI_MERGE_REQUEST_IID" ] && echo "mr$CI_MERGE_REQUEST_IID" || { [ -n "$CI_COMMIT_REF_SLUG" ] && echo "$CI_COMMIT_REF_SLUG" || echo "unknown"; })-api-$CL_review_api_GCLOUD_RUN_canonicalHostSuffix" | awk '{print tolower($0)}')"",
|
|
1251
|
-
"export HOST_CANONICAL="$(printf %s "pan-test-app-review-$([ -n "$CI_MERGE_REQUEST_IID" ] && echo "mr$CI_MERGE_REQUEST_IID" || { [ -n "$CI_COMMIT_REF_SLUG" ] && echo "$CI_COMMIT_REF_SLUG" || echo "unknown"; })-api-$CL_review_api_GCLOUD_RUN_canonicalHostSuffix" | awk '{print tolower($0)}')"",
|
|
1252
|
-
"export ROOT_URL_INTERNAL="https://$(printf %s "pan-test-app-review-$([ -n "$CI_MERGE_REQUEST_IID" ] && echo "mr$CI_MERGE_REQUEST_IID" || { [ -n "$CI_COMMIT_REF_SLUG" ] && echo "$CI_COMMIT_REF_SLUG" || echo "unknown"; })-api-$CL_review_api_GCLOUD_RUN_canonicalHostSuffix" | awk '{print tolower($0)}')"",
|
|
1253
|
-
"export CLOUD_SQL_INSTANCE_CONNECTION_NAME="projectId:region:instancename"",
|
|
1254
|
-
"export DB_NAME="pan-test-app-review-$([ -n "$CI_MERGE_REQUEST_IID" ] && echo "mr$CI_MERGE_REQUEST_IID" || { [ -n "$CI_COMMIT_REF_SLUG" ] && echo "$CI_COMMIT_REF_SLUG" || echo "unknown"; })-api"",
|
|
1255
|
-
"export DB_USER="my-user"",
|
|
1256
|
-
"export DB_PASSWORD="$CL_review_api_DB_PASSWORD"",
|
|
1257
|
-
"export DATABASE_URL="postgresql://$DB_USER:$DB_PASSWORD@localhost/$DB_NAME?host=/cloudsql/$CLOUD_SQL_INSTANCE_CONNECTION_NAME"",
|
|
1258
|
-
"export DATABASE_JDBC_URL="jdbc:postgresql:///$DB_NAME?cloudSqlInstance=$CLOUD_SQL_INSTANCE_CONNECTION_NAME&socketFactory=com.google.cloud.sql.postgres.SocketFactory&user=$DB_USER&password=$DB_PASSWORD"",
|
|
1259
|
-
"export CLOUD_RUN_JOB_TRIGGER_URL_migration="https://europe-west6-run.googleapis.com/apis/run.googleapis.com/v1/namespaces/google-project-id/jobs/$(printf %s \\"pan-test-app-review-$([ -n \\"$CI_MERGE_REQUEST_IID\\" ] && echo \\"mr$CI_MERGE_REQUEST_IID\\" || { [ -n \\"$CI_COMMIT_REF_SLUG\\" ] && echo \\"$CI_COMMIT_REF_SLUG\\" || echo \\"unknown\\"; })-api\\" | awk '{print tolower($0)}')-migration:run"",
|
|
1260
|
-
"export CLOUD_RUN_JOB_TRIGGER_URL_send_reminders="https://europe-west6-run.googleapis.com/apis/run.googleapis.com/v1/namespaces/google-project-id/jobs/$(printf %s \\"pan-test-app-review-$([ -n \\"$CI_MERGE_REQUEST_IID\\" ] && echo \\"mr$CI_MERGE_REQUEST_IID\\" || { [ -n \\"$CI_COMMIT_REF_SLUG\\" ] && echo \\"$CI_COMMIT_REF_SLUG\\" || echo \\"unknown\\"; })-api\\" | awk '{print tolower($0)}')-send-reminders:run"",
|
|
1261
|
-
"export DEPLOY_CLOUD_RUN_PROJECT_ID="google-project-id"",
|
|
1262
|
-
"export DEPLOY_CLOUD_RUN_REGION="europe-west6"",
|
|
1263
|
-
"export GCLOUD_DEPLOY_credentialsKey="$CL_review_api_GCLOUD_DEPLOY_credentialsKey"",
|
|
1264
|
-
"export GCLOUD_RUN_canonicalHostSuffix="$CL_review_api_GCLOUD_RUN_canonicalHostSuffix"",
|
|
1265
|
-
"export _ALL_ENV_VAR_KEYS="[\\"ENV_SHORT\\",\\"APP_DIR\\",\\"ENV_TYPE\\",\\"BUILD_INFO_BUILD_ID\\",\\"BUILD_INFO_BUILD_TIME\\",\\"BUILD_INFO_CURRENT_VERSION\\",\\"HOST\\",\\"ROOT_URL\\",\\"HOST_INTERNAL\\",\\"HOST_CANONICAL\\",\\"ROOT_URL_INTERNAL\\",\\"CLOUD_SQL_INSTANCE_CONNECTION_NAME\\",\\"DB_NAME\\",\\"DB_USER\\",\\"DB_PASSWORD\\",\\"DATABASE_URL\\",\\"DATABASE_JDBC_URL\\",\\"CLOUD_RUN_JOB_TRIGGER_URL_migration\\",\\"CLOUD_RUN_JOB_TRIGGER_URL_send_reminders\\",\\"DEPLOY_CLOUD_RUN_PROJECT_ID\\",\\"DEPLOY_CLOUD_RUN_REGION\\",\\"GCLOUD_DEPLOY_credentialsKey\\",\\"GCLOUD_RUN_canonicalHostSuffix\\"]"",
|
|
1266
1054
|
"echo -e "\\e[0Ksection_end:$(date +%s):injectvars\\r\\e[0K"",
|
|
1267
|
-
"echo
|
|
1055
|
+
"echo -e "\\e[0Ksection_start:$(date +%s):write-dotenv-api[collapsed=true]\\r\\e[0Kwrite dot env"",
|
|
1056
|
+
"cat <<EOF > api/.env
|
|
1057
|
+
ENV_SHORT=review
|
|
1058
|
+
APP_DIR=api
|
|
1059
|
+
ENV_TYPE=review
|
|
1060
|
+
BUILD_INFO_BUILD_ID=$(git describe --tags 2>/dev/null || git rev-parse HEAD)
|
|
1061
|
+
BUILD_INFO_BUILD_TIME=$CI_JOB_STARTED_AT
|
|
1062
|
+
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")
|
|
1063
|
+
HOST=$(printf %s "pan-test-app-review-$([ -n "$CI_MERGE_REQUEST_IID" ] && echo "mr$CI_MERGE_REQUEST_IID" || { [ -n "$CI_COMMIT_REF_SLUG" ] && echo "$CI_COMMIT_REF_SLUG" || echo "unknown"; })-api-$CL_review_api_GCLOUD_RUN_canonicalHostSuffix" | awk '{print tolower($0)}')
|
|
1064
|
+
ROOT_URL=https://$(printf %s "pan-test-app-review-$([ -n "$CI_MERGE_REQUEST_IID" ] && echo "mr$CI_MERGE_REQUEST_IID" || { [ -n "$CI_COMMIT_REF_SLUG" ] && echo "$CI_COMMIT_REF_SLUG" || echo "unknown"; })-api-$CL_review_api_GCLOUD_RUN_canonicalHostSuffix" | awk '{print tolower($0)}')
|
|
1065
|
+
HOST_INTERNAL=$(printf %s "pan-test-app-review-$([ -n "$CI_MERGE_REQUEST_IID" ] && echo "mr$CI_MERGE_REQUEST_IID" || { [ -n "$CI_COMMIT_REF_SLUG" ] && echo "$CI_COMMIT_REF_SLUG" || echo "unknown"; })-api-$CL_review_api_GCLOUD_RUN_canonicalHostSuffix" | awk '{print tolower($0)}')
|
|
1066
|
+
HOST_CANONICAL=$(printf %s "pan-test-app-review-$([ -n "$CI_MERGE_REQUEST_IID" ] && echo "mr$CI_MERGE_REQUEST_IID" || { [ -n "$CI_COMMIT_REF_SLUG" ] && echo "$CI_COMMIT_REF_SLUG" || echo "unknown"; })-api-$CL_review_api_GCLOUD_RUN_canonicalHostSuffix" | awk '{print tolower($0)}')
|
|
1067
|
+
ROOT_URL_INTERNAL=https://$(printf %s "pan-test-app-review-$([ -n "$CI_MERGE_REQUEST_IID" ] && echo "mr$CI_MERGE_REQUEST_IID" || { [ -n "$CI_COMMIT_REF_SLUG" ] && echo "$CI_COMMIT_REF_SLUG" || echo "unknown"; })-api-$CL_review_api_GCLOUD_RUN_canonicalHostSuffix" | awk '{print tolower($0)}')
|
|
1068
|
+
CLOUD_SQL_INSTANCE_CONNECTION_NAME=projectId:region:instancename
|
|
1069
|
+
DB_NAME=pan-test-app-review-$([ -n "$CI_MERGE_REQUEST_IID" ] && echo "mr$CI_MERGE_REQUEST_IID" || { [ -n "$CI_COMMIT_REF_SLUG" ] && echo "$CI_COMMIT_REF_SLUG" || echo "unknown"; })-api
|
|
1070
|
+
DB_USER=my-user
|
|
1071
|
+
DB_PASSWORD=$CL_review_api_DB_PASSWORD
|
|
1072
|
+
DATABASE_URL=postgresql://$DB_USER:$DB_PASSWORD@localhost/$DB_NAME?host=/cloudsql/$CLOUD_SQL_INSTANCE_CONNECTION_NAME
|
|
1073
|
+
DATABASE_JDBC_URL=jdbc:postgresql:///$DB_NAME?cloudSqlInstance=$CLOUD_SQL_INSTANCE_CONNECTION_NAME&socketFactory=com.google.cloud.sql.postgres.SocketFactory&user=$DB_USER&password=$DB_PASSWORD
|
|
1074
|
+
CLOUD_RUN_JOB_TRIGGER_URL_migration=https://europe-west6-run.googleapis.com/apis/run.googleapis.com/v1/namespaces/google-project-id/jobs/$(printf %s "pan-test-app-review-$([ -n "$CI_MERGE_REQUEST_IID" ] && echo "mr$CI_MERGE_REQUEST_IID" || { [ -n "$CI_COMMIT_REF_SLUG" ] && echo "$CI_COMMIT_REF_SLUG" || echo "unknown"; })-api" | awk '{print tolower($0)}')-migration:run
|
|
1075
|
+
CLOUD_RUN_JOB_TRIGGER_URL_send_reminders=https://europe-west6-run.googleapis.com/apis/run.googleapis.com/v1/namespaces/google-project-id/jobs/$(printf %s "pan-test-app-review-$([ -n "$CI_MERGE_REQUEST_IID" ] && echo "mr$CI_MERGE_REQUEST_IID" || { [ -n "$CI_COMMIT_REF_SLUG" ] && echo "$CI_COMMIT_REF_SLUG" || echo "unknown"; })-api" | awk '{print tolower($0)}')-send-reminders:run
|
|
1076
|
+
DEPLOY_CLOUD_RUN_PROJECT_ID=google-project-id
|
|
1077
|
+
DEPLOY_CLOUD_RUN_REGION=europe-west6
|
|
1078
|
+
GCLOUD_DEPLOY_credentialsKey=$CL_review_api_GCLOUD_DEPLOY_credentialsKey
|
|
1079
|
+
GCLOUD_RUN_canonicalHostSuffix=$CL_review_api_GCLOUD_RUN_canonicalHostSuffix
|
|
1080
|
+
_ALL_ENV_VAR_KEYS=["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_BUILD_ID","BUILD_INFO_BUILD_TIME","BUILD_INFO_CURRENT_VERSION","HOST","ROOT_URL","HOST_INTERNAL","HOST_CANONICAL","ROOT_URL_INTERNAL","CLOUD_SQL_INSTANCE_CONNECTION_NAME","DB_NAME","DB_USER","DB_PASSWORD","DATABASE_URL","DATABASE_JDBC_URL","CLOUD_RUN_JOB_TRIGGER_URL_migration","CLOUD_RUN_JOB_TRIGGER_URL_send_reminders","DEPLOY_CLOUD_RUN_PROJECT_ID","DEPLOY_CLOUD_RUN_REGION","GCLOUD_DEPLOY_credentialsKey","GCLOUD_RUN_canonicalHostSuffix"]
|
|
1081
|
+
EOF",
|
|
1082
|
+
"echo -e "\\e[0Ksection_end:$(date +%s):write-dotenv-api\\r\\e[0K"",
|
|
1083
|
+
"echo -e "\\e[0Ksection_start:$(date +%s):write-dotenv-www[collapsed=true]\\r\\e[0Kwrite dot env"",
|
|
1084
|
+
"cat <<EOF > www/.env
|
|
1085
|
+
ENV_SHORT=review
|
|
1086
|
+
APP_DIR=www
|
|
1087
|
+
ENV_TYPE=review
|
|
1088
|
+
BUILD_INFO_BUILD_ID=$(git describe --tags 2>/dev/null || git rev-parse HEAD)
|
|
1089
|
+
BUILD_INFO_BUILD_TIME=$CI_JOB_STARTED_AT
|
|
1090
|
+
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")
|
|
1091
|
+
HOST=$(printf %s "pan-test-app-review-$([ -n "$CI_MERGE_REQUEST_IID" ] && echo "mr$CI_MERGE_REQUEST_IID" || { [ -n "$CI_COMMIT_REF_SLUG" ] && echo "$CI_COMMIT_REF_SLUG" || echo "unknown"; })-www-$CL_review_www_GCLOUD_RUN_canonicalHostSuffix" | awk '{print tolower($0)}')
|
|
1092
|
+
ROOT_URL=https://$(printf %s "pan-test-app-review-$([ -n "$CI_MERGE_REQUEST_IID" ] && echo "mr$CI_MERGE_REQUEST_IID" || { [ -n "$CI_COMMIT_REF_SLUG" ] && echo "$CI_COMMIT_REF_SLUG" || echo "unknown"; })-www-$CL_review_www_GCLOUD_RUN_canonicalHostSuffix" | awk '{print tolower($0)}')
|
|
1093
|
+
HOST_INTERNAL=$(printf %s "pan-test-app-review-$([ -n "$CI_MERGE_REQUEST_IID" ] && echo "mr$CI_MERGE_REQUEST_IID" || { [ -n "$CI_COMMIT_REF_SLUG" ] && echo "$CI_COMMIT_REF_SLUG" || echo "unknown"; })-www-$CL_review_www_GCLOUD_RUN_canonicalHostSuffix" | awk '{print tolower($0)}')
|
|
1094
|
+
HOST_CANONICAL=$(printf %s "pan-test-app-review-$([ -n "$CI_MERGE_REQUEST_IID" ] && echo "mr$CI_MERGE_REQUEST_IID" || { [ -n "$CI_COMMIT_REF_SLUG" ] && echo "$CI_COMMIT_REF_SLUG" || echo "unknown"; })-www-$CL_review_www_GCLOUD_RUN_canonicalHostSuffix" | awk '{print tolower($0)}')
|
|
1095
|
+
ROOT_URL_INTERNAL=https://$(printf %s "pan-test-app-review-$([ -n "$CI_MERGE_REQUEST_IID" ] && echo "mr$CI_MERGE_REQUEST_IID" || { [ -n "$CI_COMMIT_REF_SLUG" ] && echo "$CI_COMMIT_REF_SLUG" || echo "unknown"; })-www-$CL_review_www_GCLOUD_RUN_canonicalHostSuffix" | awk '{print tolower($0)}')
|
|
1096
|
+
DEPLOY_CLOUD_RUN_PROJECT_ID=google-project-id
|
|
1097
|
+
DEPLOY_CLOUD_RUN_REGION=europe-west6
|
|
1098
|
+
GCLOUD_DEPLOY_credentialsKey=$CL_review_www_GCLOUD_DEPLOY_credentialsKey
|
|
1099
|
+
GCLOUD_RUN_canonicalHostSuffix=$CL_review_www_GCLOUD_RUN_canonicalHostSuffix
|
|
1100
|
+
API_URL=https://$(printf %s "pan-test-app-review-$([ -n "$CI_MERGE_REQUEST_IID" ] && echo "mr$CI_MERGE_REQUEST_IID" || { [ -n "$CI_COMMIT_REF_SLUG" ] && echo "$CI_COMMIT_REF_SLUG" || echo "unknown"; })-api-$CL_review_api_GCLOUD_RUN_canonicalHostSuffix" | awk '{print tolower($0)}')/graphql
|
|
1101
|
+
_ALL_ENV_VAR_KEYS=["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_BUILD_ID","BUILD_INFO_BUILD_TIME","BUILD_INFO_CURRENT_VERSION","HOST","ROOT_URL","HOST_INTERNAL","HOST_CANONICAL","ROOT_URL_INTERNAL","DEPLOY_CLOUD_RUN_PROJECT_ID","DEPLOY_CLOUD_RUN_REGION","GCLOUD_DEPLOY_credentialsKey","GCLOUD_RUN_canonicalHostSuffix","API_URL"]
|
|
1102
|
+
EOF",
|
|
1103
|
+
"echo -e "\\e[0Ksection_end:$(date +%s):write-dotenv-www\\r\\e[0K"",
|
|
1268
1104
|
"echo -e "\\e[0Ksection_start:$(date +%s):nodeinstall[collapsed=true]\\r\\e[0KEnsure node version"",
|
|
1269
1105
|
"if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi",
|
|
1270
1106
|
"if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi",
|
|
1271
1107
|
"echo -e "\\e[0Ksection_end:$(date +%s):nodeinstall\\r\\e[0K"",
|
|
1272
|
-
"cd
|
|
1108
|
+
"cd .",
|
|
1273
1109
|
"echo -e "\\e[0Ksection_start:$(date +%s):nodeinstall[collapsed=true]\\r\\e[0KEnsure node version"",
|
|
1274
1110
|
"if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi",
|
|
1275
1111
|
"if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi",
|
|
@@ -1286,11 +1122,89 @@ EOF
|
|
|
1286
1122
|
"KUBERNETES_MEMORY_REQUEST": "2Gi",
|
|
1287
1123
|
},
|
|
1288
1124
|
},
|
|
1289
|
-
"
|
|
1290
|
-
"
|
|
1291
|
-
|
|
1292
|
-
|
|
1293
|
-
|
|
1125
|
+
"๐ธ myWorkspace ๐ก audit": {
|
|
1126
|
+
"allow_failure": true,
|
|
1127
|
+
"image": "path/to/docker/jobs-default:the-version",
|
|
1128
|
+
"interruptible": true,
|
|
1129
|
+
"needs": [],
|
|
1130
|
+
"retry": {
|
|
1131
|
+
"max": 2,
|
|
1132
|
+
"when": [
|
|
1133
|
+
"runner_system_failure",
|
|
1134
|
+
"stuck_or_timeout_failure",
|
|
1135
|
+
],
|
|
1136
|
+
},
|
|
1137
|
+
"script": [
|
|
1138
|
+
"echo -e "\\e[0Ksection_start:$(date +%s):injectvars[collapsed=true]\\r\\e[0KInjecting variables"",
|
|
1139
|
+
"export APP_PATH="."",
|
|
1140
|
+
"echo -e "\\e[0Ksection_end:$(date +%s):injectvars\\r\\e[0K"",
|
|
1141
|
+
"cd .",
|
|
1142
|
+
"yarn npm audit --environment production",
|
|
1143
|
+
],
|
|
1144
|
+
"stage": "test",
|
|
1145
|
+
"variables": {
|
|
1146
|
+
"KUBERNETES_CPU_REQUEST": "0.5",
|
|
1147
|
+
"KUBERNETES_MEMORY_LIMIT": "4Gi",
|
|
1148
|
+
"KUBERNETES_MEMORY_REQUEST": "2Gi",
|
|
1149
|
+
},
|
|
1150
|
+
},
|
|
1151
|
+
"๐ธ myWorkspace ๐งช test": {
|
|
1152
|
+
"cache": [
|
|
1153
|
+
{
|
|
1154
|
+
"key": ".-yarn",
|
|
1155
|
+
"paths": [
|
|
1156
|
+
".yarn",
|
|
1157
|
+
],
|
|
1158
|
+
"policy": "pull-push",
|
|
1159
|
+
},
|
|
1160
|
+
{
|
|
1161
|
+
"key": ".-node-modules",
|
|
1162
|
+
"paths": [
|
|
1163
|
+
"node_modules",
|
|
1164
|
+
],
|
|
1165
|
+
"policy": "pull-push",
|
|
1166
|
+
},
|
|
1167
|
+
],
|
|
1168
|
+
"image": "path/to/docker/jobs-testing-chrome:the-version",
|
|
1169
|
+
"interruptible": true,
|
|
1170
|
+
"needs": [],
|
|
1171
|
+
"retry": {
|
|
1172
|
+
"max": 2,
|
|
1173
|
+
"when": [
|
|
1174
|
+
"runner_system_failure",
|
|
1175
|
+
"stuck_or_timeout_failure",
|
|
1176
|
+
],
|
|
1177
|
+
},
|
|
1178
|
+
"script": [
|
|
1179
|
+
"echo -e "\\e[0Ksection_start:$(date +%s):injectvars[collapsed=true]\\r\\e[0KInjecting variables"",
|
|
1180
|
+
"export APP_PATH="."",
|
|
1181
|
+
"echo -e "\\e[0Ksection_end:$(date +%s):injectvars\\r\\e[0K"",
|
|
1182
|
+
"echo -e "\\e[0Ksection_start:$(date +%s):nodeinstall[collapsed=true]\\r\\e[0KEnsure node version"",
|
|
1183
|
+
"if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi",
|
|
1184
|
+
"if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi",
|
|
1185
|
+
"echo -e "\\e[0Ksection_end:$(date +%s):nodeinstall\\r\\e[0K"",
|
|
1186
|
+
"cd .",
|
|
1187
|
+
"echo -e "\\e[0Ksection_start:$(date +%s):nodeinstall[collapsed=true]\\r\\e[0KEnsure node version"",
|
|
1188
|
+
"if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi",
|
|
1189
|
+
"if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi",
|
|
1190
|
+
"echo -e "\\e[0Ksection_end:$(date +%s):nodeinstall\\r\\e[0K"",
|
|
1191
|
+
"echo -e "\\e[0Ksection_start:$(date +%s):yarninstall[collapsed=true]\\r\\e[0KYarn install"",
|
|
1192
|
+
"yarn install --immutable",
|
|
1193
|
+
"echo -e "\\e[0Ksection_end:$(date +%s):yarninstall\\r\\e[0K"",
|
|
1194
|
+
"yarn test",
|
|
1195
|
+
],
|
|
1196
|
+
"stage": "test",
|
|
1197
|
+
"variables": {
|
|
1198
|
+
"KUBERNETES_CPU_REQUEST": "0.5",
|
|
1199
|
+
"KUBERNETES_MEMORY_LIMIT": "4Gi",
|
|
1200
|
+
"KUBERNETES_MEMORY_REQUEST": "2Gi",
|
|
1201
|
+
},
|
|
1202
|
+
},
|
|
1203
|
+
"๐น api ๐จ docker | review ": {
|
|
1204
|
+
"cache": [
|
|
1205
|
+
{
|
|
1206
|
+
"key": "api-yarn",
|
|
1207
|
+
"paths": [
|
|
1294
1208
|
"api/.yarn",
|
|
1295
1209
|
],
|
|
1296
1210
|
"policy": "pull",
|
|
@@ -1299,7 +1213,10 @@ EOF
|
|
|
1299
1213
|
"image": "path/to/docker/docker-build:the-version",
|
|
1300
1214
|
"interruptible": true,
|
|
1301
1215
|
"needs": [
|
|
1302
|
-
|
|
1216
|
+
{
|
|
1217
|
+
"artifacts": true,
|
|
1218
|
+
"job": "๐ธ myWorkspace ๐จ app | review ",
|
|
1219
|
+
},
|
|
1303
1220
|
],
|
|
1304
1221
|
"retry": {
|
|
1305
1222
|
"max": 2,
|
|
@@ -1357,7 +1274,7 @@ COPY --chown=node:node .yarn /app/.yarn"",
|
|
|
1357
1274
|
"KUBERNETES_MEMORY_REQUEST": "1Gi",
|
|
1358
1275
|
},
|
|
1359
1276
|
},
|
|
1360
|
-
"api ๐ Deploy | review ": {
|
|
1277
|
+
"๐น api ๐ Deploy | review ": {
|
|
1361
1278
|
"allow_failure": false,
|
|
1362
1279
|
"artifacts": {
|
|
1363
1280
|
"reports": {
|
|
@@ -1367,7 +1284,7 @@ COPY --chown=node:node .yarn /app/.yarn"",
|
|
|
1367
1284
|
"environment": {
|
|
1368
1285
|
"auto_stop_in": "1 week",
|
|
1369
1286
|
"name": "review/$CI_COMMIT_REF_NAME/api",
|
|
1370
|
-
"on_stop": "api ๐ Stop โ ๏ธ | review ",
|
|
1287
|
+
"on_stop": "๐น api ๐ Stop โ ๏ธ | review ",
|
|
1371
1288
|
"url": "$CL_GITLAB_ENVIRONMENT_URL",
|
|
1372
1289
|
},
|
|
1373
1290
|
"image": "path/to/docker/gcloud:the-version",
|
|
@@ -1375,27 +1292,23 @@ COPY --chown=node:node .yarn /app/.yarn"",
|
|
|
1375
1292
|
"needs": [
|
|
1376
1293
|
{
|
|
1377
1294
|
"artifacts": false,
|
|
1378
|
-
"job": "
|
|
1295
|
+
"job": "๐ธ myWorkspace ๐ฎ lint",
|
|
1379
1296
|
},
|
|
1380
1297
|
{
|
|
1381
1298
|
"artifacts": false,
|
|
1382
|
-
"job": "
|
|
1299
|
+
"job": "๐ธ myWorkspace ๐งช test",
|
|
1383
1300
|
},
|
|
1384
1301
|
{
|
|
1385
1302
|
"artifacts": false,
|
|
1386
|
-
"job": "
|
|
1303
|
+
"job": "๐ธ myWorkspace ๐ก audit",
|
|
1387
1304
|
},
|
|
1388
1305
|
{
|
|
1389
1306
|
"artifacts": false,
|
|
1390
|
-
"job": "api
|
|
1307
|
+
"job": "๐น api ๐จ docker | review ",
|
|
1391
1308
|
},
|
|
1392
1309
|
{
|
|
1393
1310
|
"artifacts": true,
|
|
1394
|
-
"job": "api ๐งพ sbom | review ",
|
|
1395
|
-
},
|
|
1396
|
-
{
|
|
1397
|
-
"artifacts": false,
|
|
1398
|
-
"job": "api ๐ก audit",
|
|
1311
|
+
"job": "๐น api ๐งพ sbom | review ",
|
|
1399
1312
|
},
|
|
1400
1313
|
],
|
|
1401
1314
|
"retry": {
|
|
@@ -1538,7 +1451,7 @@ EOF
|
|
|
1538
1451
|
"KUBERNETES_MEMORY_REQUEST": "200Mi",
|
|
1539
1452
|
},
|
|
1540
1453
|
},
|
|
1541
|
-
"api ๐ Stop โ ๏ธ | review ": {
|
|
1454
|
+
"๐น api ๐ Stop โ ๏ธ | review ": {
|
|
1542
1455
|
"allow_failure": true,
|
|
1543
1456
|
"artifacts": {
|
|
1544
1457
|
"reports": {
|
|
@@ -1608,85 +1521,7 @@ EOF
|
|
|
1608
1521
|
"KUBERNETES_MEMORY_REQUEST": "200Mi",
|
|
1609
1522
|
},
|
|
1610
1523
|
},
|
|
1611
|
-
"api
|
|
1612
|
-
"allow_failure": true,
|
|
1613
|
-
"image": "path/to/docker/jobs-default:the-version",
|
|
1614
|
-
"interruptible": true,
|
|
1615
|
-
"needs": [],
|
|
1616
|
-
"retry": {
|
|
1617
|
-
"max": 2,
|
|
1618
|
-
"when": [
|
|
1619
|
-
"runner_system_failure",
|
|
1620
|
-
"stuck_or_timeout_failure",
|
|
1621
|
-
],
|
|
1622
|
-
},
|
|
1623
|
-
"script": [
|
|
1624
|
-
"echo -e "\\e[0Ksection_start:$(date +%s):injectvars[collapsed=true]\\r\\e[0KInjecting variables"",
|
|
1625
|
-
"export APP_PATH="api"",
|
|
1626
|
-
"echo -e "\\e[0Ksection_end:$(date +%s):injectvars\\r\\e[0K"",
|
|
1627
|
-
"cd api",
|
|
1628
|
-
"yarn npm audit --environment production",
|
|
1629
|
-
],
|
|
1630
|
-
"stage": "test",
|
|
1631
|
-
"variables": {
|
|
1632
|
-
"KUBERNETES_CPU_REQUEST": "0.5",
|
|
1633
|
-
"KUBERNETES_MEMORY_LIMIT": "4Gi",
|
|
1634
|
-
"KUBERNETES_MEMORY_REQUEST": "2Gi",
|
|
1635
|
-
},
|
|
1636
|
-
},
|
|
1637
|
-
"api ๐งช test": {
|
|
1638
|
-
"cache": [
|
|
1639
|
-
{
|
|
1640
|
-
"key": "api-yarn",
|
|
1641
|
-
"paths": [
|
|
1642
|
-
"api/.yarn",
|
|
1643
|
-
],
|
|
1644
|
-
"policy": "pull-push",
|
|
1645
|
-
},
|
|
1646
|
-
{
|
|
1647
|
-
"key": "api-node-modules",
|
|
1648
|
-
"paths": [
|
|
1649
|
-
"api/node_modules",
|
|
1650
|
-
],
|
|
1651
|
-
"policy": "pull-push",
|
|
1652
|
-
},
|
|
1653
|
-
],
|
|
1654
|
-
"image": "path/to/docker/jobs-testing-chrome:the-version",
|
|
1655
|
-
"interruptible": true,
|
|
1656
|
-
"needs": [],
|
|
1657
|
-
"retry": {
|
|
1658
|
-
"max": 2,
|
|
1659
|
-
"when": [
|
|
1660
|
-
"runner_system_failure",
|
|
1661
|
-
"stuck_or_timeout_failure",
|
|
1662
|
-
],
|
|
1663
|
-
},
|
|
1664
|
-
"script": [
|
|
1665
|
-
"echo -e "\\e[0Ksection_start:$(date +%s):injectvars[collapsed=true]\\r\\e[0KInjecting variables"",
|
|
1666
|
-
"export APP_PATH="api"",
|
|
1667
|
-
"echo -e "\\e[0Ksection_end:$(date +%s):injectvars\\r\\e[0K"",
|
|
1668
|
-
"echo -e "\\e[0Ksection_start:$(date +%s):nodeinstall[collapsed=true]\\r\\e[0KEnsure node version"",
|
|
1669
|
-
"if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi",
|
|
1670
|
-
"if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi",
|
|
1671
|
-
"echo -e "\\e[0Ksection_end:$(date +%s):nodeinstall\\r\\e[0K"",
|
|
1672
|
-
"cd api",
|
|
1673
|
-
"echo -e "\\e[0Ksection_start:$(date +%s):nodeinstall[collapsed=true]\\r\\e[0KEnsure node version"",
|
|
1674
|
-
"if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi",
|
|
1675
|
-
"if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi",
|
|
1676
|
-
"echo -e "\\e[0Ksection_end:$(date +%s):nodeinstall\\r\\e[0K"",
|
|
1677
|
-
"echo -e "\\e[0Ksection_start:$(date +%s):yarninstall[collapsed=true]\\r\\e[0KYarn install"",
|
|
1678
|
-
"yarn install --immutable",
|
|
1679
|
-
"echo -e "\\e[0Ksection_end:$(date +%s):yarninstall\\r\\e[0K"",
|
|
1680
|
-
"yarn test",
|
|
1681
|
-
],
|
|
1682
|
-
"stage": "test",
|
|
1683
|
-
"variables": {
|
|
1684
|
-
"KUBERNETES_CPU_REQUEST": "0.5",
|
|
1685
|
-
"KUBERNETES_MEMORY_LIMIT": "4Gi",
|
|
1686
|
-
"KUBERNETES_MEMORY_REQUEST": "2Gi",
|
|
1687
|
-
},
|
|
1688
|
-
},
|
|
1689
|
-
"api ๐งพ sbom | review ": {
|
|
1524
|
+
"๐น api ๐งพ sbom | review ": {
|
|
1690
1525
|
"allow_failure": true,
|
|
1691
1526
|
"artifacts": {
|
|
1692
1527
|
"paths": [
|
|
@@ -1711,147 +1546,7 @@ EOF
|
|
|
1711
1546
|
"stage": "build",
|
|
1712
1547
|
"variables": {},
|
|
1713
1548
|
},
|
|
1714
|
-
"www
|
|
1715
|
-
"cache": [
|
|
1716
|
-
{
|
|
1717
|
-
"key": "www-yarn",
|
|
1718
|
-
"paths": [
|
|
1719
|
-
"www/.yarn",
|
|
1720
|
-
],
|
|
1721
|
-
"policy": "pull-push",
|
|
1722
|
-
},
|
|
1723
|
-
{
|
|
1724
|
-
"key": "www-node-modules",
|
|
1725
|
-
"paths": [
|
|
1726
|
-
"www/node_modules",
|
|
1727
|
-
],
|
|
1728
|
-
"policy": "pull-push",
|
|
1729
|
-
},
|
|
1730
|
-
],
|
|
1731
|
-
"image": "path/to/docker/jobs-default:the-version",
|
|
1732
|
-
"interruptible": true,
|
|
1733
|
-
"needs": [],
|
|
1734
|
-
"retry": {
|
|
1735
|
-
"max": 2,
|
|
1736
|
-
"when": [
|
|
1737
|
-
"runner_system_failure",
|
|
1738
|
-
"stuck_or_timeout_failure",
|
|
1739
|
-
],
|
|
1740
|
-
},
|
|
1741
|
-
"script": [
|
|
1742
|
-
"echo -e "\\e[0Ksection_start:$(date +%s):injectvars[collapsed=true]\\r\\e[0KInjecting variables"",
|
|
1743
|
-
"export APP_PATH="www"",
|
|
1744
|
-
"echo -e "\\e[0Ksection_end:$(date +%s):injectvars\\r\\e[0K"",
|
|
1745
|
-
"echo -e "\\e[0Ksection_start:$(date +%s):nodeinstall[collapsed=true]\\r\\e[0KEnsure node version"",
|
|
1746
|
-
"if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi",
|
|
1747
|
-
"if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi",
|
|
1748
|
-
"echo -e "\\e[0Ksection_end:$(date +%s):nodeinstall\\r\\e[0K"",
|
|
1749
|
-
"cd www",
|
|
1750
|
-
"echo -e "\\e[0Ksection_start:$(date +%s):nodeinstall[collapsed=true]\\r\\e[0KEnsure node version"",
|
|
1751
|
-
"if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi",
|
|
1752
|
-
"if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi",
|
|
1753
|
-
"echo -e "\\e[0Ksection_end:$(date +%s):nodeinstall\\r\\e[0K"",
|
|
1754
|
-
"echo -e "\\e[0Ksection_start:$(date +%s):yarninstall[collapsed=true]\\r\\e[0KYarn install"",
|
|
1755
|
-
"yarn install --immutable",
|
|
1756
|
-
"echo -e "\\e[0Ksection_end:$(date +%s):yarninstall\\r\\e[0K"",
|
|
1757
|
-
"yarn lint",
|
|
1758
|
-
],
|
|
1759
|
-
"stage": "test",
|
|
1760
|
-
"variables": {
|
|
1761
|
-
"KUBERNETES_CPU_REQUEST": "0.5",
|
|
1762
|
-
"KUBERNETES_MEMORY_LIMIT": "4Gi",
|
|
1763
|
-
"KUBERNETES_MEMORY_REQUEST": "2Gi",
|
|
1764
|
-
},
|
|
1765
|
-
},
|
|
1766
|
-
"www ๐จ app | review ": {
|
|
1767
|
-
"artifacts": {
|
|
1768
|
-
"expire_in": "1 day",
|
|
1769
|
-
"paths": [
|
|
1770
|
-
"www/__build_info.json",
|
|
1771
|
-
"www/dist",
|
|
1772
|
-
"www/.next",
|
|
1773
|
-
],
|
|
1774
|
-
"reports": {
|
|
1775
|
-
"junit": undefined,
|
|
1776
|
-
},
|
|
1777
|
-
"when": "always",
|
|
1778
|
-
},
|
|
1779
|
-
"cache": [
|
|
1780
|
-
{
|
|
1781
|
-
"key": "www-yarn",
|
|
1782
|
-
"paths": [
|
|
1783
|
-
"www/.yarn",
|
|
1784
|
-
],
|
|
1785
|
-
"policy": "pull-push",
|
|
1786
|
-
},
|
|
1787
|
-
{
|
|
1788
|
-
"key": "www-node-modules",
|
|
1789
|
-
"paths": [
|
|
1790
|
-
"www/node_modules",
|
|
1791
|
-
],
|
|
1792
|
-
"policy": "pull-push",
|
|
1793
|
-
},
|
|
1794
|
-
{
|
|
1795
|
-
"key": "www-next-cache",
|
|
1796
|
-
"paths": [
|
|
1797
|
-
"www/.next/cache/",
|
|
1798
|
-
],
|
|
1799
|
-
"policy": "pull-push",
|
|
1800
|
-
},
|
|
1801
|
-
],
|
|
1802
|
-
"image": "path/to/docker/jobs-default:the-version",
|
|
1803
|
-
"interruptible": true,
|
|
1804
|
-
"needs": [],
|
|
1805
|
-
"retry": {
|
|
1806
|
-
"max": 2,
|
|
1807
|
-
"when": [
|
|
1808
|
-
"runner_system_failure",
|
|
1809
|
-
"stuck_or_timeout_failure",
|
|
1810
|
-
],
|
|
1811
|
-
},
|
|
1812
|
-
"script": [
|
|
1813
|
-
"echo -e "\\e[0Ksection_start:$(date +%s):injectvars[collapsed=true]\\r\\e[0KInjecting variables"",
|
|
1814
|
-
"export ENV_SHORT="review"",
|
|
1815
|
-
"export APP_DIR="www"",
|
|
1816
|
-
"export ENV_TYPE="review"",
|
|
1817
|
-
"export BUILD_INFO_BUILD_ID="$(git describe --tags 2>/dev/null || git rev-parse HEAD)"",
|
|
1818
|
-
"export BUILD_INFO_BUILD_TIME="$CI_JOB_STARTED_AT"",
|
|
1819
|
-
"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")"",
|
|
1820
|
-
"export HOST="$(printf %s "pan-test-app-review-$([ -n "$CI_MERGE_REQUEST_IID" ] && echo "mr$CI_MERGE_REQUEST_IID" || { [ -n "$CI_COMMIT_REF_SLUG" ] && echo "$CI_COMMIT_REF_SLUG" || echo "unknown"; })-www-$CL_review_www_GCLOUD_RUN_canonicalHostSuffix" | awk '{print tolower($0)}')"",
|
|
1821
|
-
"export ROOT_URL="https://$(printf %s "pan-test-app-review-$([ -n "$CI_MERGE_REQUEST_IID" ] && echo "mr$CI_MERGE_REQUEST_IID" || { [ -n "$CI_COMMIT_REF_SLUG" ] && echo "$CI_COMMIT_REF_SLUG" || echo "unknown"; })-www-$CL_review_www_GCLOUD_RUN_canonicalHostSuffix" | awk '{print tolower($0)}')"",
|
|
1822
|
-
"export HOST_INTERNAL="$(printf %s "pan-test-app-review-$([ -n "$CI_MERGE_REQUEST_IID" ] && echo "mr$CI_MERGE_REQUEST_IID" || { [ -n "$CI_COMMIT_REF_SLUG" ] && echo "$CI_COMMIT_REF_SLUG" || echo "unknown"; })-www-$CL_review_www_GCLOUD_RUN_canonicalHostSuffix" | awk '{print tolower($0)}')"",
|
|
1823
|
-
"export HOST_CANONICAL="$(printf %s "pan-test-app-review-$([ -n "$CI_MERGE_REQUEST_IID" ] && echo "mr$CI_MERGE_REQUEST_IID" || { [ -n "$CI_COMMIT_REF_SLUG" ] && echo "$CI_COMMIT_REF_SLUG" || echo "unknown"; })-www-$CL_review_www_GCLOUD_RUN_canonicalHostSuffix" | awk '{print tolower($0)}')"",
|
|
1824
|
-
"export ROOT_URL_INTERNAL="https://$(printf %s "pan-test-app-review-$([ -n "$CI_MERGE_REQUEST_IID" ] && echo "mr$CI_MERGE_REQUEST_IID" || { [ -n "$CI_COMMIT_REF_SLUG" ] && echo "$CI_COMMIT_REF_SLUG" || echo "unknown"; })-www-$CL_review_www_GCLOUD_RUN_canonicalHostSuffix" | awk '{print tolower($0)}')"",
|
|
1825
|
-
"export DEPLOY_CLOUD_RUN_PROJECT_ID="google-project-id"",
|
|
1826
|
-
"export DEPLOY_CLOUD_RUN_REGION="europe-west6"",
|
|
1827
|
-
"export GCLOUD_DEPLOY_credentialsKey="$CL_review_www_GCLOUD_DEPLOY_credentialsKey"",
|
|
1828
|
-
"export GCLOUD_RUN_canonicalHostSuffix="$CL_review_www_GCLOUD_RUN_canonicalHostSuffix"",
|
|
1829
|
-
"export API_URL="https://$(printf %s "pan-test-app-review-$([ -n "$CI_MERGE_REQUEST_IID" ] && echo "mr$CI_MERGE_REQUEST_IID" || { [ -n "$CI_COMMIT_REF_SLUG" ] && echo "$CI_COMMIT_REF_SLUG" || echo "unknown"; })-api-$CL_review_api_GCLOUD_RUN_canonicalHostSuffix" | awk '{print tolower($0)}')/graphql"",
|
|
1830
|
-
"export _ALL_ENV_VAR_KEYS="[\\"ENV_SHORT\\",\\"APP_DIR\\",\\"ENV_TYPE\\",\\"BUILD_INFO_BUILD_ID\\",\\"BUILD_INFO_BUILD_TIME\\",\\"BUILD_INFO_CURRENT_VERSION\\",\\"HOST\\",\\"ROOT_URL\\",\\"HOST_INTERNAL\\",\\"HOST_CANONICAL\\",\\"ROOT_URL_INTERNAL\\",\\"DEPLOY_CLOUD_RUN_PROJECT_ID\\",\\"DEPLOY_CLOUD_RUN_REGION\\",\\"GCLOUD_DEPLOY_credentialsKey\\",\\"GCLOUD_RUN_canonicalHostSuffix\\",\\"API_URL\\"]"",
|
|
1831
|
-
"echo -e "\\e[0Ksection_end:$(date +%s):injectvars\\r\\e[0K"",
|
|
1832
|
-
"echo '{"id":"$(git describe --tags 2>/dev/null || git rev-parse HEAD)","time":"$CI_JOB_STARTED_AT"}' > www/__build_info.json",
|
|
1833
|
-
"echo -e "\\e[0Ksection_start:$(date +%s):nodeinstall[collapsed=true]\\r\\e[0KEnsure node version"",
|
|
1834
|
-
"if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi",
|
|
1835
|
-
"if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi",
|
|
1836
|
-
"echo -e "\\e[0Ksection_end:$(date +%s):nodeinstall\\r\\e[0K"",
|
|
1837
|
-
"cd www",
|
|
1838
|
-
"echo -e "\\e[0Ksection_start:$(date +%s):nodeinstall[collapsed=true]\\r\\e[0KEnsure node version"",
|
|
1839
|
-
"if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi",
|
|
1840
|
-
"if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi",
|
|
1841
|
-
"echo -e "\\e[0Ksection_end:$(date +%s):nodeinstall\\r\\e[0K"",
|
|
1842
|
-
"echo -e "\\e[0Ksection_start:$(date +%s):yarninstall[collapsed=true]\\r\\e[0KYarn install"",
|
|
1843
|
-
"yarn install --immutable",
|
|
1844
|
-
"echo -e "\\e[0Ksection_end:$(date +%s):yarninstall\\r\\e[0K"",
|
|
1845
|
-
"yarn build",
|
|
1846
|
-
],
|
|
1847
|
-
"stage": "build",
|
|
1848
|
-
"variables": {
|
|
1849
|
-
"KUBERNETES_CPU_REQUEST": "0.5",
|
|
1850
|
-
"KUBERNETES_MEMORY_LIMIT": "4Gi",
|
|
1851
|
-
"KUBERNETES_MEMORY_REQUEST": "2Gi",
|
|
1852
|
-
},
|
|
1853
|
-
},
|
|
1854
|
-
"www ๐จ docker | review ": {
|
|
1549
|
+
"๐น www ๐จ docker | review ": {
|
|
1855
1550
|
"cache": [
|
|
1856
1551
|
{
|
|
1857
1552
|
"key": "www-yarn",
|
|
@@ -1864,7 +1559,10 @@ EOF
|
|
|
1864
1559
|
"image": "path/to/docker/docker-build:the-version",
|
|
1865
1560
|
"interruptible": true,
|
|
1866
1561
|
"needs": [
|
|
1867
|
-
|
|
1562
|
+
{
|
|
1563
|
+
"artifacts": true,
|
|
1564
|
+
"job": "๐ธ myWorkspace ๐จ app | review ",
|
|
1565
|
+
},
|
|
1868
1566
|
],
|
|
1869
1567
|
"retry": {
|
|
1870
1568
|
"max": 2,
|
|
@@ -1922,7 +1620,7 @@ COPY --chown=node:node .yarn /app/.yarn"",
|
|
|
1922
1620
|
"KUBERNETES_MEMORY_REQUEST": "1Gi",
|
|
1923
1621
|
},
|
|
1924
1622
|
},
|
|
1925
|
-
"www ๐ Deploy | review ": {
|
|
1623
|
+
"๐น www ๐ Deploy | review ": {
|
|
1926
1624
|
"allow_failure": false,
|
|
1927
1625
|
"artifacts": {
|
|
1928
1626
|
"reports": {
|
|
@@ -1932,7 +1630,7 @@ COPY --chown=node:node .yarn /app/.yarn"",
|
|
|
1932
1630
|
"environment": {
|
|
1933
1631
|
"auto_stop_in": "1 week",
|
|
1934
1632
|
"name": "review/$CI_COMMIT_REF_NAME/www",
|
|
1935
|
-
"on_stop": "www ๐ Stop โ ๏ธ | review ",
|
|
1633
|
+
"on_stop": "๐น www ๐ Stop โ ๏ธ | review ",
|
|
1936
1634
|
"url": "$CL_GITLAB_ENVIRONMENT_URL",
|
|
1937
1635
|
},
|
|
1938
1636
|
"image": "path/to/docker/gcloud:the-version",
|
|
@@ -1940,27 +1638,23 @@ COPY --chown=node:node .yarn /app/.yarn"",
|
|
|
1940
1638
|
"needs": [
|
|
1941
1639
|
{
|
|
1942
1640
|
"artifacts": false,
|
|
1943
|
-
"job": "
|
|
1641
|
+
"job": "๐ธ myWorkspace ๐ฎ lint",
|
|
1944
1642
|
},
|
|
1945
1643
|
{
|
|
1946
1644
|
"artifacts": false,
|
|
1947
|
-
"job": "
|
|
1645
|
+
"job": "๐ธ myWorkspace ๐งช test",
|
|
1948
1646
|
},
|
|
1949
1647
|
{
|
|
1950
1648
|
"artifacts": false,
|
|
1951
|
-
"job": "
|
|
1649
|
+
"job": "๐ธ myWorkspace ๐ก audit",
|
|
1952
1650
|
},
|
|
1953
1651
|
{
|
|
1954
1652
|
"artifacts": false,
|
|
1955
|
-
"job": "www
|
|
1653
|
+
"job": "๐น www ๐จ docker | review ",
|
|
1956
1654
|
},
|
|
1957
1655
|
{
|
|
1958
1656
|
"artifacts": true,
|
|
1959
|
-
"job": "www ๐งพ sbom | review ",
|
|
1960
|
-
},
|
|
1961
|
-
{
|
|
1962
|
-
"artifacts": false,
|
|
1963
|
-
"job": "www ๐ก audit",
|
|
1657
|
+
"job": "๐น www ๐งพ sbom | review ",
|
|
1964
1658
|
},
|
|
1965
1659
|
],
|
|
1966
1660
|
"retry": {
|
|
@@ -2065,7 +1759,7 @@ EOF
|
|
|
2065
1759
|
"KUBERNETES_MEMORY_REQUEST": "200Mi",
|
|
2066
1760
|
},
|
|
2067
1761
|
},
|
|
2068
|
-
"www ๐ Stop โ ๏ธ | review ": {
|
|
1762
|
+
"๐น www ๐ Stop โ ๏ธ | review ": {
|
|
2069
1763
|
"allow_failure": true,
|
|
2070
1764
|
"artifacts": {
|
|
2071
1765
|
"reports": {
|
|
@@ -2111,95 +1805,17 @@ EOF
|
|
|
2111
1805
|
"echo 'Disabling component in Dependency Track'",
|
|
2112
1806
|
"/dtrackuploader https://dep.panter.swiss/ "$DT_KEY_PROD" disable "pan-test-app/www" "https://$(printf %s "pan-test-app-review-$([ -n "$CI_MERGE_REQUEST_IID" ] && echo "mr$CI_MERGE_REQUEST_IID" || { [ -n "$CI_COMMIT_REF_SLUG" ] && echo "$CI_COMMIT_REF_SLUG" || echo "unknown"; })-www-$CL_review_www_GCLOUD_RUN_canonicalHostSuffix" | awk '{print tolower($0)}')" || true",
|
|
2113
1807
|
"set -e",
|
|
2114
|
-
"echo "CL_GITLAB_ENVIRONMENT_URL=https://$(printf %s "pan-test-app-review-$([ -n "$CI_MERGE_REQUEST_IID" ] && echo "mr$CI_MERGE_REQUEST_IID" || { [ -n "$CI_COMMIT_REF_SLUG" ] && echo "$CI_COMMIT_REF_SLUG" || echo "unknown"; })-www-$CL_review_www_GCLOUD_RUN_canonicalHostSuffix" | awk '{print tolower($0)}')" >> gitlab_environment.env",
|
|
2115
|
-
],
|
|
2116
|
-
"stage": "stop review",
|
|
2117
|
-
"variables": {
|
|
2118
|
-
"GIT_STRATEGY": "none",
|
|
2119
|
-
"KUBERNETES_CPU_REQUEST": "0.5",
|
|
2120
|
-
"KUBERNETES_MEMORY_LIMIT": "400Mi",
|
|
2121
|
-
"KUBERNETES_MEMORY_REQUEST": "200Mi",
|
|
2122
|
-
},
|
|
2123
|
-
},
|
|
2124
|
-
"www ๐ก audit": {
|
|
2125
|
-
"allow_failure": true,
|
|
2126
|
-
"image": "path/to/docker/jobs-default:the-version",
|
|
2127
|
-
"interruptible": true,
|
|
2128
|
-
"needs": [],
|
|
2129
|
-
"retry": {
|
|
2130
|
-
"max": 2,
|
|
2131
|
-
"when": [
|
|
2132
|
-
"runner_system_failure",
|
|
2133
|
-
"stuck_or_timeout_failure",
|
|
2134
|
-
],
|
|
2135
|
-
},
|
|
2136
|
-
"script": [
|
|
2137
|
-
"echo -e "\\e[0Ksection_start:$(date +%s):injectvars[collapsed=true]\\r\\e[0KInjecting variables"",
|
|
2138
|
-
"export APP_PATH="www"",
|
|
2139
|
-
"echo -e "\\e[0Ksection_end:$(date +%s):injectvars\\r\\e[0K"",
|
|
2140
|
-
"cd www",
|
|
2141
|
-
"yarn npm audit --environment production",
|
|
2142
|
-
],
|
|
2143
|
-
"stage": "test",
|
|
2144
|
-
"variables": {
|
|
2145
|
-
"KUBERNETES_CPU_REQUEST": "0.5",
|
|
2146
|
-
"KUBERNETES_MEMORY_LIMIT": "4Gi",
|
|
2147
|
-
"KUBERNETES_MEMORY_REQUEST": "2Gi",
|
|
2148
|
-
},
|
|
2149
|
-
},
|
|
2150
|
-
"www ๐งช test": {
|
|
2151
|
-
"cache": [
|
|
2152
|
-
{
|
|
2153
|
-
"key": "www-yarn",
|
|
2154
|
-
"paths": [
|
|
2155
|
-
"www/.yarn",
|
|
2156
|
-
],
|
|
2157
|
-
"policy": "pull-push",
|
|
2158
|
-
},
|
|
2159
|
-
{
|
|
2160
|
-
"key": "www-node-modules",
|
|
2161
|
-
"paths": [
|
|
2162
|
-
"www/node_modules",
|
|
2163
|
-
],
|
|
2164
|
-
"policy": "pull-push",
|
|
2165
|
-
},
|
|
2166
|
-
],
|
|
2167
|
-
"image": "path/to/docker/jobs-testing-chrome:the-version",
|
|
2168
|
-
"interruptible": true,
|
|
2169
|
-
"needs": [],
|
|
2170
|
-
"retry": {
|
|
2171
|
-
"max": 2,
|
|
2172
|
-
"when": [
|
|
2173
|
-
"runner_system_failure",
|
|
2174
|
-
"stuck_or_timeout_failure",
|
|
2175
|
-
],
|
|
2176
|
-
},
|
|
2177
|
-
"script": [
|
|
2178
|
-
"echo -e "\\e[0Ksection_start:$(date +%s):injectvars[collapsed=true]\\r\\e[0KInjecting variables"",
|
|
2179
|
-
"export APP_PATH="www"",
|
|
2180
|
-
"echo -e "\\e[0Ksection_end:$(date +%s):injectvars\\r\\e[0K"",
|
|
2181
|
-
"echo -e "\\e[0Ksection_start:$(date +%s):nodeinstall[collapsed=true]\\r\\e[0KEnsure node version"",
|
|
2182
|
-
"if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi",
|
|
2183
|
-
"if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi",
|
|
2184
|
-
"echo -e "\\e[0Ksection_end:$(date +%s):nodeinstall\\r\\e[0K"",
|
|
2185
|
-
"cd www",
|
|
2186
|
-
"echo -e "\\e[0Ksection_start:$(date +%s):nodeinstall[collapsed=true]\\r\\e[0KEnsure node version"",
|
|
2187
|
-
"if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi",
|
|
2188
|
-
"if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi",
|
|
2189
|
-
"echo -e "\\e[0Ksection_end:$(date +%s):nodeinstall\\r\\e[0K"",
|
|
2190
|
-
"echo -e "\\e[0Ksection_start:$(date +%s):yarninstall[collapsed=true]\\r\\e[0KYarn install"",
|
|
2191
|
-
"yarn install --immutable",
|
|
2192
|
-
"echo -e "\\e[0Ksection_end:$(date +%s):yarninstall\\r\\e[0K"",
|
|
2193
|
-
"yarn test",
|
|
1808
|
+
"echo "CL_GITLAB_ENVIRONMENT_URL=https://$(printf %s "pan-test-app-review-$([ -n "$CI_MERGE_REQUEST_IID" ] && echo "mr$CI_MERGE_REQUEST_IID" || { [ -n "$CI_COMMIT_REF_SLUG" ] && echo "$CI_COMMIT_REF_SLUG" || echo "unknown"; })-www-$CL_review_www_GCLOUD_RUN_canonicalHostSuffix" | awk '{print tolower($0)}')" >> gitlab_environment.env",
|
|
2194
1809
|
],
|
|
2195
|
-
"stage": "
|
|
1810
|
+
"stage": "stop review",
|
|
2196
1811
|
"variables": {
|
|
1812
|
+
"GIT_STRATEGY": "none",
|
|
2197
1813
|
"KUBERNETES_CPU_REQUEST": "0.5",
|
|
2198
|
-
"KUBERNETES_MEMORY_LIMIT": "
|
|
2199
|
-
"KUBERNETES_MEMORY_REQUEST": "
|
|
1814
|
+
"KUBERNETES_MEMORY_LIMIT": "400Mi",
|
|
1815
|
+
"KUBERNETES_MEMORY_REQUEST": "200Mi",
|
|
2200
1816
|
},
|
|
2201
1817
|
},
|
|
2202
|
-
"www ๐งพ sbom | review ": {
|
|
1818
|
+
"๐น www ๐งพ sbom | review ": {
|
|
2203
1819
|
"allow_failure": true,
|
|
2204
1820
|
"artifacts": {
|
|
2205
1821
|
"paths": [
|
|
@@ -2294,38 +1910,42 @@ EOF
|
|
|
2294
1910
|
"taggedRelease": {
|
|
2295
1911
|
"image": "path/to/docker/jobs-default:the-version",
|
|
2296
1912
|
"jobs": {
|
|
2297
|
-
"
|
|
1913
|
+
"๐ธ myWorkspace ๐จ app | prod ": {
|
|
2298
1914
|
"artifacts": {
|
|
1915
|
+
"exclude": [
|
|
1916
|
+
"api/.env",
|
|
1917
|
+
"www/.env",
|
|
1918
|
+
],
|
|
2299
1919
|
"expire_in": "1 day",
|
|
2300
1920
|
"paths": [
|
|
2301
|
-
"api/__build_info.json",
|
|
2302
|
-
"api/dist",
|
|
2303
1921
|
"api/.next",
|
|
1922
|
+
"api/dist",
|
|
1923
|
+
"www/.next",
|
|
1924
|
+
"www/dist",
|
|
2304
1925
|
],
|
|
2305
|
-
"reports": {
|
|
2306
|
-
"junit": undefined,
|
|
2307
|
-
},
|
|
1926
|
+
"reports": {},
|
|
2308
1927
|
"when": "always",
|
|
2309
1928
|
},
|
|
2310
1929
|
"cache": [
|
|
2311
1930
|
{
|
|
2312
|
-
"key": "
|
|
1931
|
+
"key": ".-yarn",
|
|
2313
1932
|
"paths": [
|
|
2314
|
-
"
|
|
1933
|
+
".yarn",
|
|
2315
1934
|
],
|
|
2316
1935
|
"policy": "pull-push",
|
|
2317
1936
|
},
|
|
2318
1937
|
{
|
|
2319
|
-
"key": "
|
|
1938
|
+
"key": ".-node-modules",
|
|
2320
1939
|
"paths": [
|
|
2321
|
-
"
|
|
1940
|
+
"node_modules",
|
|
2322
1941
|
],
|
|
2323
1942
|
"policy": "pull-push",
|
|
2324
1943
|
},
|
|
2325
1944
|
{
|
|
2326
|
-
"key": "
|
|
1945
|
+
"key": "myWorkspace-next-cache",
|
|
2327
1946
|
"paths": [
|
|
2328
|
-
"api/.next/cache
|
|
1947
|
+
"api/.next/cache",
|
|
1948
|
+
"www/.next/cache",
|
|
2329
1949
|
],
|
|
2330
1950
|
"policy": "pull-push",
|
|
2331
1951
|
},
|
|
@@ -2342,37 +1962,61 @@ EOF
|
|
|
2342
1962
|
},
|
|
2343
1963
|
"script": [
|
|
2344
1964
|
"echo -e "\\e[0Ksection_start:$(date +%s):injectvars[collapsed=true]\\r\\e[0KInjecting variables"",
|
|
2345
|
-
"export ENV_SHORT="prod"",
|
|
2346
|
-
"export APP_DIR="api"",
|
|
2347
|
-
"export ENV_TYPE="prod"",
|
|
2348
|
-
"export BUILD_INFO_BUILD_ID="$(git describe --tags 2>/dev/null || git rev-parse HEAD)"",
|
|
2349
|
-
"export BUILD_INFO_BUILD_TIME="$CI_JOB_STARTED_AT"",
|
|
2350
|
-
"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")"",
|
|
2351
|
-
"export HOST="$(printf %s "pan-test-app-prod-api-$CL_prod_api_GCLOUD_RUN_canonicalHostSuffix" | awk '{print tolower($0)}')"",
|
|
2352
|
-
"export ROOT_URL="https://$(printf %s "pan-test-app-prod-api-$CL_prod_api_GCLOUD_RUN_canonicalHostSuffix" | awk '{print tolower($0)}')"",
|
|
2353
|
-
"export HOST_INTERNAL="$(printf %s "pan-test-app-prod-api-$CL_prod_api_GCLOUD_RUN_canonicalHostSuffix" | awk '{print tolower($0)}')"",
|
|
2354
|
-
"export HOST_CANONICAL="$(printf %s "pan-test-app-prod-api-$CL_prod_api_GCLOUD_RUN_canonicalHostSuffix" | awk '{print tolower($0)}')"",
|
|
2355
|
-
"export ROOT_URL_INTERNAL="https://$(printf %s "pan-test-app-prod-api-$CL_prod_api_GCLOUD_RUN_canonicalHostSuffix" | awk '{print tolower($0)}')"",
|
|
2356
|
-
"export CLOUD_SQL_INSTANCE_CONNECTION_NAME="projectId:region:instancename"",
|
|
2357
|
-
"export DB_NAME="pan-test-app-prod-api"",
|
|
2358
|
-
"export DB_USER="my-user"",
|
|
2359
|
-
"export DB_PASSWORD="$CL_prod_api_DB_PASSWORD"",
|
|
2360
|
-
"export DATABASE_URL="postgresql://$DB_USER:$DB_PASSWORD@localhost/$DB_NAME?host=/cloudsql/$CLOUD_SQL_INSTANCE_CONNECTION_NAME"",
|
|
2361
|
-
"export DATABASE_JDBC_URL="jdbc:postgresql:///$DB_NAME?cloudSqlInstance=$CLOUD_SQL_INSTANCE_CONNECTION_NAME&socketFactory=com.google.cloud.sql.postgres.SocketFactory&user=$DB_USER&password=$DB_PASSWORD"",
|
|
2362
|
-
"export CLOUD_RUN_JOB_TRIGGER_URL_migration="https://europe-west6-run.googleapis.com/apis/run.googleapis.com/v1/namespaces/google-project-id/jobs/pan-test-app-prod-api-migration:run"",
|
|
2363
|
-
"export CLOUD_RUN_JOB_TRIGGER_URL_send_reminders="https://europe-west6-run.googleapis.com/apis/run.googleapis.com/v1/namespaces/google-project-id/jobs/pan-test-app-prod-api-send-reminders:run"",
|
|
2364
|
-
"export DEPLOY_CLOUD_RUN_PROJECT_ID="google-project-id"",
|
|
2365
|
-
"export DEPLOY_CLOUD_RUN_REGION="europe-west6"",
|
|
2366
|
-
"export GCLOUD_DEPLOY_credentialsKey="$CL_prod_api_GCLOUD_DEPLOY_credentialsKey"",
|
|
2367
|
-
"export GCLOUD_RUN_canonicalHostSuffix="$CL_prod_api_GCLOUD_RUN_canonicalHostSuffix"",
|
|
2368
|
-
"export _ALL_ENV_VAR_KEYS="[\\"ENV_SHORT\\",\\"APP_DIR\\",\\"ENV_TYPE\\",\\"BUILD_INFO_BUILD_ID\\",\\"BUILD_INFO_BUILD_TIME\\",\\"BUILD_INFO_CURRENT_VERSION\\",\\"HOST\\",\\"ROOT_URL\\",\\"HOST_INTERNAL\\",\\"HOST_CANONICAL\\",\\"ROOT_URL_INTERNAL\\",\\"CLOUD_SQL_INSTANCE_CONNECTION_NAME\\",\\"DB_NAME\\",\\"DB_USER\\",\\"DB_PASSWORD\\",\\"DATABASE_URL\\",\\"DATABASE_JDBC_URL\\",\\"CLOUD_RUN_JOB_TRIGGER_URL_migration\\",\\"CLOUD_RUN_JOB_TRIGGER_URL_send_reminders\\",\\"DEPLOY_CLOUD_RUN_PROJECT_ID\\",\\"DEPLOY_CLOUD_RUN_REGION\\",\\"GCLOUD_DEPLOY_credentialsKey\\",\\"GCLOUD_RUN_canonicalHostSuffix\\"]"",
|
|
2369
1965
|
"echo -e "\\e[0Ksection_end:$(date +%s):injectvars\\r\\e[0K"",
|
|
2370
|
-
"echo
|
|
1966
|
+
"echo -e "\\e[0Ksection_start:$(date +%s):write-dotenv-api[collapsed=true]\\r\\e[0Kwrite dot env"",
|
|
1967
|
+
"cat <<EOF > api/.env
|
|
1968
|
+
ENV_SHORT=prod
|
|
1969
|
+
APP_DIR=api
|
|
1970
|
+
ENV_TYPE=prod
|
|
1971
|
+
BUILD_INFO_BUILD_ID=$(git describe --tags 2>/dev/null || git rev-parse HEAD)
|
|
1972
|
+
BUILD_INFO_BUILD_TIME=$CI_JOB_STARTED_AT
|
|
1973
|
+
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")
|
|
1974
|
+
HOST=$(printf %s "pan-test-app-prod-api-$CL_prod_api_GCLOUD_RUN_canonicalHostSuffix" | awk '{print tolower($0)}')
|
|
1975
|
+
ROOT_URL=https://$(printf %s "pan-test-app-prod-api-$CL_prod_api_GCLOUD_RUN_canonicalHostSuffix" | awk '{print tolower($0)}')
|
|
1976
|
+
HOST_INTERNAL=$(printf %s "pan-test-app-prod-api-$CL_prod_api_GCLOUD_RUN_canonicalHostSuffix" | awk '{print tolower($0)}')
|
|
1977
|
+
HOST_CANONICAL=$(printf %s "pan-test-app-prod-api-$CL_prod_api_GCLOUD_RUN_canonicalHostSuffix" | awk '{print tolower($0)}')
|
|
1978
|
+
ROOT_URL_INTERNAL=https://$(printf %s "pan-test-app-prod-api-$CL_prod_api_GCLOUD_RUN_canonicalHostSuffix" | awk '{print tolower($0)}')
|
|
1979
|
+
CLOUD_SQL_INSTANCE_CONNECTION_NAME=projectId:region:instancename
|
|
1980
|
+
DB_NAME=pan-test-app-prod-api
|
|
1981
|
+
DB_USER=my-user
|
|
1982
|
+
DB_PASSWORD=$CL_prod_api_DB_PASSWORD
|
|
1983
|
+
DATABASE_URL=postgresql://$DB_USER:$DB_PASSWORD@localhost/$DB_NAME?host=/cloudsql/$CLOUD_SQL_INSTANCE_CONNECTION_NAME
|
|
1984
|
+
DATABASE_JDBC_URL=jdbc:postgresql:///$DB_NAME?cloudSqlInstance=$CLOUD_SQL_INSTANCE_CONNECTION_NAME&socketFactory=com.google.cloud.sql.postgres.SocketFactory&user=$DB_USER&password=$DB_PASSWORD
|
|
1985
|
+
CLOUD_RUN_JOB_TRIGGER_URL_migration=https://europe-west6-run.googleapis.com/apis/run.googleapis.com/v1/namespaces/google-project-id/jobs/pan-test-app-prod-api-migration:run
|
|
1986
|
+
CLOUD_RUN_JOB_TRIGGER_URL_send_reminders=https://europe-west6-run.googleapis.com/apis/run.googleapis.com/v1/namespaces/google-project-id/jobs/pan-test-app-prod-api-send-reminders:run
|
|
1987
|
+
DEPLOY_CLOUD_RUN_PROJECT_ID=google-project-id
|
|
1988
|
+
DEPLOY_CLOUD_RUN_REGION=europe-west6
|
|
1989
|
+
GCLOUD_DEPLOY_credentialsKey=$CL_prod_api_GCLOUD_DEPLOY_credentialsKey
|
|
1990
|
+
GCLOUD_RUN_canonicalHostSuffix=$CL_prod_api_GCLOUD_RUN_canonicalHostSuffix
|
|
1991
|
+
_ALL_ENV_VAR_KEYS=["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_BUILD_ID","BUILD_INFO_BUILD_TIME","BUILD_INFO_CURRENT_VERSION","HOST","ROOT_URL","HOST_INTERNAL","HOST_CANONICAL","ROOT_URL_INTERNAL","CLOUD_SQL_INSTANCE_CONNECTION_NAME","DB_NAME","DB_USER","DB_PASSWORD","DATABASE_URL","DATABASE_JDBC_URL","CLOUD_RUN_JOB_TRIGGER_URL_migration","CLOUD_RUN_JOB_TRIGGER_URL_send_reminders","DEPLOY_CLOUD_RUN_PROJECT_ID","DEPLOY_CLOUD_RUN_REGION","GCLOUD_DEPLOY_credentialsKey","GCLOUD_RUN_canonicalHostSuffix"]
|
|
1992
|
+
EOF",
|
|
1993
|
+
"echo -e "\\e[0Ksection_end:$(date +%s):write-dotenv-api\\r\\e[0K"",
|
|
1994
|
+
"echo -e "\\e[0Ksection_start:$(date +%s):write-dotenv-www[collapsed=true]\\r\\e[0Kwrite dot env"",
|
|
1995
|
+
"cat <<EOF > www/.env
|
|
1996
|
+
ENV_SHORT=prod
|
|
1997
|
+
APP_DIR=www
|
|
1998
|
+
ENV_TYPE=prod
|
|
1999
|
+
BUILD_INFO_BUILD_ID=$(git describe --tags 2>/dev/null || git rev-parse HEAD)
|
|
2000
|
+
BUILD_INFO_BUILD_TIME=$CI_JOB_STARTED_AT
|
|
2001
|
+
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")
|
|
2002
|
+
HOST=$(printf %s "pan-test-app-prod-www-$CL_prod_www_GCLOUD_RUN_canonicalHostSuffix" | awk '{print tolower($0)}')
|
|
2003
|
+
ROOT_URL=https://$(printf %s "pan-test-app-prod-www-$CL_prod_www_GCLOUD_RUN_canonicalHostSuffix" | awk '{print tolower($0)}')
|
|
2004
|
+
HOST_INTERNAL=$(printf %s "pan-test-app-prod-www-$CL_prod_www_GCLOUD_RUN_canonicalHostSuffix" | awk '{print tolower($0)}')
|
|
2005
|
+
HOST_CANONICAL=$(printf %s "pan-test-app-prod-www-$CL_prod_www_GCLOUD_RUN_canonicalHostSuffix" | awk '{print tolower($0)}')
|
|
2006
|
+
ROOT_URL_INTERNAL=https://$(printf %s "pan-test-app-prod-www-$CL_prod_www_GCLOUD_RUN_canonicalHostSuffix" | awk '{print tolower($0)}')
|
|
2007
|
+
DEPLOY_CLOUD_RUN_PROJECT_ID=google-project-id
|
|
2008
|
+
DEPLOY_CLOUD_RUN_REGION=europe-west6
|
|
2009
|
+
GCLOUD_DEPLOY_credentialsKey=$CL_prod_www_GCLOUD_DEPLOY_credentialsKey
|
|
2010
|
+
GCLOUD_RUN_canonicalHostSuffix=$CL_prod_www_GCLOUD_RUN_canonicalHostSuffix
|
|
2011
|
+
API_URL=https://$(printf %s "pan-test-app-prod-api-$CL_prod_api_GCLOUD_RUN_canonicalHostSuffix" | awk '{print tolower($0)}')/graphql
|
|
2012
|
+
_ALL_ENV_VAR_KEYS=["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_BUILD_ID","BUILD_INFO_BUILD_TIME","BUILD_INFO_CURRENT_VERSION","HOST","ROOT_URL","HOST_INTERNAL","HOST_CANONICAL","ROOT_URL_INTERNAL","DEPLOY_CLOUD_RUN_PROJECT_ID","DEPLOY_CLOUD_RUN_REGION","GCLOUD_DEPLOY_credentialsKey","GCLOUD_RUN_canonicalHostSuffix","API_URL"]
|
|
2013
|
+
EOF",
|
|
2014
|
+
"echo -e "\\e[0Ksection_end:$(date +%s):write-dotenv-www\\r\\e[0K"",
|
|
2371
2015
|
"echo -e "\\e[0Ksection_start:$(date +%s):nodeinstall[collapsed=true]\\r\\e[0KEnsure node version"",
|
|
2372
2016
|
"if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi",
|
|
2373
2017
|
"if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi",
|
|
2374
2018
|
"echo -e "\\e[0Ksection_end:$(date +%s):nodeinstall\\r\\e[0K"",
|
|
2375
|
-
"cd
|
|
2019
|
+
"cd .",
|
|
2376
2020
|
"echo -e "\\e[0Ksection_start:$(date +%s):nodeinstall[collapsed=true]\\r\\e[0KEnsure node version"",
|
|
2377
2021
|
"if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi",
|
|
2378
2022
|
"if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi",
|
|
@@ -2389,38 +2033,42 @@ EOF
|
|
|
2389
2033
|
"KUBERNETES_MEMORY_REQUEST": "2Gi",
|
|
2390
2034
|
},
|
|
2391
2035
|
},
|
|
2392
|
-
"
|
|
2036
|
+
"๐ธ myWorkspace ๐จ app | stage ": {
|
|
2393
2037
|
"artifacts": {
|
|
2038
|
+
"exclude": [
|
|
2039
|
+
"api/.env",
|
|
2040
|
+
"www/.env",
|
|
2041
|
+
],
|
|
2394
2042
|
"expire_in": "1 day",
|
|
2395
2043
|
"paths": [
|
|
2396
|
-
"api/__build_info.json",
|
|
2397
|
-
"api/dist",
|
|
2398
2044
|
"api/.next",
|
|
2045
|
+
"api/dist",
|
|
2046
|
+
"www/.next",
|
|
2047
|
+
"www/dist",
|
|
2399
2048
|
],
|
|
2400
|
-
"reports": {
|
|
2401
|
-
"junit": undefined,
|
|
2402
|
-
},
|
|
2049
|
+
"reports": {},
|
|
2403
2050
|
"when": "always",
|
|
2404
2051
|
},
|
|
2405
2052
|
"cache": [
|
|
2406
2053
|
{
|
|
2407
|
-
"key": "
|
|
2054
|
+
"key": ".-yarn",
|
|
2408
2055
|
"paths": [
|
|
2409
|
-
"
|
|
2056
|
+
".yarn",
|
|
2410
2057
|
],
|
|
2411
2058
|
"policy": "pull-push",
|
|
2412
2059
|
},
|
|
2413
2060
|
{
|
|
2414
|
-
"key": "
|
|
2061
|
+
"key": ".-node-modules",
|
|
2415
2062
|
"paths": [
|
|
2416
|
-
"
|
|
2063
|
+
"node_modules",
|
|
2417
2064
|
],
|
|
2418
2065
|
"policy": "pull-push",
|
|
2419
2066
|
},
|
|
2420
2067
|
{
|
|
2421
|
-
"key": "
|
|
2068
|
+
"key": "myWorkspace-next-cache",
|
|
2422
2069
|
"paths": [
|
|
2423
|
-
"api/.next/cache
|
|
2070
|
+
"api/.next/cache",
|
|
2071
|
+
"www/.next/cache",
|
|
2424
2072
|
],
|
|
2425
2073
|
"policy": "pull-push",
|
|
2426
2074
|
},
|
|
@@ -2437,37 +2085,61 @@ EOF
|
|
|
2437
2085
|
},
|
|
2438
2086
|
"script": [
|
|
2439
2087
|
"echo -e "\\e[0Ksection_start:$(date +%s):injectvars[collapsed=true]\\r\\e[0KInjecting variables"",
|
|
2440
|
-
"export ENV_SHORT="stage"",
|
|
2441
|
-
"export APP_DIR="api"",
|
|
2442
|
-
"export ENV_TYPE="stage"",
|
|
2443
|
-
"export BUILD_INFO_BUILD_ID="$(git describe --tags 2>/dev/null || git rev-parse HEAD)"",
|
|
2444
|
-
"export BUILD_INFO_BUILD_TIME="$CI_JOB_STARTED_AT"",
|
|
2445
|
-
"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")"",
|
|
2446
|
-
"export HOST="$(printf %s "pan-test-app-stage-api-$CL_stage_api_GCLOUD_RUN_canonicalHostSuffix" | awk '{print tolower($0)}')"",
|
|
2447
|
-
"export ROOT_URL="https://$(printf %s "pan-test-app-stage-api-$CL_stage_api_GCLOUD_RUN_canonicalHostSuffix" | awk '{print tolower($0)}')"",
|
|
2448
|
-
"export HOST_INTERNAL="$(printf %s "pan-test-app-stage-api-$CL_stage_api_GCLOUD_RUN_canonicalHostSuffix" | awk '{print tolower($0)}')"",
|
|
2449
|
-
"export HOST_CANONICAL="$(printf %s "pan-test-app-stage-api-$CL_stage_api_GCLOUD_RUN_canonicalHostSuffix" | awk '{print tolower($0)}')"",
|
|
2450
|
-
"export ROOT_URL_INTERNAL="https://$(printf %s "pan-test-app-stage-api-$CL_stage_api_GCLOUD_RUN_canonicalHostSuffix" | awk '{print tolower($0)}')"",
|
|
2451
|
-
"export CLOUD_SQL_INSTANCE_CONNECTION_NAME="projectId:region:instancename"",
|
|
2452
|
-
"export DB_NAME="pan-test-app-stage-api"",
|
|
2453
|
-
"export DB_USER="my-user"",
|
|
2454
|
-
"export DB_PASSWORD="$CL_stage_api_DB_PASSWORD"",
|
|
2455
|
-
"export DATABASE_URL="postgresql://$DB_USER:$DB_PASSWORD@localhost/$DB_NAME?host=/cloudsql/$CLOUD_SQL_INSTANCE_CONNECTION_NAME"",
|
|
2456
|
-
"export DATABASE_JDBC_URL="jdbc:postgresql:///$DB_NAME?cloudSqlInstance=$CLOUD_SQL_INSTANCE_CONNECTION_NAME&socketFactory=com.google.cloud.sql.postgres.SocketFactory&user=$DB_USER&password=$DB_PASSWORD"",
|
|
2457
|
-
"export CLOUD_RUN_JOB_TRIGGER_URL_migration="https://europe-west6-run.googleapis.com/apis/run.googleapis.com/v1/namespaces/google-project-id/jobs/pan-test-app-stage-api-migration:run"",
|
|
2458
|
-
"export CLOUD_RUN_JOB_TRIGGER_URL_send_reminders="https://europe-west6-run.googleapis.com/apis/run.googleapis.com/v1/namespaces/google-project-id/jobs/pan-test-app-stage-api-send-reminders:run"",
|
|
2459
|
-
"export DEPLOY_CLOUD_RUN_PROJECT_ID="google-project-id"",
|
|
2460
|
-
"export DEPLOY_CLOUD_RUN_REGION="europe-west6"",
|
|
2461
|
-
"export GCLOUD_DEPLOY_credentialsKey="$CL_stage_api_GCLOUD_DEPLOY_credentialsKey"",
|
|
2462
|
-
"export GCLOUD_RUN_canonicalHostSuffix="$CL_stage_api_GCLOUD_RUN_canonicalHostSuffix"",
|
|
2463
|
-
"export _ALL_ENV_VAR_KEYS="[\\"ENV_SHORT\\",\\"APP_DIR\\",\\"ENV_TYPE\\",\\"BUILD_INFO_BUILD_ID\\",\\"BUILD_INFO_BUILD_TIME\\",\\"BUILD_INFO_CURRENT_VERSION\\",\\"HOST\\",\\"ROOT_URL\\",\\"HOST_INTERNAL\\",\\"HOST_CANONICAL\\",\\"ROOT_URL_INTERNAL\\",\\"CLOUD_SQL_INSTANCE_CONNECTION_NAME\\",\\"DB_NAME\\",\\"DB_USER\\",\\"DB_PASSWORD\\",\\"DATABASE_URL\\",\\"DATABASE_JDBC_URL\\",\\"CLOUD_RUN_JOB_TRIGGER_URL_migration\\",\\"CLOUD_RUN_JOB_TRIGGER_URL_send_reminders\\",\\"DEPLOY_CLOUD_RUN_PROJECT_ID\\",\\"DEPLOY_CLOUD_RUN_REGION\\",\\"GCLOUD_DEPLOY_credentialsKey\\",\\"GCLOUD_RUN_canonicalHostSuffix\\"]"",
|
|
2464
2088
|
"echo -e "\\e[0Ksection_end:$(date +%s):injectvars\\r\\e[0K"",
|
|
2465
|
-
"echo
|
|
2089
|
+
"echo -e "\\e[0Ksection_start:$(date +%s):write-dotenv-api[collapsed=true]\\r\\e[0Kwrite dot env"",
|
|
2090
|
+
"cat <<EOF > api/.env
|
|
2091
|
+
ENV_SHORT=stage
|
|
2092
|
+
APP_DIR=api
|
|
2093
|
+
ENV_TYPE=stage
|
|
2094
|
+
BUILD_INFO_BUILD_ID=$(git describe --tags 2>/dev/null || git rev-parse HEAD)
|
|
2095
|
+
BUILD_INFO_BUILD_TIME=$CI_JOB_STARTED_AT
|
|
2096
|
+
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")
|
|
2097
|
+
HOST=$(printf %s "pan-test-app-stage-api-$CL_stage_api_GCLOUD_RUN_canonicalHostSuffix" | awk '{print tolower($0)}')
|
|
2098
|
+
ROOT_URL=https://$(printf %s "pan-test-app-stage-api-$CL_stage_api_GCLOUD_RUN_canonicalHostSuffix" | awk '{print tolower($0)}')
|
|
2099
|
+
HOST_INTERNAL=$(printf %s "pan-test-app-stage-api-$CL_stage_api_GCLOUD_RUN_canonicalHostSuffix" | awk '{print tolower($0)}')
|
|
2100
|
+
HOST_CANONICAL=$(printf %s "pan-test-app-stage-api-$CL_stage_api_GCLOUD_RUN_canonicalHostSuffix" | awk '{print tolower($0)}')
|
|
2101
|
+
ROOT_URL_INTERNAL=https://$(printf %s "pan-test-app-stage-api-$CL_stage_api_GCLOUD_RUN_canonicalHostSuffix" | awk '{print tolower($0)}')
|
|
2102
|
+
CLOUD_SQL_INSTANCE_CONNECTION_NAME=projectId:region:instancename
|
|
2103
|
+
DB_NAME=pan-test-app-stage-api
|
|
2104
|
+
DB_USER=my-user
|
|
2105
|
+
DB_PASSWORD=$CL_stage_api_DB_PASSWORD
|
|
2106
|
+
DATABASE_URL=postgresql://$DB_USER:$DB_PASSWORD@localhost/$DB_NAME?host=/cloudsql/$CLOUD_SQL_INSTANCE_CONNECTION_NAME
|
|
2107
|
+
DATABASE_JDBC_URL=jdbc:postgresql:///$DB_NAME?cloudSqlInstance=$CLOUD_SQL_INSTANCE_CONNECTION_NAME&socketFactory=com.google.cloud.sql.postgres.SocketFactory&user=$DB_USER&password=$DB_PASSWORD
|
|
2108
|
+
CLOUD_RUN_JOB_TRIGGER_URL_migration=https://europe-west6-run.googleapis.com/apis/run.googleapis.com/v1/namespaces/google-project-id/jobs/pan-test-app-stage-api-migration:run
|
|
2109
|
+
CLOUD_RUN_JOB_TRIGGER_URL_send_reminders=https://europe-west6-run.googleapis.com/apis/run.googleapis.com/v1/namespaces/google-project-id/jobs/pan-test-app-stage-api-send-reminders:run
|
|
2110
|
+
DEPLOY_CLOUD_RUN_PROJECT_ID=google-project-id
|
|
2111
|
+
DEPLOY_CLOUD_RUN_REGION=europe-west6
|
|
2112
|
+
GCLOUD_DEPLOY_credentialsKey=$CL_stage_api_GCLOUD_DEPLOY_credentialsKey
|
|
2113
|
+
GCLOUD_RUN_canonicalHostSuffix=$CL_stage_api_GCLOUD_RUN_canonicalHostSuffix
|
|
2114
|
+
_ALL_ENV_VAR_KEYS=["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_BUILD_ID","BUILD_INFO_BUILD_TIME","BUILD_INFO_CURRENT_VERSION","HOST","ROOT_URL","HOST_INTERNAL","HOST_CANONICAL","ROOT_URL_INTERNAL","CLOUD_SQL_INSTANCE_CONNECTION_NAME","DB_NAME","DB_USER","DB_PASSWORD","DATABASE_URL","DATABASE_JDBC_URL","CLOUD_RUN_JOB_TRIGGER_URL_migration","CLOUD_RUN_JOB_TRIGGER_URL_send_reminders","DEPLOY_CLOUD_RUN_PROJECT_ID","DEPLOY_CLOUD_RUN_REGION","GCLOUD_DEPLOY_credentialsKey","GCLOUD_RUN_canonicalHostSuffix"]
|
|
2115
|
+
EOF",
|
|
2116
|
+
"echo -e "\\e[0Ksection_end:$(date +%s):write-dotenv-api\\r\\e[0K"",
|
|
2117
|
+
"echo -e "\\e[0Ksection_start:$(date +%s):write-dotenv-www[collapsed=true]\\r\\e[0Kwrite dot env"",
|
|
2118
|
+
"cat <<EOF > www/.env
|
|
2119
|
+
ENV_SHORT=stage
|
|
2120
|
+
APP_DIR=www
|
|
2121
|
+
ENV_TYPE=stage
|
|
2122
|
+
BUILD_INFO_BUILD_ID=$(git describe --tags 2>/dev/null || git rev-parse HEAD)
|
|
2123
|
+
BUILD_INFO_BUILD_TIME=$CI_JOB_STARTED_AT
|
|
2124
|
+
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")
|
|
2125
|
+
HOST=$(printf %s "pan-test-app-stage-www-$CL_stage_www_GCLOUD_RUN_canonicalHostSuffix" | awk '{print tolower($0)}')
|
|
2126
|
+
ROOT_URL=https://$(printf %s "pan-test-app-stage-www-$CL_stage_www_GCLOUD_RUN_canonicalHostSuffix" | awk '{print tolower($0)}')
|
|
2127
|
+
HOST_INTERNAL=$(printf %s "pan-test-app-stage-www-$CL_stage_www_GCLOUD_RUN_canonicalHostSuffix" | awk '{print tolower($0)}')
|
|
2128
|
+
HOST_CANONICAL=$(printf %s "pan-test-app-stage-www-$CL_stage_www_GCLOUD_RUN_canonicalHostSuffix" | awk '{print tolower($0)}')
|
|
2129
|
+
ROOT_URL_INTERNAL=https://$(printf %s "pan-test-app-stage-www-$CL_stage_www_GCLOUD_RUN_canonicalHostSuffix" | awk '{print tolower($0)}')
|
|
2130
|
+
DEPLOY_CLOUD_RUN_PROJECT_ID=google-project-id
|
|
2131
|
+
DEPLOY_CLOUD_RUN_REGION=europe-west6
|
|
2132
|
+
GCLOUD_DEPLOY_credentialsKey=$CL_stage_www_GCLOUD_DEPLOY_credentialsKey
|
|
2133
|
+
GCLOUD_RUN_canonicalHostSuffix=$CL_stage_www_GCLOUD_RUN_canonicalHostSuffix
|
|
2134
|
+
API_URL=https://$(printf %s "pan-test-app-stage-api-$CL_stage_api_GCLOUD_RUN_canonicalHostSuffix" | awk '{print tolower($0)}')/graphql
|
|
2135
|
+
_ALL_ENV_VAR_KEYS=["ENV_SHORT","APP_DIR","ENV_TYPE","BUILD_INFO_BUILD_ID","BUILD_INFO_BUILD_TIME","BUILD_INFO_CURRENT_VERSION","HOST","ROOT_URL","HOST_INTERNAL","HOST_CANONICAL","ROOT_URL_INTERNAL","DEPLOY_CLOUD_RUN_PROJECT_ID","DEPLOY_CLOUD_RUN_REGION","GCLOUD_DEPLOY_credentialsKey","GCLOUD_RUN_canonicalHostSuffix","API_URL"]
|
|
2136
|
+
EOF",
|
|
2137
|
+
"echo -e "\\e[0Ksection_end:$(date +%s):write-dotenv-www\\r\\e[0K"",
|
|
2466
2138
|
"echo -e "\\e[0Ksection_start:$(date +%s):nodeinstall[collapsed=true]\\r\\e[0KEnsure node version"",
|
|
2467
2139
|
"if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi",
|
|
2468
2140
|
"if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi",
|
|
2469
2141
|
"echo -e "\\e[0Ksection_end:$(date +%s):nodeinstall\\r\\e[0K"",
|
|
2470
|
-
"cd
|
|
2142
|
+
"cd .",
|
|
2471
2143
|
"echo -e "\\e[0Ksection_start:$(date +%s):nodeinstall[collapsed=true]\\r\\e[0KEnsure node version"",
|
|
2472
2144
|
"if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi",
|
|
2473
2145
|
"if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi",
|
|
@@ -2484,7 +2156,7 @@ EOF
|
|
|
2484
2156
|
"KUBERNETES_MEMORY_REQUEST": "2Gi",
|
|
2485
2157
|
},
|
|
2486
2158
|
},
|
|
2487
|
-
"api ๐จ docker | prod ": {
|
|
2159
|
+
"๐น api ๐จ docker | prod ": {
|
|
2488
2160
|
"cache": [
|
|
2489
2161
|
{
|
|
2490
2162
|
"key": "api-yarn",
|
|
@@ -2497,7 +2169,10 @@ EOF
|
|
|
2497
2169
|
"image": "path/to/docker/docker-build:the-version",
|
|
2498
2170
|
"interruptible": true,
|
|
2499
2171
|
"needs": [
|
|
2500
|
-
|
|
2172
|
+
{
|
|
2173
|
+
"artifacts": true,
|
|
2174
|
+
"job": "๐ธ myWorkspace ๐จ app | prod ",
|
|
2175
|
+
},
|
|
2501
2176
|
],
|
|
2502
2177
|
"retry": {
|
|
2503
2178
|
"max": 2,
|
|
@@ -2555,7 +2230,7 @@ COPY --chown=node:node .yarn /app/.yarn"",
|
|
|
2555
2230
|
"KUBERNETES_MEMORY_REQUEST": "1Gi",
|
|
2556
2231
|
},
|
|
2557
2232
|
},
|
|
2558
|
-
"api ๐จ docker | stage ": {
|
|
2233
|
+
"๐น api ๐จ docker | stage ": {
|
|
2559
2234
|
"cache": [
|
|
2560
2235
|
{
|
|
2561
2236
|
"key": "api-yarn",
|
|
@@ -2568,7 +2243,10 @@ COPY --chown=node:node .yarn /app/.yarn"",
|
|
|
2568
2243
|
"image": "path/to/docker/docker-build:the-version",
|
|
2569
2244
|
"interruptible": true,
|
|
2570
2245
|
"needs": [
|
|
2571
|
-
|
|
2246
|
+
{
|
|
2247
|
+
"artifacts": true,
|
|
2248
|
+
"job": "๐ธ myWorkspace ๐จ app | stage ",
|
|
2249
|
+
},
|
|
2572
2250
|
],
|
|
2573
2251
|
"retry": {
|
|
2574
2252
|
"max": 2,
|
|
@@ -2626,7 +2304,7 @@ COPY --chown=node:node .yarn /app/.yarn"",
|
|
|
2626
2304
|
"KUBERNETES_MEMORY_REQUEST": "1Gi",
|
|
2627
2305
|
},
|
|
2628
2306
|
},
|
|
2629
|
-
"api ๐ Deploy | prod ": {
|
|
2307
|
+
"๐น api ๐ Deploy | prod ": {
|
|
2630
2308
|
"allow_failure": true,
|
|
2631
2309
|
"artifacts": {
|
|
2632
2310
|
"reports": {
|
|
@@ -2636,7 +2314,7 @@ COPY --chown=node:node .yarn /app/.yarn"",
|
|
|
2636
2314
|
"environment": {
|
|
2637
2315
|
"auto_stop_in": undefined,
|
|
2638
2316
|
"name": "prod/api",
|
|
2639
|
-
"on_stop": "api ๐ Stop โ ๏ธ | prod ",
|
|
2317
|
+
"on_stop": "๐น api ๐ Stop โ ๏ธ | prod ",
|
|
2640
2318
|
"url": "$CL_GITLAB_ENVIRONMENT_URL",
|
|
2641
2319
|
},
|
|
2642
2320
|
"image": "path/to/docker/gcloud:the-version",
|
|
@@ -2644,15 +2322,11 @@ COPY --chown=node:node .yarn /app/.yarn"",
|
|
|
2644
2322
|
"needs": [
|
|
2645
2323
|
{
|
|
2646
2324
|
"artifacts": false,
|
|
2647
|
-
"job": "api ๐จ
|
|
2648
|
-
},
|
|
2649
|
-
{
|
|
2650
|
-
"artifacts": false,
|
|
2651
|
-
"job": "api ๐จ docker | prod ",
|
|
2325
|
+
"job": "๐น api ๐จ docker | prod ",
|
|
2652
2326
|
},
|
|
2653
2327
|
{
|
|
2654
2328
|
"artifacts": true,
|
|
2655
|
-
"job": "api ๐งพ sbom | prod ",
|
|
2329
|
+
"job": "๐น api ๐งพ sbom | prod ",
|
|
2656
2330
|
},
|
|
2657
2331
|
],
|
|
2658
2332
|
"retry": {
|
|
@@ -2792,7 +2466,7 @@ EOF
|
|
|
2792
2466
|
"KUBERNETES_MEMORY_REQUEST": "200Mi",
|
|
2793
2467
|
},
|
|
2794
2468
|
},
|
|
2795
|
-
"api ๐ Deploy | stage ": {
|
|
2469
|
+
"๐น api ๐ Deploy | stage ": {
|
|
2796
2470
|
"allow_failure": false,
|
|
2797
2471
|
"artifacts": {
|
|
2798
2472
|
"reports": {
|
|
@@ -2802,7 +2476,7 @@ EOF
|
|
|
2802
2476
|
"environment": {
|
|
2803
2477
|
"auto_stop_in": undefined,
|
|
2804
2478
|
"name": "stage/api",
|
|
2805
|
-
"on_stop": "api ๐ Stop โ ๏ธ | stage ",
|
|
2479
|
+
"on_stop": "๐น api ๐ Stop โ ๏ธ | stage ",
|
|
2806
2480
|
"url": "$CL_GITLAB_ENVIRONMENT_URL",
|
|
2807
2481
|
},
|
|
2808
2482
|
"image": "path/to/docker/gcloud:the-version",
|
|
@@ -2810,15 +2484,11 @@ EOF
|
|
|
2810
2484
|
"needs": [
|
|
2811
2485
|
{
|
|
2812
2486
|
"artifacts": false,
|
|
2813
|
-
"job": "api ๐จ
|
|
2814
|
-
},
|
|
2815
|
-
{
|
|
2816
|
-
"artifacts": false,
|
|
2817
|
-
"job": "api ๐จ docker | stage ",
|
|
2487
|
+
"job": "๐น api ๐จ docker | stage ",
|
|
2818
2488
|
},
|
|
2819
2489
|
{
|
|
2820
2490
|
"artifacts": true,
|
|
2821
|
-
"job": "api ๐งพ sbom | stage ",
|
|
2491
|
+
"job": "๐น api ๐งพ sbom | stage ",
|
|
2822
2492
|
},
|
|
2823
2493
|
],
|
|
2824
2494
|
"retry": {
|
|
@@ -2958,7 +2628,7 @@ EOF
|
|
|
2958
2628
|
"KUBERNETES_MEMORY_REQUEST": "200Mi",
|
|
2959
2629
|
},
|
|
2960
2630
|
},
|
|
2961
|
-
"api ๐ Stop โ ๏ธ | prod ": {
|
|
2631
|
+
"๐น api ๐ Stop โ ๏ธ | prod ": {
|
|
2962
2632
|
"allow_failure": true,
|
|
2963
2633
|
"artifacts": {
|
|
2964
2634
|
"reports": {
|
|
@@ -3016,7 +2686,7 @@ EOF
|
|
|
3016
2686
|
"KUBERNETES_MEMORY_REQUEST": "200Mi",
|
|
3017
2687
|
},
|
|
3018
2688
|
},
|
|
3019
|
-
"api ๐ Stop โ ๏ธ | stage ": {
|
|
2689
|
+
"๐น api ๐ Stop โ ๏ธ | stage ": {
|
|
3020
2690
|
"allow_failure": true,
|
|
3021
2691
|
"artifacts": {
|
|
3022
2692
|
"reports": {
|
|
@@ -3074,7 +2744,7 @@ EOF
|
|
|
3074
2744
|
"KUBERNETES_MEMORY_REQUEST": "200Mi",
|
|
3075
2745
|
},
|
|
3076
2746
|
},
|
|
3077
|
-
"api ๐งพ sbom | prod ": {
|
|
2747
|
+
"๐น api ๐งพ sbom | prod ": {
|
|
3078
2748
|
"allow_failure": true,
|
|
3079
2749
|
"artifacts": {
|
|
3080
2750
|
"paths": [
|
|
@@ -3099,7 +2769,7 @@ EOF
|
|
|
3099
2769
|
"stage": "build",
|
|
3100
2770
|
"variables": {},
|
|
3101
2771
|
},
|
|
3102
|
-
"api ๐งพ sbom | stage ": {
|
|
2772
|
+
"๐น api ๐งพ sbom | stage ": {
|
|
3103
2773
|
"allow_failure": true,
|
|
3104
2774
|
"artifacts": {
|
|
3105
2775
|
"paths": [
|
|
@@ -3124,183 +2794,7 @@ EOF
|
|
|
3124
2794
|
"stage": "build",
|
|
3125
2795
|
"variables": {},
|
|
3126
2796
|
},
|
|
3127
|
-
"www ๐จ
|
|
3128
|
-
"artifacts": {
|
|
3129
|
-
"expire_in": "1 day",
|
|
3130
|
-
"paths": [
|
|
3131
|
-
"www/__build_info.json",
|
|
3132
|
-
"www/dist",
|
|
3133
|
-
"www/.next",
|
|
3134
|
-
],
|
|
3135
|
-
"reports": {
|
|
3136
|
-
"junit": undefined,
|
|
3137
|
-
},
|
|
3138
|
-
"when": "always",
|
|
3139
|
-
},
|
|
3140
|
-
"cache": [
|
|
3141
|
-
{
|
|
3142
|
-
"key": "www-yarn",
|
|
3143
|
-
"paths": [
|
|
3144
|
-
"www/.yarn",
|
|
3145
|
-
],
|
|
3146
|
-
"policy": "pull-push",
|
|
3147
|
-
},
|
|
3148
|
-
{
|
|
3149
|
-
"key": "www-node-modules",
|
|
3150
|
-
"paths": [
|
|
3151
|
-
"www/node_modules",
|
|
3152
|
-
],
|
|
3153
|
-
"policy": "pull-push",
|
|
3154
|
-
},
|
|
3155
|
-
{
|
|
3156
|
-
"key": "www-next-cache",
|
|
3157
|
-
"paths": [
|
|
3158
|
-
"www/.next/cache/",
|
|
3159
|
-
],
|
|
3160
|
-
"policy": "pull-push",
|
|
3161
|
-
},
|
|
3162
|
-
],
|
|
3163
|
-
"image": "path/to/docker/jobs-default:the-version",
|
|
3164
|
-
"interruptible": true,
|
|
3165
|
-
"needs": [],
|
|
3166
|
-
"retry": {
|
|
3167
|
-
"max": 2,
|
|
3168
|
-
"when": [
|
|
3169
|
-
"runner_system_failure",
|
|
3170
|
-
"stuck_or_timeout_failure",
|
|
3171
|
-
],
|
|
3172
|
-
},
|
|
3173
|
-
"script": [
|
|
3174
|
-
"echo -e "\\e[0Ksection_start:$(date +%s):injectvars[collapsed=true]\\r\\e[0KInjecting variables"",
|
|
3175
|
-
"export ENV_SHORT="prod"",
|
|
3176
|
-
"export APP_DIR="www"",
|
|
3177
|
-
"export ENV_TYPE="prod"",
|
|
3178
|
-
"export BUILD_INFO_BUILD_ID="$(git describe --tags 2>/dev/null || git rev-parse HEAD)"",
|
|
3179
|
-
"export BUILD_INFO_BUILD_TIME="$CI_JOB_STARTED_AT"",
|
|
3180
|
-
"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")"",
|
|
3181
|
-
"export HOST="$(printf %s "pan-test-app-prod-www-$CL_prod_www_GCLOUD_RUN_canonicalHostSuffix" | awk '{print tolower($0)}')"",
|
|
3182
|
-
"export ROOT_URL="https://$(printf %s "pan-test-app-prod-www-$CL_prod_www_GCLOUD_RUN_canonicalHostSuffix" | awk '{print tolower($0)}')"",
|
|
3183
|
-
"export HOST_INTERNAL="$(printf %s "pan-test-app-prod-www-$CL_prod_www_GCLOUD_RUN_canonicalHostSuffix" | awk '{print tolower($0)}')"",
|
|
3184
|
-
"export HOST_CANONICAL="$(printf %s "pan-test-app-prod-www-$CL_prod_www_GCLOUD_RUN_canonicalHostSuffix" | awk '{print tolower($0)}')"",
|
|
3185
|
-
"export ROOT_URL_INTERNAL="https://$(printf %s "pan-test-app-prod-www-$CL_prod_www_GCLOUD_RUN_canonicalHostSuffix" | awk '{print tolower($0)}')"",
|
|
3186
|
-
"export DEPLOY_CLOUD_RUN_PROJECT_ID="google-project-id"",
|
|
3187
|
-
"export DEPLOY_CLOUD_RUN_REGION="europe-west6"",
|
|
3188
|
-
"export GCLOUD_DEPLOY_credentialsKey="$CL_prod_www_GCLOUD_DEPLOY_credentialsKey"",
|
|
3189
|
-
"export GCLOUD_RUN_canonicalHostSuffix="$CL_prod_www_GCLOUD_RUN_canonicalHostSuffix"",
|
|
3190
|
-
"export API_URL="https://$(printf %s "pan-test-app-prod-api-$CL_prod_api_GCLOUD_RUN_canonicalHostSuffix" | awk '{print tolower($0)}')/graphql"",
|
|
3191
|
-
"export _ALL_ENV_VAR_KEYS="[\\"ENV_SHORT\\",\\"APP_DIR\\",\\"ENV_TYPE\\",\\"BUILD_INFO_BUILD_ID\\",\\"BUILD_INFO_BUILD_TIME\\",\\"BUILD_INFO_CURRENT_VERSION\\",\\"HOST\\",\\"ROOT_URL\\",\\"HOST_INTERNAL\\",\\"HOST_CANONICAL\\",\\"ROOT_URL_INTERNAL\\",\\"DEPLOY_CLOUD_RUN_PROJECT_ID\\",\\"DEPLOY_CLOUD_RUN_REGION\\",\\"GCLOUD_DEPLOY_credentialsKey\\",\\"GCLOUD_RUN_canonicalHostSuffix\\",\\"API_URL\\"]"",
|
|
3192
|
-
"echo -e "\\e[0Ksection_end:$(date +%s):injectvars\\r\\e[0K"",
|
|
3193
|
-
"echo '{"id":"$(git describe --tags 2>/dev/null || git rev-parse HEAD)","time":"$CI_JOB_STARTED_AT"}' > www/__build_info.json",
|
|
3194
|
-
"echo -e "\\e[0Ksection_start:$(date +%s):nodeinstall[collapsed=true]\\r\\e[0KEnsure node version"",
|
|
3195
|
-
"if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi",
|
|
3196
|
-
"if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi",
|
|
3197
|
-
"echo -e "\\e[0Ksection_end:$(date +%s):nodeinstall\\r\\e[0K"",
|
|
3198
|
-
"cd www",
|
|
3199
|
-
"echo -e "\\e[0Ksection_start:$(date +%s):nodeinstall[collapsed=true]\\r\\e[0KEnsure node version"",
|
|
3200
|
-
"if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi",
|
|
3201
|
-
"if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi",
|
|
3202
|
-
"echo -e "\\e[0Ksection_end:$(date +%s):nodeinstall\\r\\e[0K"",
|
|
3203
|
-
"echo -e "\\e[0Ksection_start:$(date +%s):yarninstall[collapsed=true]\\r\\e[0KYarn install"",
|
|
3204
|
-
"yarn install --immutable",
|
|
3205
|
-
"echo -e "\\e[0Ksection_end:$(date +%s):yarninstall\\r\\e[0K"",
|
|
3206
|
-
"yarn build",
|
|
3207
|
-
],
|
|
3208
|
-
"stage": "build",
|
|
3209
|
-
"variables": {
|
|
3210
|
-
"KUBERNETES_CPU_REQUEST": "0.5",
|
|
3211
|
-
"KUBERNETES_MEMORY_LIMIT": "4Gi",
|
|
3212
|
-
"KUBERNETES_MEMORY_REQUEST": "2Gi",
|
|
3213
|
-
},
|
|
3214
|
-
},
|
|
3215
|
-
"www ๐จ app | stage ": {
|
|
3216
|
-
"artifacts": {
|
|
3217
|
-
"expire_in": "1 day",
|
|
3218
|
-
"paths": [
|
|
3219
|
-
"www/__build_info.json",
|
|
3220
|
-
"www/dist",
|
|
3221
|
-
"www/.next",
|
|
3222
|
-
],
|
|
3223
|
-
"reports": {
|
|
3224
|
-
"junit": undefined,
|
|
3225
|
-
},
|
|
3226
|
-
"when": "always",
|
|
3227
|
-
},
|
|
3228
|
-
"cache": [
|
|
3229
|
-
{
|
|
3230
|
-
"key": "www-yarn",
|
|
3231
|
-
"paths": [
|
|
3232
|
-
"www/.yarn",
|
|
3233
|
-
],
|
|
3234
|
-
"policy": "pull-push",
|
|
3235
|
-
},
|
|
3236
|
-
{
|
|
3237
|
-
"key": "www-node-modules",
|
|
3238
|
-
"paths": [
|
|
3239
|
-
"www/node_modules",
|
|
3240
|
-
],
|
|
3241
|
-
"policy": "pull-push",
|
|
3242
|
-
},
|
|
3243
|
-
{
|
|
3244
|
-
"key": "www-next-cache",
|
|
3245
|
-
"paths": [
|
|
3246
|
-
"www/.next/cache/",
|
|
3247
|
-
],
|
|
3248
|
-
"policy": "pull-push",
|
|
3249
|
-
},
|
|
3250
|
-
],
|
|
3251
|
-
"image": "path/to/docker/jobs-default:the-version",
|
|
3252
|
-
"interruptible": true,
|
|
3253
|
-
"needs": [],
|
|
3254
|
-
"retry": {
|
|
3255
|
-
"max": 2,
|
|
3256
|
-
"when": [
|
|
3257
|
-
"runner_system_failure",
|
|
3258
|
-
"stuck_or_timeout_failure",
|
|
3259
|
-
],
|
|
3260
|
-
},
|
|
3261
|
-
"script": [
|
|
3262
|
-
"echo -e "\\e[0Ksection_start:$(date +%s):injectvars[collapsed=true]\\r\\e[0KInjecting variables"",
|
|
3263
|
-
"export ENV_SHORT="stage"",
|
|
3264
|
-
"export APP_DIR="www"",
|
|
3265
|
-
"export ENV_TYPE="stage"",
|
|
3266
|
-
"export BUILD_INFO_BUILD_ID="$(git describe --tags 2>/dev/null || git rev-parse HEAD)"",
|
|
3267
|
-
"export BUILD_INFO_BUILD_TIME="$CI_JOB_STARTED_AT"",
|
|
3268
|
-
"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")"",
|
|
3269
|
-
"export HOST="$(printf %s "pan-test-app-stage-www-$CL_stage_www_GCLOUD_RUN_canonicalHostSuffix" | awk '{print tolower($0)}')"",
|
|
3270
|
-
"export ROOT_URL="https://$(printf %s "pan-test-app-stage-www-$CL_stage_www_GCLOUD_RUN_canonicalHostSuffix" | awk '{print tolower($0)}')"",
|
|
3271
|
-
"export HOST_INTERNAL="$(printf %s "pan-test-app-stage-www-$CL_stage_www_GCLOUD_RUN_canonicalHostSuffix" | awk '{print tolower($0)}')"",
|
|
3272
|
-
"export HOST_CANONICAL="$(printf %s "pan-test-app-stage-www-$CL_stage_www_GCLOUD_RUN_canonicalHostSuffix" | awk '{print tolower($0)}')"",
|
|
3273
|
-
"export ROOT_URL_INTERNAL="https://$(printf %s "pan-test-app-stage-www-$CL_stage_www_GCLOUD_RUN_canonicalHostSuffix" | awk '{print tolower($0)}')"",
|
|
3274
|
-
"export DEPLOY_CLOUD_RUN_PROJECT_ID="google-project-id"",
|
|
3275
|
-
"export DEPLOY_CLOUD_RUN_REGION="europe-west6"",
|
|
3276
|
-
"export GCLOUD_DEPLOY_credentialsKey="$CL_stage_www_GCLOUD_DEPLOY_credentialsKey"",
|
|
3277
|
-
"export GCLOUD_RUN_canonicalHostSuffix="$CL_stage_www_GCLOUD_RUN_canonicalHostSuffix"",
|
|
3278
|
-
"export API_URL="https://$(printf %s "pan-test-app-stage-api-$CL_stage_api_GCLOUD_RUN_canonicalHostSuffix" | awk '{print tolower($0)}')/graphql"",
|
|
3279
|
-
"export _ALL_ENV_VAR_KEYS="[\\"ENV_SHORT\\",\\"APP_DIR\\",\\"ENV_TYPE\\",\\"BUILD_INFO_BUILD_ID\\",\\"BUILD_INFO_BUILD_TIME\\",\\"BUILD_INFO_CURRENT_VERSION\\",\\"HOST\\",\\"ROOT_URL\\",\\"HOST_INTERNAL\\",\\"HOST_CANONICAL\\",\\"ROOT_URL_INTERNAL\\",\\"DEPLOY_CLOUD_RUN_PROJECT_ID\\",\\"DEPLOY_CLOUD_RUN_REGION\\",\\"GCLOUD_DEPLOY_credentialsKey\\",\\"GCLOUD_RUN_canonicalHostSuffix\\",\\"API_URL\\"]"",
|
|
3280
|
-
"echo -e "\\e[0Ksection_end:$(date +%s):injectvars\\r\\e[0K"",
|
|
3281
|
-
"echo '{"id":"$(git describe --tags 2>/dev/null || git rev-parse HEAD)","time":"$CI_JOB_STARTED_AT"}' > www/__build_info.json",
|
|
3282
|
-
"echo -e "\\e[0Ksection_start:$(date +%s):nodeinstall[collapsed=true]\\r\\e[0KEnsure node version"",
|
|
3283
|
-
"if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi",
|
|
3284
|
-
"if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi",
|
|
3285
|
-
"echo -e "\\e[0Ksection_end:$(date +%s):nodeinstall\\r\\e[0K"",
|
|
3286
|
-
"cd www",
|
|
3287
|
-
"echo -e "\\e[0Ksection_start:$(date +%s):nodeinstall[collapsed=true]\\r\\e[0KEnsure node version"",
|
|
3288
|
-
"if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi",
|
|
3289
|
-
"if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi",
|
|
3290
|
-
"echo -e "\\e[0Ksection_end:$(date +%s):nodeinstall\\r\\e[0K"",
|
|
3291
|
-
"echo -e "\\e[0Ksection_start:$(date +%s):yarninstall[collapsed=true]\\r\\e[0KYarn install"",
|
|
3292
|
-
"yarn install --immutable",
|
|
3293
|
-
"echo -e "\\e[0Ksection_end:$(date +%s):yarninstall\\r\\e[0K"",
|
|
3294
|
-
"yarn build",
|
|
3295
|
-
],
|
|
3296
|
-
"stage": "build",
|
|
3297
|
-
"variables": {
|
|
3298
|
-
"KUBERNETES_CPU_REQUEST": "0.5",
|
|
3299
|
-
"KUBERNETES_MEMORY_LIMIT": "4Gi",
|
|
3300
|
-
"KUBERNETES_MEMORY_REQUEST": "2Gi",
|
|
3301
|
-
},
|
|
3302
|
-
},
|
|
3303
|
-
"www ๐จ docker | prod ": {
|
|
2797
|
+
"๐น www ๐จ docker | prod ": {
|
|
3304
2798
|
"cache": [
|
|
3305
2799
|
{
|
|
3306
2800
|
"key": "www-yarn",
|
|
@@ -3313,7 +2807,10 @@ EOF
|
|
|
3313
2807
|
"image": "path/to/docker/docker-build:the-version",
|
|
3314
2808
|
"interruptible": true,
|
|
3315
2809
|
"needs": [
|
|
3316
|
-
|
|
2810
|
+
{
|
|
2811
|
+
"artifacts": true,
|
|
2812
|
+
"job": "๐ธ myWorkspace ๐จ app | prod ",
|
|
2813
|
+
},
|
|
3317
2814
|
],
|
|
3318
2815
|
"retry": {
|
|
3319
2816
|
"max": 2,
|
|
@@ -3371,7 +2868,7 @@ COPY --chown=node:node .yarn /app/.yarn"",
|
|
|
3371
2868
|
"KUBERNETES_MEMORY_REQUEST": "1Gi",
|
|
3372
2869
|
},
|
|
3373
2870
|
},
|
|
3374
|
-
"www ๐จ docker | stage ": {
|
|
2871
|
+
"๐น www ๐จ docker | stage ": {
|
|
3375
2872
|
"cache": [
|
|
3376
2873
|
{
|
|
3377
2874
|
"key": "www-yarn",
|
|
@@ -3384,7 +2881,10 @@ COPY --chown=node:node .yarn /app/.yarn"",
|
|
|
3384
2881
|
"image": "path/to/docker/docker-build:the-version",
|
|
3385
2882
|
"interruptible": true,
|
|
3386
2883
|
"needs": [
|
|
3387
|
-
|
|
2884
|
+
{
|
|
2885
|
+
"artifacts": true,
|
|
2886
|
+
"job": "๐ธ myWorkspace ๐จ app | stage ",
|
|
2887
|
+
},
|
|
3388
2888
|
],
|
|
3389
2889
|
"retry": {
|
|
3390
2890
|
"max": 2,
|
|
@@ -3442,7 +2942,7 @@ COPY --chown=node:node .yarn /app/.yarn"",
|
|
|
3442
2942
|
"KUBERNETES_MEMORY_REQUEST": "1Gi",
|
|
3443
2943
|
},
|
|
3444
2944
|
},
|
|
3445
|
-
"www ๐ Deploy | prod ": {
|
|
2945
|
+
"๐น www ๐ Deploy | prod ": {
|
|
3446
2946
|
"allow_failure": true,
|
|
3447
2947
|
"artifacts": {
|
|
3448
2948
|
"reports": {
|
|
@@ -3452,7 +2952,7 @@ COPY --chown=node:node .yarn /app/.yarn"",
|
|
|
3452
2952
|
"environment": {
|
|
3453
2953
|
"auto_stop_in": undefined,
|
|
3454
2954
|
"name": "prod/www",
|
|
3455
|
-
"on_stop": "www ๐ Stop โ ๏ธ | prod ",
|
|
2955
|
+
"on_stop": "๐น www ๐ Stop โ ๏ธ | prod ",
|
|
3456
2956
|
"url": "$CL_GITLAB_ENVIRONMENT_URL",
|
|
3457
2957
|
},
|
|
3458
2958
|
"image": "path/to/docker/gcloud:the-version",
|
|
@@ -3460,15 +2960,11 @@ COPY --chown=node:node .yarn /app/.yarn"",
|
|
|
3460
2960
|
"needs": [
|
|
3461
2961
|
{
|
|
3462
2962
|
"artifacts": false,
|
|
3463
|
-
"job": "www ๐จ
|
|
3464
|
-
},
|
|
3465
|
-
{
|
|
3466
|
-
"artifacts": false,
|
|
3467
|
-
"job": "www ๐จ docker | prod ",
|
|
2963
|
+
"job": "๐น www ๐จ docker | prod ",
|
|
3468
2964
|
},
|
|
3469
2965
|
{
|
|
3470
2966
|
"artifacts": true,
|
|
3471
|
-
"job": "www ๐งพ sbom | prod ",
|
|
2967
|
+
"job": "๐น www ๐งพ sbom | prod ",
|
|
3472
2968
|
},
|
|
3473
2969
|
],
|
|
3474
2970
|
"retry": {
|
|
@@ -3570,7 +3066,7 @@ EOF
|
|
|
3570
3066
|
"KUBERNETES_MEMORY_REQUEST": "200Mi",
|
|
3571
3067
|
},
|
|
3572
3068
|
},
|
|
3573
|
-
"www ๐ Deploy | stage ": {
|
|
3069
|
+
"๐น www ๐ Deploy | stage ": {
|
|
3574
3070
|
"allow_failure": false,
|
|
3575
3071
|
"artifacts": {
|
|
3576
3072
|
"reports": {
|
|
@@ -3580,7 +3076,7 @@ EOF
|
|
|
3580
3076
|
"environment": {
|
|
3581
3077
|
"auto_stop_in": undefined,
|
|
3582
3078
|
"name": "stage/www",
|
|
3583
|
-
"on_stop": "www ๐ Stop โ ๏ธ | stage ",
|
|
3079
|
+
"on_stop": "๐น www ๐ Stop โ ๏ธ | stage ",
|
|
3584
3080
|
"url": "$CL_GITLAB_ENVIRONMENT_URL",
|
|
3585
3081
|
},
|
|
3586
3082
|
"image": "path/to/docker/gcloud:the-version",
|
|
@@ -3588,15 +3084,11 @@ EOF
|
|
|
3588
3084
|
"needs": [
|
|
3589
3085
|
{
|
|
3590
3086
|
"artifacts": false,
|
|
3591
|
-
"job": "www ๐จ
|
|
3592
|
-
},
|
|
3593
|
-
{
|
|
3594
|
-
"artifacts": false,
|
|
3595
|
-
"job": "www ๐จ docker | stage ",
|
|
3087
|
+
"job": "๐น www ๐จ docker | stage ",
|
|
3596
3088
|
},
|
|
3597
3089
|
{
|
|
3598
3090
|
"artifacts": true,
|
|
3599
|
-
"job": "www ๐งพ sbom | stage ",
|
|
3091
|
+
"job": "๐น www ๐งพ sbom | stage ",
|
|
3600
3092
|
},
|
|
3601
3093
|
],
|
|
3602
3094
|
"retry": {
|
|
@@ -3698,7 +3190,7 @@ EOF
|
|
|
3698
3190
|
"KUBERNETES_MEMORY_REQUEST": "200Mi",
|
|
3699
3191
|
},
|
|
3700
3192
|
},
|
|
3701
|
-
"www ๐ Stop โ ๏ธ | prod ": {
|
|
3193
|
+
"๐น www ๐ Stop โ ๏ธ | prod ": {
|
|
3702
3194
|
"allow_failure": true,
|
|
3703
3195
|
"artifacts": {
|
|
3704
3196
|
"reports": {
|
|
@@ -3751,7 +3243,7 @@ EOF
|
|
|
3751
3243
|
"KUBERNETES_MEMORY_REQUEST": "200Mi",
|
|
3752
3244
|
},
|
|
3753
3245
|
},
|
|
3754
|
-
"www ๐ Stop โ ๏ธ | stage ": {
|
|
3246
|
+
"๐น www ๐ Stop โ ๏ธ | stage ": {
|
|
3755
3247
|
"allow_failure": true,
|
|
3756
3248
|
"artifacts": {
|
|
3757
3249
|
"reports": {
|
|
@@ -3804,7 +3296,7 @@ EOF
|
|
|
3804
3296
|
"KUBERNETES_MEMORY_REQUEST": "200Mi",
|
|
3805
3297
|
},
|
|
3806
3298
|
},
|
|
3807
|
-
"www ๐งพ sbom | prod ": {
|
|
3299
|
+
"๐น www ๐งพ sbom | prod ": {
|
|
3808
3300
|
"allow_failure": true,
|
|
3809
3301
|
"artifacts": {
|
|
3810
3302
|
"paths": [
|
|
@@ -3829,7 +3321,7 @@ EOF
|
|
|
3829
3321
|
"stage": "build",
|
|
3830
3322
|
"variables": {},
|
|
3831
3323
|
},
|
|
3832
|
-
"www ๐งพ sbom | stage ": {
|
|
3324
|
+
"๐น www ๐งพ sbom | stage ": {
|
|
3833
3325
|
"allow_failure": true,
|
|
3834
3326
|
"artifacts": {
|
|
3835
3327
|
"paths": [
|