@catladder/pipeline 3.25.0 → 3.27.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (77) hide show
  1. package/dist/build/custom/testJob.js +1 -2
  2. package/dist/build/node/testJob.js +1 -2
  3. package/dist/build/node/yarn.js +3 -2
  4. package/dist/build/rails/test.js +1 -2
  5. package/dist/constants.js +1 -1
  6. package/dist/deploy/types/googleCloudRun.d.ts +1 -1
  7. package/dist/pipeline/agent/createAgentReviewJob.js +1 -0
  8. package/dist/pipeline/agent/shared.d.ts +1 -1
  9. package/dist/pipeline/agent/shared.js +0 -1
  10. package/dist/pipeline/createMainPipeline.js +1 -0
  11. package/dist/pipeline/gitlab/cache.d.ts +9 -0
  12. package/dist/pipeline/gitlab/cache.js +47 -0
  13. package/dist/pipeline/gitlab/createGitlabJobs.js +7 -7
  14. package/dist/tsconfig.tsbuildinfo +1 -1
  15. package/dist/types/jobs.d.ts +2 -3
  16. package/examples/__snapshots__/automatic-releases.test.ts.snap +141 -31
  17. package/examples/__snapshots__/cloud-run-health-check-defaults.test.ts.snap +141 -31
  18. package/examples/__snapshots__/cloud-run-health-check-only-startup.test.ts.snap +141 -31
  19. package/examples/__snapshots__/cloud-run-health-check.test.ts.snap +141 -31
  20. package/examples/__snapshots__/cloud-run-http2.test.ts.snap +141 -31
  21. package/examples/__snapshots__/cloud-run-memory-limit.test.ts.snap +141 -31
  22. package/examples/__snapshots__/cloud-run-meteor-with-worker.test.ts.snap +133 -27
  23. package/examples/__snapshots__/cloud-run-nextjs.test.ts.snap +144 -32
  24. package/examples/__snapshots__/cloud-run-no-cpu-throttling.test.ts.snap +141 -31
  25. package/examples/__snapshots__/cloud-run-no-service.test.ts.snap +141 -31
  26. package/examples/__snapshots__/cloud-run-non-public.test.ts.snap +141 -31
  27. package/examples/__snapshots__/cloud-run-post-stop-job.test.ts.snap +141 -31
  28. package/examples/__snapshots__/cloud-run-service-custom-vpc-connector.test.ts.snap +141 -31
  29. package/examples/__snapshots__/cloud-run-service-custom-vpc.test.ts.snap +141 -31
  30. package/examples/__snapshots__/cloud-run-service-gen2.test.ts.snap +141 -31
  31. package/examples/__snapshots__/cloud-run-service-increase-timout.test.ts.snap +141 -31
  32. package/examples/__snapshots__/cloud-run-service-with-volumes.test.ts.snap +141 -31
  33. package/examples/__snapshots__/cloud-run-storybook.test.ts.snap +21 -11
  34. package/examples/__snapshots__/cloud-run-with-agents.test.ts.snap +144 -32
  35. package/examples/__snapshots__/cloud-run-with-gpu.test.ts.snap +141 -31
  36. package/examples/__snapshots__/cloud-run-with-ngnix.test.ts.snap +141 -31
  37. package/examples/__snapshots__/cloud-run-with-sql-legacy-jobs.test.ts.snap +141 -31
  38. package/examples/__snapshots__/cloud-run-with-sql-multiple-dbs.test.ts.snap +423 -93
  39. package/examples/__snapshots__/cloud-run-with-sql-reuse-db.test.ts.snap +282 -62
  40. package/examples/__snapshots__/cloud-run-with-sql.test.ts.snap +141 -31
  41. package/examples/__snapshots__/cloud-run-with-worker.test.ts.snap +141 -31
  42. package/examples/__snapshots__/custom-build-job-with-tests.test.ts.snap +93 -22
  43. package/examples/__snapshots__/custom-deploy.test.ts.snap +141 -31
  44. package/examples/__snapshots__/custom-envs.test.ts.snap +328 -40
  45. package/examples/__snapshots__/custom-verify-job.test.ts.snap +144 -32
  46. package/examples/__snapshots__/git-submodule.test.ts.snap +141 -31
  47. package/examples/__snapshots__/kubernetes-application-customization.test.ts.snap +141 -31
  48. package/examples/__snapshots__/kubernetes-with-cloud-sql.test.ts.snap +141 -31
  49. package/examples/__snapshots__/kubernetes-with-jobs.test.ts.snap +282 -62
  50. package/examples/__snapshots__/kubernetes-with-mongodb.test.ts.snap +141 -31
  51. package/examples/__snapshots__/local-dot-env.test.ts.snap +141 -31
  52. package/examples/__snapshots__/meteor-kubernetes.test.ts.snap +133 -27
  53. package/examples/__snapshots__/modify-generated-files.test.ts.snap +124 -20
  54. package/examples/__snapshots__/modify-generated-yaml.test.ts.snap +124 -20
  55. package/examples/__snapshots__/multiline-var.test.ts.snap +423 -93
  56. package/examples/__snapshots__/native-app.test.ts.snap +277 -57
  57. package/examples/__snapshots__/node-build-with-custom-image.test.ts.snap +141 -31
  58. package/examples/__snapshots__/node-build-with-docker-additions.test.ts.snap +141 -31
  59. package/examples/__snapshots__/override-secrets.test.ts.snap +141 -31
  60. package/examples/__snapshots__/rails-k8s-with-worker-dockerfile.test.ts.snap +84 -22
  61. package/examples/__snapshots__/rails-k8s-with-worker.test.ts.snap +84 -22
  62. package/examples/__snapshots__/referencing-other-vars.test.ts.snap +423 -93
  63. package/examples/__snapshots__/wait-for-other-deploy.test.ts.snap +260 -52
  64. package/examples/__snapshots__/workspace-api-www-turbo-cache.test.ts.snap +161 -43
  65. package/examples/__snapshots__/workspace-api-www.test.ts.snap +161 -43
  66. package/package.json +1 -1
  67. package/src/build/custom/testJob.ts +0 -1
  68. package/src/build/node/testJob.ts +0 -1
  69. package/src/build/node/yarn.ts +3 -2
  70. package/src/build/rails/test.ts +0 -1
  71. package/src/deploy/types/googleCloudRun.ts +1 -1
  72. package/src/pipeline/agent/createAgentReviewJob.ts +1 -0
  73. package/src/pipeline/agent/shared.ts +2 -2
  74. package/src/pipeline/createMainPipeline.ts +1 -0
  75. package/src/pipeline/gitlab/cache.ts +49 -0
  76. package/src/pipeline/gitlab/createGitlabJobs.ts +7 -9
  77. package/src/types/jobs.ts +2 -3
@@ -103,7 +103,7 @@ before_script:
103
103
  local section_title="\${1}"
104
104
  echo -e "section_end:\`date +%s\`:\${section_title}\\r\\e[0K"
105
105
  }
106
- app 🛡 audit:
106
+ 'app 🛡 audit | dev ':
107
107
  stage: test
108
108
  image: path/to/docker/jobs-default:the-version
109
109
  variables:
@@ -122,9 +122,6 @@ app 🛡 audit:
122
122
  - when: never
123
123
  if: $CI_PIPELINE_SOURCE == "trigger"
124
124
  - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $CI_COMMIT_MESSAGE !~ /^chore\\(release\\).*/
125
- - when: never
126
- if: $CI_PIPELINE_SOURCE == "trigger"
127
- - if: $CI_MERGE_REQUEST_ID
128
125
  needs: []
129
126
  retry: &a1
130
127
  max: 2
@@ -133,7 +130,7 @@ app 🛡 audit:
133
130
  - stuck_or_timeout_failure
134
131
  interruptible: true
135
132
  allow_failure: true
136
- app 👮 lint:
133
+ 'app 👮 lint | dev ':
137
134
  stage: test
138
135
  image: path/to/docker/jobs-default:the-version
139
136
  variables:
@@ -156,7 +153,7 @@ app 👮 lint:
156
153
  - if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi
157
154
  - collapseable_section_end "nodeinstall"
158
155
  - collapseable_section_start "yarninstall" "Yarn install"
159
- - yarn install --immutable
156
+ - yarn install --immutable --inline-builds
160
157
  - collapseable_section_end "yarninstall"
161
158
  - yarn lint
162
159
  cache:
@@ -172,13 +169,10 @@ app 👮 lint:
172
169
  - when: never
173
170
  if: $CI_PIPELINE_SOURCE == "trigger"
174
171
  - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $CI_COMMIT_MESSAGE !~ /^chore\\(release\\).*/
175
- - when: never
176
- if: $CI_PIPELINE_SOURCE == "trigger"
177
- - if: $CI_MERGE_REQUEST_ID
178
172
  needs: []
179
173
  retry: *a1
180
174
  interruptible: true
181
- app 🧪 test:
175
+ 'app 🧪 test | dev ':
182
176
  stage: test
183
177
  image: path/to/docker/jobs-testing-chrome:the-version
184
178
  variables:
@@ -201,7 +195,7 @@ app 🧪 test:
201
195
  - if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi
202
196
  - collapseable_section_end "nodeinstall"
203
197
  - collapseable_section_start "yarninstall" "Yarn install"
204
- - yarn install --immutable
198
+ - yarn install --immutable --inline-builds
205
199
  - collapseable_section_end "yarninstall"
206
200
  - yarn test
207
201
  cache:
@@ -217,9 +211,6 @@ app 🧪 test:
217
211
  - when: never
218
212
  if: $CI_PIPELINE_SOURCE == "trigger"
219
213
  - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $CI_COMMIT_MESSAGE !~ /^chore\\(release\\).*/
220
- - when: never
221
- if: $CI_PIPELINE_SOURCE == "trigger"
222
- - if: $CI_MERGE_REQUEST_ID
223
214
  needs: []
224
215
  retry: *a1
225
216
  interruptible: true
@@ -280,7 +271,7 @@ app 🧪 test:
280
271
  - if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi
281
272
  - collapseable_section_end "nodeinstall"
282
273
  - collapseable_section_start "yarninstall" "Yarn install"
283
- - yarn install --immutable
274
+ - yarn install --immutable --inline-builds
284
275
  - collapseable_section_end "yarninstall"
285
276
  - bundle config set --local path 'vendor/ruby'
286
277
  - gem install bundler
@@ -398,19 +389,134 @@ app 🧪 test:
398
389
  - when: on_success
399
390
  if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $CI_COMMIT_MESSAGE !~ /^chore\\(release\\).*/
400
391
  needs:
401
- - job: app 👮 lint
392
+ - job: 'app 👮 lint | dev '
402
393
  artifacts: false
403
394
  - job: 'app 🔨 app | dev '
404
395
  artifacts: true
405
- - job: app 🧪 test
396
+ - job: 'app 🧪 test | dev '
406
397
  artifacts: false
407
398
  - job: 'app 🧾 sbom | dev '
408
399
  artifacts: true
409
- - job: app 🛡 audit
400
+ - job: 'app 🛡 audit | dev '
410
401
  artifacts: false
411
402
  retry: *a1
412
403
  interruptible: true
413
404
  allow_failure: false
405
+ 'app 🛡 audit | review ':
406
+ stage: test
407
+ image: path/to/docker/jobs-default:the-version
408
+ variables:
409
+ KUBERNETES_CPU_REQUEST: '0.45'
410
+ KUBERNETES_MEMORY_REQUEST: 1Gi
411
+ KUBERNETES_MEMORY_LIMIT: 4Gi
412
+ script:
413
+ - collapseable_section_start "injectvars" "Injecting variables"
414
+ - export APP_PATH="app"
415
+ - export LC_A="L=en_US.UTF-8"
416
+ - export LANG="en_US.UTF-8"
417
+ - collapseable_section_end "injectvars"
418
+ - cd app
419
+ - yarn npm audit --environment production
420
+ rules:
421
+ - when: never
422
+ if: $CI_PIPELINE_SOURCE == "trigger"
423
+ - if: $CI_MERGE_REQUEST_ID
424
+ needs: []
425
+ retry: *a1
426
+ interruptible: true
427
+ allow_failure: true
428
+ 'app 👮 lint | review ':
429
+ stage: test
430
+ image: path/to/docker/jobs-default:the-version
431
+ variables:
432
+ KUBERNETES_CPU_REQUEST: '0.45'
433
+ KUBERNETES_MEMORY_REQUEST: 1Gi
434
+ KUBERNETES_MEMORY_LIMIT: 4Gi
435
+ script:
436
+ - collapseable_section_start "injectvars" "Injecting variables"
437
+ - export APP_PATH="app"
438
+ - export LC_A="L=en_US.UTF-8"
439
+ - export LANG="en_US.UTF-8"
440
+ - collapseable_section_end "injectvars"
441
+ - collapseable_section_start "nodeinstall" "Ensure node version"
442
+ - if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi
443
+ - if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi
444
+ - collapseable_section_end "nodeinstall"
445
+ - cd app
446
+ - collapseable_section_start "nodeinstall" "Ensure node version"
447
+ - if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi
448
+ - if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi
449
+ - collapseable_section_end "nodeinstall"
450
+ - collapseable_section_start "yarninstall" "Yarn install"
451
+ - yarn install --immutable --inline-builds
452
+ - collapseable_section_end "yarninstall"
453
+ - yarn lint
454
+ cache:
455
+ - key: app-yarn-mr$CI_MERGE_REQUEST_IID
456
+ policy: pull-push
457
+ paths:
458
+ - app/.yarn
459
+ fallback_keys:
460
+ - app-yarn
461
+ - key: app-node-modules-mr$CI_MERGE_REQUEST_IID
462
+ policy: pull-push
463
+ paths:
464
+ - app/node_modules
465
+ fallback_keys:
466
+ - app-node-modules
467
+ rules:
468
+ - when: never
469
+ if: $CI_PIPELINE_SOURCE == "trigger"
470
+ - if: $CI_MERGE_REQUEST_ID
471
+ needs: []
472
+ retry: *a1
473
+ interruptible: true
474
+ 'app 🧪 test | review ':
475
+ stage: test
476
+ image: path/to/docker/jobs-testing-chrome:the-version
477
+ variables:
478
+ KUBERNETES_CPU_REQUEST: '0.45'
479
+ KUBERNETES_MEMORY_REQUEST: 1Gi
480
+ KUBERNETES_MEMORY_LIMIT: 4Gi
481
+ script:
482
+ - collapseable_section_start "injectvars" "Injecting variables"
483
+ - export APP_PATH="app"
484
+ - export LC_A="L=en_US.UTF-8"
485
+ - export LANG="en_US.UTF-8"
486
+ - collapseable_section_end "injectvars"
487
+ - collapseable_section_start "nodeinstall" "Ensure node version"
488
+ - if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi
489
+ - if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi
490
+ - collapseable_section_end "nodeinstall"
491
+ - cd app
492
+ - collapseable_section_start "nodeinstall" "Ensure node version"
493
+ - if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi
494
+ - if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi
495
+ - collapseable_section_end "nodeinstall"
496
+ - collapseable_section_start "yarninstall" "Yarn install"
497
+ - yarn install --immutable --inline-builds
498
+ - collapseable_section_end "yarninstall"
499
+ - yarn test
500
+ cache:
501
+ - key: app-yarn-mr$CI_MERGE_REQUEST_IID
502
+ policy: pull-push
503
+ paths:
504
+ - app/.yarn
505
+ fallback_keys:
506
+ - app-yarn
507
+ - key: app-node-modules-mr$CI_MERGE_REQUEST_IID
508
+ policy: pull-push
509
+ paths:
510
+ - app/node_modules
511
+ fallback_keys:
512
+ - app-node-modules
513
+ rules:
514
+ - when: never
515
+ if: $CI_PIPELINE_SOURCE == "trigger"
516
+ - if: $CI_MERGE_REQUEST_ID
517
+ needs: []
518
+ retry: *a1
519
+ interruptible: true
414
520
  'app 🔨 app | review ':
415
521
  stage: build
416
522
  tags:
@@ -468,7 +574,7 @@ app 🧪 test:
468
574
  - if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi
469
575
  - collapseable_section_end "nodeinstall"
470
576
  - collapseable_section_start "yarninstall" "Yarn install"
471
- - yarn install --immutable
577
+ - yarn install --immutable --inline-builds
472
578
  - collapseable_section_end "yarninstall"
473
579
  - bundle config set --local path 'vendor/ruby'
474
580
  - gem install bundler
@@ -476,14 +582,18 @@ app 🧪 test:
476
582
  - bundle exec pod install --project-directory=ios
477
583
  - bundle exec fastlane build
478
584
  cache:
479
- - key: app-yarn
585
+ - key: app-yarn-mr$CI_MERGE_REQUEST_IID
480
586
  policy: pull-push
481
587
  paths:
482
588
  - app/.yarn
483
- - key: app-node-modules
589
+ fallback_keys:
590
+ - app-yarn
591
+ - key: app-node-modules-mr$CI_MERGE_REQUEST_IID
484
592
  policy: pull-push
485
593
  paths:
486
594
  - app/node_modules
595
+ fallback_keys:
596
+ - app-node-modules
487
597
  - key:
488
598
  files:
489
599
  - app/Gemfile.lock
@@ -586,15 +696,15 @@ app 🧪 test:
586
696
  - when: on_success
587
697
  if: $CI_MERGE_REQUEST_ID
588
698
  needs:
589
- - job: app 👮 lint
699
+ - job: 'app 👮 lint | review '
590
700
  artifacts: false
591
701
  - job: 'app 🔨 app | review '
592
702
  artifacts: true
593
- - job: app 🧪 test
703
+ - job: 'app 🧪 test | review '
594
704
  artifacts: false
595
705
  - job: 'app 🧾 sbom | review '
596
706
  artifacts: true
597
- - job: app 🛡 audit
707
+ - job: 'app 🛡 audit | review '
598
708
  artifacts: false
599
709
  retry: *a1
600
710
  interruptible: true
@@ -656,7 +766,7 @@ app 🧪 test:
656
766
  - if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi
657
767
  - collapseable_section_end "nodeinstall"
658
768
  - collapseable_section_start "yarninstall" "Yarn install"
659
- - yarn install --immutable
769
+ - yarn install --immutable --inline-builds
660
770
  - collapseable_section_end "yarninstall"
661
771
  - bundle config set --local path 'vendor/ruby'
662
772
  - gem install bundler
@@ -838,7 +948,7 @@ app 🧪 test:
838
948
  - if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi
839
949
  - collapseable_section_end "nodeinstall"
840
950
  - collapseable_section_start "yarninstall" "Yarn install"
841
- - yarn install --immutable
951
+ - yarn install --immutable --inline-builds
842
952
  - collapseable_section_end "yarninstall"
843
953
  - bundle config set --local path 'vendor/ruby'
844
954
  - gem install bundler
@@ -963,7 +1073,7 @@ app 🧪 test:
963
1073
  retry: *a1
964
1074
  interruptible: true
965
1075
  allow_failure: true
966
- api 🛡 audit:
1076
+ 'api 🛡 audit | dev ':
967
1077
  stage: test
968
1078
  image: path/to/docker/jobs-default:the-version
969
1079
  variables:
@@ -980,14 +1090,11 @@ api 🛡 audit:
980
1090
  - when: never
981
1091
  if: $CI_PIPELINE_SOURCE == "trigger"
982
1092
  - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $CI_COMMIT_MESSAGE !~ /^chore\\(release\\).*/
983
- - when: never
984
- if: $CI_PIPELINE_SOURCE == "trigger"
985
- - if: $CI_MERGE_REQUEST_ID
986
1093
  needs: []
987
1094
  retry: *a1
988
1095
  interruptible: true
989
1096
  allow_failure: true
990
- api 👮 lint:
1097
+ 'api 👮 lint | dev ':
991
1098
  stage: test
992
1099
  image: path/to/docker/jobs-default:the-version
993
1100
  variables:
@@ -1008,7 +1115,7 @@ api 👮 lint:
1008
1115
  - if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi
1009
1116
  - collapseable_section_end "nodeinstall"
1010
1117
  - collapseable_section_start "yarninstall" "Yarn install"
1011
- - yarn install --immutable
1118
+ - yarn install --immutable --inline-builds
1012
1119
  - collapseable_section_end "yarninstall"
1013
1120
  - yarn lint
1014
1121
  cache:
@@ -1024,13 +1131,10 @@ api 👮 lint:
1024
1131
  - when: never
1025
1132
  if: $CI_PIPELINE_SOURCE == "trigger"
1026
1133
  - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $CI_COMMIT_MESSAGE !~ /^chore\\(release\\).*/
1027
- - when: never
1028
- if: $CI_PIPELINE_SOURCE == "trigger"
1029
- - if: $CI_MERGE_REQUEST_ID
1030
1134
  needs: []
1031
1135
  retry: *a1
1032
1136
  interruptible: true
1033
- api 🧪 test:
1137
+ 'api 🧪 test | dev ':
1034
1138
  stage: test
1035
1139
  image: path/to/docker/jobs-testing-chrome:the-version
1036
1140
  variables:
@@ -1051,7 +1155,7 @@ api 🧪 test:
1051
1155
  - if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi
1052
1156
  - collapseable_section_end "nodeinstall"
1053
1157
  - collapseable_section_start "yarninstall" "Yarn install"
1054
- - yarn install --immutable
1158
+ - yarn install --immutable --inline-builds
1055
1159
  - collapseable_section_end "yarninstall"
1056
1160
  - yarn test
1057
1161
  cache:
@@ -1067,9 +1171,6 @@ api 🧪 test:
1067
1171
  - when: never
1068
1172
  if: $CI_PIPELINE_SOURCE == "trigger"
1069
1173
  - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $CI_COMMIT_MESSAGE !~ /^chore\\(release\\).*/
1070
- - when: never
1071
- if: $CI_PIPELINE_SOURCE == "trigger"
1072
- - if: $CI_MERGE_REQUEST_ID
1073
1174
  needs: []
1074
1175
  retry: *a1
1075
1176
  interruptible: true
@@ -1126,7 +1227,7 @@ api 🧪 test:
1126
1227
  - if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi
1127
1228
  - collapseable_section_end "nodeinstall"
1128
1229
  - collapseable_section_start "yarninstall" "Yarn install"
1129
- - yarn install --immutable
1230
+ - yarn install --immutable --inline-builds
1130
1231
  - collapseable_section_end "yarninstall"
1131
1232
  - yarn build
1132
1233
  cache:
@@ -1181,7 +1282,8 @@ api 🧪 test:
1181
1282
  - export DOCKER_CACHE_IMAGE="asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/caches/api"
1182
1283
  - export DOCKER_IMAGE_TAG="$CI_COMMIT_SHA"
1183
1284
  - |-
1184
- export DOCKER_COPY_AND_INSTALL_APP="COPY --chown=node:node $APP_DIR .
1285
+ export DOCKER_COPY_AND_INSTALL_APP="ENV YARN_ENABLE_INLINE_BUILDS=1
1286
+ COPY --chown=node:node $APP_DIR .
1185
1287
  RUN yarn plugin import workspace-tools
1186
1288
  RUN yarn workspaces focus --production && yarn rebuild"
1187
1289
  - |-
@@ -1334,17 +1436,17 @@ api 🧪 test:
1334
1436
  - when: on_success
1335
1437
  if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $CI_COMMIT_MESSAGE !~ /^chore\\(release\\).*/
1336
1438
  needs:
1337
- - job: api 👮 lint
1439
+ - job: 'api 👮 lint | dev '
1338
1440
  artifacts: false
1339
1441
  - job: 'api 🔨 app | dev '
1340
1442
  artifacts: false
1341
1443
  - job: 'api 🔨 docker | dev '
1342
1444
  artifacts: false
1343
- - job: api 🧪 test
1445
+ - job: 'api 🧪 test | dev '
1344
1446
  artifacts: false
1345
1447
  - job: 'api 🧾 sbom | dev '
1346
1448
  artifacts: true
1347
- - job: api 🛡 audit
1449
+ - job: 'api 🛡 audit | dev '
1348
1450
  artifacts: false
1349
1451
  retry: *a1
1350
1452
  interruptible: true
@@ -1383,6 +1485,115 @@ api 🧪 test:
1383
1485
  retry: *a1
1384
1486
  interruptible: true
1385
1487
  allow_failure: true
1488
+ 'api 🛡 audit | review ':
1489
+ stage: test
1490
+ image: path/to/docker/jobs-default:the-version
1491
+ variables:
1492
+ KUBERNETES_CPU_REQUEST: '0.45'
1493
+ KUBERNETES_MEMORY_REQUEST: 1Gi
1494
+ KUBERNETES_MEMORY_LIMIT: 4Gi
1495
+ script:
1496
+ - collapseable_section_start "injectvars" "Injecting variables"
1497
+ - export APP_PATH="api"
1498
+ - collapseable_section_end "injectvars"
1499
+ - cd api
1500
+ - yarn npm audit --environment production
1501
+ rules:
1502
+ - when: never
1503
+ if: $CI_PIPELINE_SOURCE == "trigger"
1504
+ - if: $CI_MERGE_REQUEST_ID
1505
+ needs: []
1506
+ retry: *a1
1507
+ interruptible: true
1508
+ allow_failure: true
1509
+ 'api 👮 lint | review ':
1510
+ stage: test
1511
+ image: path/to/docker/jobs-default:the-version
1512
+ variables:
1513
+ KUBERNETES_CPU_REQUEST: '0.45'
1514
+ KUBERNETES_MEMORY_REQUEST: 1Gi
1515
+ KUBERNETES_MEMORY_LIMIT: 4Gi
1516
+ script:
1517
+ - collapseable_section_start "injectvars" "Injecting variables"
1518
+ - export APP_PATH="api"
1519
+ - collapseable_section_end "injectvars"
1520
+ - collapseable_section_start "nodeinstall" "Ensure node version"
1521
+ - if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi
1522
+ - if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi
1523
+ - collapseable_section_end "nodeinstall"
1524
+ - cd api
1525
+ - collapseable_section_start "nodeinstall" "Ensure node version"
1526
+ - if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi
1527
+ - if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi
1528
+ - collapseable_section_end "nodeinstall"
1529
+ - collapseable_section_start "yarninstall" "Yarn install"
1530
+ - yarn install --immutable --inline-builds
1531
+ - collapseable_section_end "yarninstall"
1532
+ - yarn lint
1533
+ cache:
1534
+ - key: api-yarn-mr$CI_MERGE_REQUEST_IID
1535
+ policy: pull-push
1536
+ paths:
1537
+ - api/.yarn
1538
+ fallback_keys:
1539
+ - api-yarn
1540
+ - key: api-node-modules-mr$CI_MERGE_REQUEST_IID
1541
+ policy: pull-push
1542
+ paths:
1543
+ - api/node_modules
1544
+ fallback_keys:
1545
+ - api-node-modules
1546
+ rules:
1547
+ - when: never
1548
+ if: $CI_PIPELINE_SOURCE == "trigger"
1549
+ - if: $CI_MERGE_REQUEST_ID
1550
+ needs: []
1551
+ retry: *a1
1552
+ interruptible: true
1553
+ 'api 🧪 test | review ':
1554
+ stage: test
1555
+ image: path/to/docker/jobs-testing-chrome:the-version
1556
+ variables:
1557
+ KUBERNETES_CPU_REQUEST: '0.45'
1558
+ KUBERNETES_MEMORY_REQUEST: 1Gi
1559
+ KUBERNETES_MEMORY_LIMIT: 4Gi
1560
+ script:
1561
+ - collapseable_section_start "injectvars" "Injecting variables"
1562
+ - export APP_PATH="api"
1563
+ - collapseable_section_end "injectvars"
1564
+ - collapseable_section_start "nodeinstall" "Ensure node version"
1565
+ - if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi
1566
+ - if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi
1567
+ - collapseable_section_end "nodeinstall"
1568
+ - cd api
1569
+ - collapseable_section_start "nodeinstall" "Ensure node version"
1570
+ - if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi
1571
+ - if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi
1572
+ - collapseable_section_end "nodeinstall"
1573
+ - collapseable_section_start "yarninstall" "Yarn install"
1574
+ - yarn install --immutable --inline-builds
1575
+ - collapseable_section_end "yarninstall"
1576
+ - yarn test
1577
+ cache:
1578
+ - key: api-yarn-mr$CI_MERGE_REQUEST_IID
1579
+ policy: pull-push
1580
+ paths:
1581
+ - api/.yarn
1582
+ fallback_keys:
1583
+ - api-yarn
1584
+ - key: api-node-modules-mr$CI_MERGE_REQUEST_IID
1585
+ policy: pull-push
1586
+ paths:
1587
+ - api/node_modules
1588
+ fallback_keys:
1589
+ - api-node-modules
1590
+ rules:
1591
+ - when: never
1592
+ if: $CI_PIPELINE_SOURCE == "trigger"
1593
+ - if: $CI_MERGE_REQUEST_ID
1594
+ needs: []
1595
+ retry: *a1
1596
+ interruptible: true
1386
1597
  'api 🔨 app | review ':
1387
1598
  stage: build
1388
1599
  image: path/to/docker/jobs-default:the-version
@@ -1436,18 +1647,22 @@ api 🧪 test:
1436
1647
  - if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi
1437
1648
  - collapseable_section_end "nodeinstall"
1438
1649
  - collapseable_section_start "yarninstall" "Yarn install"
1439
- - yarn install --immutable
1650
+ - yarn install --immutable --inline-builds
1440
1651
  - collapseable_section_end "yarninstall"
1441
1652
  - yarn build
1442
1653
  cache:
1443
- - key: api-yarn
1654
+ - key: api-yarn-mr$CI_MERGE_REQUEST_IID
1444
1655
  policy: pull-push
1445
1656
  paths:
1446
1657
  - api/.yarn
1447
- - key: api-node-modules
1658
+ fallback_keys:
1659
+ - api-yarn
1660
+ - key: api-node-modules-mr$CI_MERGE_REQUEST_IID
1448
1661
  policy: pull-push
1449
1662
  paths:
1450
1663
  - api/node_modules
1664
+ fallback_keys:
1665
+ - api-node-modules
1451
1666
  artifacts:
1452
1667
  paths:
1453
1668
  - api/__build_info.json
@@ -1491,7 +1706,8 @@ api 🧪 test:
1491
1706
  - export DOCKER_CACHE_IMAGE="asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/caches/api"
1492
1707
  - export DOCKER_IMAGE_TAG="$CI_COMMIT_SHA"
1493
1708
  - |-
1494
- export DOCKER_COPY_AND_INSTALL_APP="COPY --chown=node:node $APP_DIR .
1709
+ export DOCKER_COPY_AND_INSTALL_APP="ENV YARN_ENABLE_INLINE_BUILDS=1
1710
+ COPY --chown=node:node $APP_DIR .
1495
1711
  RUN yarn plugin import workspace-tools
1496
1712
  RUN yarn workspaces focus --production && yarn rebuild"
1497
1713
  - |-
@@ -1514,10 +1730,12 @@ api 🧪 test:
1514
1730
  - docker push $DOCKER_CACHE_IMAGE
1515
1731
  - collapseable_section_end "docker-push"
1516
1732
  cache:
1517
- - key: api-yarn
1733
+ - key: api-yarn-mr$CI_MERGE_REQUEST_IID
1518
1734
  policy: pull
1519
1735
  paths:
1520
1736
  - api/.yarn
1737
+ fallback_keys:
1738
+ - api-yarn
1521
1739
  rules:
1522
1740
  - when: never
1523
1741
  if: $CI_PIPELINE_SOURCE == "trigger"
@@ -1647,17 +1865,17 @@ api 🧪 test:
1647
1865
  - when: on_success
1648
1866
  if: $CI_MERGE_REQUEST_ID
1649
1867
  needs:
1650
- - job: api 👮 lint
1868
+ - job: 'api 👮 lint | review '
1651
1869
  artifacts: false
1652
1870
  - job: 'api 🔨 app | review '
1653
1871
  artifacts: false
1654
1872
  - job: 'api 🔨 docker | review '
1655
1873
  artifacts: false
1656
- - job: api 🧪 test
1874
+ - job: 'api 🧪 test | review '
1657
1875
  artifacts: false
1658
1876
  - job: 'api 🧾 sbom | review '
1659
1877
  artifacts: true
1660
- - job: api 🛡 audit
1878
+ - job: 'api 🛡 audit | review '
1661
1879
  artifacts: false
1662
1880
  retry: *a1
1663
1881
  interruptible: true
@@ -1752,7 +1970,7 @@ api 🧪 test:
1752
1970
  - if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi
1753
1971
  - collapseable_section_end "nodeinstall"
1754
1972
  - collapseable_section_start "yarninstall" "Yarn install"
1755
- - yarn install --immutable
1973
+ - yarn install --immutable --inline-builds
1756
1974
  - collapseable_section_end "yarninstall"
1757
1975
  - yarn build
1758
1976
  cache:
@@ -1807,7 +2025,8 @@ api 🧪 test:
1807
2025
  - export DOCKER_CACHE_IMAGE="asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/caches/api"
1808
2026
  - export DOCKER_IMAGE_TAG="$CI_COMMIT_SHA"
1809
2027
  - |-
1810
- export DOCKER_COPY_AND_INSTALL_APP="COPY --chown=node:node $APP_DIR .
2028
+ export DOCKER_COPY_AND_INSTALL_APP="ENV YARN_ENABLE_INLINE_BUILDS=1
2029
+ COPY --chown=node:node $APP_DIR .
1811
2030
  RUN yarn plugin import workspace-tools
1812
2031
  RUN yarn workspaces focus --production && yarn rebuild"
1813
2032
  - |-
@@ -2055,7 +2274,7 @@ api 🧪 test:
2055
2274
  - if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi
2056
2275
  - collapseable_section_end "nodeinstall"
2057
2276
  - collapseable_section_start "yarninstall" "Yarn install"
2058
- - yarn install --immutable
2277
+ - yarn install --immutable --inline-builds
2059
2278
  - collapseable_section_end "yarninstall"
2060
2279
  - yarn build
2061
2280
  cache:
@@ -2110,7 +2329,8 @@ api 🧪 test:
2110
2329
  - export DOCKER_CACHE_IMAGE="asia-east1-docker.pkg.dev/asdf/catladder-deploy/pan-test-app/caches/api"
2111
2330
  - export DOCKER_IMAGE_TAG="$CI_COMMIT_SHA"
2112
2331
  - |-
2113
- export DOCKER_COPY_AND_INSTALL_APP="COPY --chown=node:node $APP_DIR .
2332
+ export DOCKER_COPY_AND_INSTALL_APP="ENV YARN_ENABLE_INLINE_BUILDS=1
2333
+ COPY --chown=node:node $APP_DIR .
2114
2334
  RUN yarn plugin import workspace-tools
2115
2335
  RUN yarn workspaces focus --production && yarn rebuild"
2116
2336
  - |-