@catladder/pipeline 3.24.0 → 3.26.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 (75) hide show
  1. package/dist/build/custom/testJob.js +1 -2
  2. package/dist/build/index.js +2 -1
  3. package/dist/build/node/testJob.js +1 -2
  4. package/dist/build/rails/test.js +1 -2
  5. package/dist/constants.js +1 -1
  6. package/dist/pipeline/agent/createAgentReviewJob.js +1 -0
  7. package/dist/pipeline/agent/shared.d.ts +1 -1
  8. package/dist/pipeline/agent/shared.js +0 -1
  9. package/dist/pipeline/createMainPipeline.js +1 -0
  10. package/dist/pipeline/gitlab/cache.d.ts +9 -0
  11. package/dist/pipeline/gitlab/cache.js +47 -0
  12. package/dist/pipeline/gitlab/createGitlabJobs.js +7 -7
  13. package/dist/tsconfig.tsbuildinfo +1 -1
  14. package/dist/types/jobs.d.ts +2 -3
  15. package/examples/__snapshots__/automatic-releases.test.ts.snap +131 -21
  16. package/examples/__snapshots__/cloud-run-health-check-defaults.test.ts.snap +131 -21
  17. package/examples/__snapshots__/cloud-run-health-check-only-startup.test.ts.snap +131 -21
  18. package/examples/__snapshots__/cloud-run-health-check.test.ts.snap +131 -21
  19. package/examples/__snapshots__/cloud-run-http2.test.ts.snap +131 -21
  20. package/examples/__snapshots__/cloud-run-memory-limit.test.ts.snap +131 -21
  21. package/examples/__snapshots__/cloud-run-meteor-with-worker.test.ts.snap +127 -21
  22. package/examples/__snapshots__/cloud-run-nextjs.test.ts.snap +134 -22
  23. package/examples/__snapshots__/cloud-run-no-cpu-throttling.test.ts.snap +131 -21
  24. package/examples/__snapshots__/cloud-run-no-service.test.ts.snap +131 -21
  25. package/examples/__snapshots__/cloud-run-non-public.test.ts.snap +131 -21
  26. package/examples/__snapshots__/cloud-run-post-stop-job.test.ts.snap +131 -21
  27. package/examples/__snapshots__/cloud-run-service-custom-vpc-connector.test.ts.snap +131 -21
  28. package/examples/__snapshots__/cloud-run-service-custom-vpc.test.ts.snap +131 -21
  29. package/examples/__snapshots__/cloud-run-service-gen2.test.ts.snap +131 -21
  30. package/examples/__snapshots__/cloud-run-service-increase-timout.test.ts.snap +131 -21
  31. package/examples/__snapshots__/cloud-run-service-with-volumes.test.ts.snap +131 -21
  32. package/examples/__snapshots__/cloud-run-storybook.test.ts.snap +13 -3
  33. package/examples/__snapshots__/cloud-run-with-agents.test.ts.snap +134 -22
  34. package/examples/__snapshots__/cloud-run-with-gpu.test.ts.snap +131 -21
  35. package/examples/__snapshots__/cloud-run-with-ngnix.test.ts.snap +131 -21
  36. package/examples/__snapshots__/cloud-run-with-sql-legacy-jobs.test.ts.snap +131 -21
  37. package/examples/__snapshots__/cloud-run-with-sql-multiple-dbs.test.ts.snap +393 -63
  38. package/examples/__snapshots__/cloud-run-with-sql-reuse-db.test.ts.snap +262 -42
  39. package/examples/__snapshots__/cloud-run-with-sql.test.ts.snap +131 -21
  40. package/examples/__snapshots__/cloud-run-with-worker.test.ts.snap +131 -21
  41. package/examples/__snapshots__/custom-build-job-with-tests.test.ts.snap +93 -22
  42. package/examples/__snapshots__/custom-deploy.test.ts.snap +131 -21
  43. package/examples/__snapshots__/custom-envs.test.ts.snap +326 -32
  44. package/examples/__snapshots__/custom-verify-job.test.ts.snap +134 -22
  45. package/examples/__snapshots__/git-submodule.test.ts.snap +131 -21
  46. package/examples/__snapshots__/kubernetes-application-customization.test.ts.snap +135 -21
  47. package/examples/__snapshots__/kubernetes-with-cloud-sql.test.ts.snap +135 -21
  48. package/examples/__snapshots__/kubernetes-with-jobs.test.ts.snap +266 -42
  49. package/examples/__snapshots__/kubernetes-with-mongodb.test.ts.snap +135 -21
  50. package/examples/__snapshots__/local-dot-env.test.ts.snap +135 -21
  51. package/examples/__snapshots__/meteor-kubernetes.test.ts.snap +127 -21
  52. package/examples/__snapshots__/modify-generated-files.test.ts.snap +122 -14
  53. package/examples/__snapshots__/modify-generated-yaml.test.ts.snap +122 -14
  54. package/examples/__snapshots__/multiline-var.test.ts.snap +393 -63
  55. package/examples/__snapshots__/native-app.test.ts.snap +265 -41
  56. package/examples/__snapshots__/node-build-with-custom-image.test.ts.snap +131 -21
  57. package/examples/__snapshots__/node-build-with-docker-additions.test.ts.snap +131 -21
  58. package/examples/__snapshots__/override-secrets.test.ts.snap +131 -21
  59. package/examples/__snapshots__/rails-k8s-with-worker-dockerfile.test.ts.snap +84 -22
  60. package/examples/__snapshots__/rails-k8s-with-worker.test.ts.snap +84 -22
  61. package/examples/__snapshots__/referencing-other-vars.test.ts.snap +393 -63
  62. package/examples/__snapshots__/wait-for-other-deploy.test.ts.snap +256 -40
  63. package/examples/__snapshots__/workspace-api-www-turbo-cache.test.ts.snap +147 -29
  64. package/examples/__snapshots__/workspace-api-www.test.ts.snap +147 -29
  65. package/package.json +1 -1
  66. package/src/build/custom/testJob.ts +0 -1
  67. package/src/build/index.ts +1 -0
  68. package/src/build/node/testJob.ts +0 -1
  69. package/src/build/rails/test.ts +0 -1
  70. package/src/pipeline/agent/createAgentReviewJob.ts +1 -0
  71. package/src/pipeline/agent/shared.ts +2 -2
  72. package/src/pipeline/createMainPipeline.ts +1 -0
  73. package/src/pipeline/gitlab/cache.ts +49 -0
  74. package/src/pipeline/gitlab/createGitlabJobs.ts +7 -9
  75. 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
- api 🛡 audit:
106
+ 'api 🛡 audit | dev ':
107
107
  stage: test
108
108
  image: path/to/docker/jobs-default:the-version
109
109
  variables:
@@ -120,9 +120,6 @@ api 🛡 audit:
120
120
  - when: never
121
121
  if: $CI_PIPELINE_SOURCE == "trigger"
122
122
  - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $CI_COMMIT_MESSAGE !~ /^chore\\(release\\).*/
123
- - when: never
124
- if: $CI_PIPELINE_SOURCE == "trigger"
125
- - if: $CI_MERGE_REQUEST_ID
126
123
  needs: []
127
124
  retry: &a1
128
125
  max: 2
@@ -131,7 +128,7 @@ api 🛡 audit:
131
128
  - stuck_or_timeout_failure
132
129
  interruptible: true
133
130
  allow_failure: true
134
- api 👮 lint:
131
+ 'api 👮 lint | dev ':
135
132
  stage: test
136
133
  image: path/to/docker/jobs-default:the-version
137
134
  variables:
@@ -168,13 +165,10 @@ api 👮 lint:
168
165
  - when: never
169
166
  if: $CI_PIPELINE_SOURCE == "trigger"
170
167
  - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $CI_COMMIT_MESSAGE !~ /^chore\\(release\\).*/
171
- - when: never
172
- if: $CI_PIPELINE_SOURCE == "trigger"
173
- - if: $CI_MERGE_REQUEST_ID
174
168
  needs: []
175
169
  retry: *a1
176
170
  interruptible: true
177
- api 🧪 test:
171
+ 'api 🧪 test | dev ':
178
172
  stage: test
179
173
  image: path/to/docker/jobs-testing-chrome:the-version
180
174
  variables:
@@ -211,9 +205,6 @@ api 🧪 test:
211
205
  - when: never
212
206
  if: $CI_PIPELINE_SOURCE == "trigger"
213
207
  - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $CI_COMMIT_MESSAGE !~ /^chore\\(release\\).*/
214
- - when: never
215
- if: $CI_PIPELINE_SOURCE == "trigger"
216
- - if: $CI_MERGE_REQUEST_ID
217
208
  needs: []
218
209
  retry: *a1
219
210
  interruptible: true
@@ -291,6 +282,7 @@ api 🧪 test:
291
282
  - api/dist
292
283
  exclude:
293
284
  - api/.env
285
+ - api/.next/cache/**/*
294
286
  expire_in: 1 day
295
287
  when: always
296
288
  reports: {}
@@ -493,17 +485,17 @@ api 🧪 test:
493
485
  - when: on_success
494
486
  if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $CI_COMMIT_MESSAGE !~ /^chore\\(release\\).*/
495
487
  needs:
496
- - job: api 👮 lint
488
+ - job: 'api 👮 lint | dev '
497
489
  artifacts: false
498
490
  - job: 'api 🔨 app | dev '
499
491
  artifacts: false
500
492
  - job: 'api 🔨 docker | dev '
501
493
  artifacts: false
502
- - job: api 🧪 test
494
+ - job: 'api 🧪 test | dev '
503
495
  artifacts: false
504
496
  - job: 'api 🧾 sbom | dev '
505
497
  artifacts: true
506
- - job: api 🛡 audit
498
+ - job: 'api 🛡 audit | dev '
507
499
  artifacts: false
508
500
  retry: *a1
509
501
  interruptible: true
@@ -544,6 +536,115 @@ api 🧪 test:
544
536
  retry: *a1
545
537
  interruptible: true
546
538
  allow_failure: true
539
+ 'api 🛡 audit | review ':
540
+ stage: test
541
+ image: path/to/docker/jobs-default:the-version
542
+ variables:
543
+ KUBERNETES_CPU_REQUEST: '0.45'
544
+ KUBERNETES_MEMORY_REQUEST: 1Gi
545
+ KUBERNETES_MEMORY_LIMIT: 4Gi
546
+ script:
547
+ - collapseable_section_start "injectvars" "Injecting variables"
548
+ - export APP_PATH="api"
549
+ - collapseable_section_end "injectvars"
550
+ - cd api
551
+ - yarn npm audit --environment production
552
+ rules:
553
+ - when: never
554
+ if: $CI_PIPELINE_SOURCE == "trigger"
555
+ - if: $CI_MERGE_REQUEST_ID
556
+ needs: []
557
+ retry: *a1
558
+ interruptible: true
559
+ allow_failure: true
560
+ 'api 👮 lint | review ':
561
+ stage: test
562
+ image: path/to/docker/jobs-default:the-version
563
+ variables:
564
+ KUBERNETES_CPU_REQUEST: '0.45'
565
+ KUBERNETES_MEMORY_REQUEST: 1Gi
566
+ KUBERNETES_MEMORY_LIMIT: 4Gi
567
+ script:
568
+ - collapseable_section_start "injectvars" "Injecting variables"
569
+ - export APP_PATH="api"
570
+ - collapseable_section_end "injectvars"
571
+ - collapseable_section_start "nodeinstall" "Ensure node version"
572
+ - if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi
573
+ - if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi
574
+ - collapseable_section_end "nodeinstall"
575
+ - cd api
576
+ - collapseable_section_start "nodeinstall" "Ensure node version"
577
+ - if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi
578
+ - if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi
579
+ - collapseable_section_end "nodeinstall"
580
+ - collapseable_section_start "yarninstall" "Yarn install"
581
+ - yarn install --immutable
582
+ - collapseable_section_end "yarninstall"
583
+ - yarn lint
584
+ cache:
585
+ - key: api-yarn-mr$CI_MERGE_REQUEST_IID
586
+ policy: pull-push
587
+ paths:
588
+ - api/.yarn
589
+ fallback_keys:
590
+ - api-yarn
591
+ - key: api-node-modules-mr$CI_MERGE_REQUEST_IID
592
+ policy: pull-push
593
+ paths:
594
+ - api/node_modules
595
+ fallback_keys:
596
+ - api-node-modules
597
+ rules:
598
+ - when: never
599
+ if: $CI_PIPELINE_SOURCE == "trigger"
600
+ - if: $CI_MERGE_REQUEST_ID
601
+ needs: []
602
+ retry: *a1
603
+ interruptible: true
604
+ 'api 🧪 test | review ':
605
+ stage: test
606
+ image: path/to/docker/jobs-testing-chrome:the-version
607
+ variables:
608
+ KUBERNETES_CPU_REQUEST: '0.45'
609
+ KUBERNETES_MEMORY_REQUEST: 1Gi
610
+ KUBERNETES_MEMORY_LIMIT: 4Gi
611
+ script:
612
+ - collapseable_section_start "injectvars" "Injecting variables"
613
+ - export APP_PATH="api"
614
+ - collapseable_section_end "injectvars"
615
+ - collapseable_section_start "nodeinstall" "Ensure node version"
616
+ - if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi
617
+ - if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi
618
+ - collapseable_section_end "nodeinstall"
619
+ - cd api
620
+ - collapseable_section_start "nodeinstall" "Ensure node version"
621
+ - if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi
622
+ - if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi
623
+ - collapseable_section_end "nodeinstall"
624
+ - collapseable_section_start "yarninstall" "Yarn install"
625
+ - yarn install --immutable
626
+ - collapseable_section_end "yarninstall"
627
+ - yarn test
628
+ cache:
629
+ - key: api-yarn-mr$CI_MERGE_REQUEST_IID
630
+ policy: pull-push
631
+ paths:
632
+ - api/.yarn
633
+ fallback_keys:
634
+ - api-yarn
635
+ - key: api-node-modules-mr$CI_MERGE_REQUEST_IID
636
+ policy: pull-push
637
+ paths:
638
+ - api/node_modules
639
+ fallback_keys:
640
+ - api-node-modules
641
+ rules:
642
+ - when: never
643
+ if: $CI_PIPELINE_SOURCE == "trigger"
644
+ - if: $CI_MERGE_REQUEST_ID
645
+ needs: []
646
+ retry: *a1
647
+ interruptible: true
547
648
  'api 🔨 app | review ':
548
649
  stage: build
549
650
  image: path/to/docker/jobs-default:the-version
@@ -603,14 +704,18 @@ api 🧪 test:
603
704
  - collapseable_section_end "yarninstall"
604
705
  - yarn build
605
706
  cache:
606
- - key: api-yarn
707
+ - key: api-yarn-mr$CI_MERGE_REQUEST_IID
607
708
  policy: pull-push
608
709
  paths:
609
710
  - api/.yarn
610
- - key: api-node-modules
711
+ fallback_keys:
712
+ - api-yarn
713
+ - key: api-node-modules-mr$CI_MERGE_REQUEST_IID
611
714
  policy: pull-push
612
715
  paths:
613
716
  - api/node_modules
717
+ fallback_keys:
718
+ - api-node-modules
614
719
  artifacts:
615
720
  paths:
616
721
  - api/__build_info.json
@@ -618,6 +723,7 @@ api 🧪 test:
618
723
  - api/dist
619
724
  exclude:
620
725
  - api/.env
726
+ - api/.next/cache/**/*
621
727
  expire_in: 1 day
622
728
  when: always
623
729
  reports: {}
@@ -676,10 +782,12 @@ api 🧪 test:
676
782
  - docker push $DOCKER_CACHE_IMAGE
677
783
  - collapseable_section_end "docker-push"
678
784
  cache:
679
- - key: api-yarn
785
+ - key: api-yarn-mr$CI_MERGE_REQUEST_IID
680
786
  policy: pull
681
787
  paths:
682
788
  - api/.yarn
789
+ fallback_keys:
790
+ - api-yarn
683
791
  rules:
684
792
  - when: never
685
793
  if: $CI_PIPELINE_SOURCE == "trigger"
@@ -823,17 +931,17 @@ api 🧪 test:
823
931
  - when: on_success
824
932
  if: $CI_MERGE_REQUEST_ID
825
933
  needs:
826
- - job: api 👮 lint
934
+ - job: 'api 👮 lint | review '
827
935
  artifacts: false
828
936
  - job: 'api 🔨 app | review '
829
937
  artifacts: false
830
938
  - job: 'api 🔨 docker | review '
831
939
  artifacts: false
832
- - job: api 🧪 test
940
+ - job: 'api 🧪 test | review '
833
941
  artifacts: false
834
942
  - job: 'api 🧾 sbom | review '
835
943
  artifacts: true
836
- - job: api 🛡 audit
944
+ - job: 'api 🛡 audit | review '
837
945
  artifacts: false
838
946
  retry: *a1
839
947
  interruptible: true
@@ -951,6 +1059,7 @@ api 🧪 test:
951
1059
  - api/dist
952
1060
  exclude:
953
1061
  - api/.env
1062
+ - api/.next/cache/**/*
954
1063
  expire_in: 1 day
955
1064
  when: always
956
1065
  reports: {}
@@ -1271,6 +1380,7 @@ api 🧪 test:
1271
1380
  - api/dist
1272
1381
  exclude:
1273
1382
  - api/.env
1383
+ - api/.next/cache/**/*
1274
1384
  expire_in: 1 day
1275
1385
  when: always
1276
1386
  reports: {}
@@ -175,6 +175,7 @@ before_script:
175
175
  - app/dist
176
176
  exclude:
177
177
  - app/.env
178
+ - app/.next/cache/**/*
178
179
  expire_in: 1 day
179
180
  when: always
180
181
  reports: {}
@@ -467,14 +468,18 @@ before_script:
467
468
  - collapseable_section_end "yarninstall"
468
469
  - yarn build-storybook --quiet -o ./dist
469
470
  cache:
470
- - key: app-yarn
471
+ - key: app-yarn-mr$CI_MERGE_REQUEST_IID
471
472
  policy: pull-push
472
473
  paths:
473
474
  - app/.yarn
474
- - key: app-node-modules
475
+ fallback_keys:
476
+ - app-yarn
477
+ - key: app-node-modules-mr$CI_MERGE_REQUEST_IID
475
478
  policy: pull-push
476
479
  paths:
477
480
  - app/node_modules
481
+ fallback_keys:
482
+ - app-node-modules
478
483
  artifacts:
479
484
  paths:
480
485
  - app/__build_info.json
@@ -482,6 +487,7 @@ before_script:
482
487
  - app/dist
483
488
  exclude:
484
489
  - app/.env
490
+ - app/.next/cache/**/*
485
491
  expire_in: 1 day
486
492
  when: always
487
493
  reports: {}
@@ -540,10 +546,12 @@ before_script:
540
546
  - docker push $DOCKER_CACHE_IMAGE
541
547
  - collapseable_section_end "docker-push"
542
548
  cache:
543
- - key: app-yarn
549
+ - key: app-yarn-mr$CI_MERGE_REQUEST_IID
544
550
  policy: pull
545
551
  paths:
546
552
  - app/.yarn
553
+ fallback_keys:
554
+ - app-yarn
547
555
  rules:
548
556
  - when: never
549
557
  if: $CI_PIPELINE_SOURCE == "trigger"
@@ -791,6 +799,7 @@ before_script:
791
799
  - app/dist
792
800
  exclude:
793
801
  - app/.env
802
+ - app/.next/cache/**/*
794
803
  expire_in: 1 day
795
804
  when: always
796
805
  reports: {}
@@ -1093,6 +1102,7 @@ before_script:
1093
1102
  - app/dist
1094
1103
  exclude:
1095
1104
  - app/.env
1105
+ - app/.next/cache/**/*
1096
1106
  expire_in: 1 day
1097
1107
  when: always
1098
1108
  reports: {}
@@ -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
- www 🛡 audit:
106
+ 'www 🛡 audit | dev ':
107
107
  stage: test
108
108
  image: path/to/docker/jobs-default:the-version
109
109
  variables:
@@ -120,9 +120,6 @@ www 🛡 audit:
120
120
  - when: never
121
121
  if: $CI_PIPELINE_SOURCE == "trigger"
122
122
  - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $CI_COMMIT_MESSAGE !~ /^chore\\(release\\).*/
123
- - when: never
124
- if: $CI_PIPELINE_SOURCE == "trigger"
125
- - if: $CI_MERGE_REQUEST_ID
126
123
  needs: []
127
124
  retry: &a1
128
125
  max: 2
@@ -131,7 +128,7 @@ www 🛡 audit:
131
128
  - stuck_or_timeout_failure
132
129
  interruptible: true
133
130
  allow_failure: true
134
- www 👮 lint:
131
+ 'www 👮 lint | dev ':
135
132
  stage: test
136
133
  image: path/to/docker/jobs-default:the-version
137
134
  variables:
@@ -168,13 +165,10 @@ www 👮 lint:
168
165
  - when: never
169
166
  if: $CI_PIPELINE_SOURCE == "trigger"
170
167
  - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $CI_COMMIT_MESSAGE !~ /^chore\\(release\\).*/
171
- - when: never
172
- if: $CI_PIPELINE_SOURCE == "trigger"
173
- - if: $CI_MERGE_REQUEST_ID
174
168
  needs: []
175
169
  retry: *a1
176
170
  interruptible: true
177
- www 🧪 test:
171
+ 'www 🧪 test | dev ':
178
172
  stage: test
179
173
  image: path/to/docker/jobs-testing-chrome:the-version
180
174
  variables:
@@ -211,9 +205,6 @@ www 🧪 test:
211
205
  - when: never
212
206
  if: $CI_PIPELINE_SOURCE == "trigger"
213
207
  - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $CI_COMMIT_MESSAGE !~ /^chore\\(release\\).*/
214
- - when: never
215
- if: $CI_PIPELINE_SOURCE == "trigger"
216
- - if: $CI_MERGE_REQUEST_ID
217
208
  needs: []
218
209
  retry: *a1
219
210
  interruptible: true
@@ -293,6 +284,7 @@ www 🧪 test:
293
284
  - www/dist
294
285
  exclude:
295
286
  - www/.env
287
+ - www/.next/cache/**/*
296
288
  expire_in: 1 day
297
289
  when: always
298
290
  reports: {}
@@ -481,17 +473,17 @@ www 🧪 test:
481
473
  - when: on_success
482
474
  if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $CI_COMMIT_MESSAGE !~ /^chore\\(release\\).*/
483
475
  needs:
484
- - job: www 👮 lint
476
+ - job: 'www 👮 lint | dev '
485
477
  artifacts: false
486
478
  - job: 'www 🔨 app | dev '
487
479
  artifacts: false
488
480
  - job: 'www 🔨 docker | dev '
489
481
  artifacts: false
490
- - job: www 🧪 test
482
+ - job: 'www 🧪 test | dev '
491
483
  artifacts: false
492
484
  - job: 'www 🧾 sbom | dev '
493
485
  artifacts: true
494
- - job: www 🛡 audit
486
+ - job: 'www 🛡 audit | dev '
495
487
  artifacts: false
496
488
  retry: *a1
497
489
  interruptible: true
@@ -530,6 +522,115 @@ www 🧪 test:
530
522
  retry: *a1
531
523
  interruptible: true
532
524
  allow_failure: true
525
+ 'www 🛡 audit | review ':
526
+ stage: test
527
+ image: path/to/docker/jobs-default:the-version
528
+ variables:
529
+ KUBERNETES_CPU_REQUEST: '0.45'
530
+ KUBERNETES_MEMORY_REQUEST: 1Gi
531
+ KUBERNETES_MEMORY_LIMIT: 4Gi
532
+ script:
533
+ - collapseable_section_start "injectvars" "Injecting variables"
534
+ - export APP_PATH="www"
535
+ - collapseable_section_end "injectvars"
536
+ - cd www
537
+ - yarn npm audit --environment production
538
+ rules:
539
+ - when: never
540
+ if: $CI_PIPELINE_SOURCE == "trigger"
541
+ - if: $CI_MERGE_REQUEST_ID
542
+ needs: []
543
+ retry: *a1
544
+ interruptible: true
545
+ allow_failure: true
546
+ 'www 👮 lint | review ':
547
+ stage: test
548
+ image: path/to/docker/jobs-default:the-version
549
+ variables:
550
+ KUBERNETES_CPU_REQUEST: '0.45'
551
+ KUBERNETES_MEMORY_REQUEST: 1Gi
552
+ KUBERNETES_MEMORY_LIMIT: 4Gi
553
+ script:
554
+ - collapseable_section_start "injectvars" "Injecting variables"
555
+ - export APP_PATH="www"
556
+ - collapseable_section_end "injectvars"
557
+ - collapseable_section_start "nodeinstall" "Ensure node version"
558
+ - if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi
559
+ - if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi
560
+ - collapseable_section_end "nodeinstall"
561
+ - cd www
562
+ - collapseable_section_start "nodeinstall" "Ensure node version"
563
+ - if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi
564
+ - if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi
565
+ - collapseable_section_end "nodeinstall"
566
+ - collapseable_section_start "yarninstall" "Yarn install"
567
+ - yarn install --immutable
568
+ - collapseable_section_end "yarninstall"
569
+ - yarn lint
570
+ cache:
571
+ - key: www-yarn-mr$CI_MERGE_REQUEST_IID
572
+ policy: pull-push
573
+ paths:
574
+ - www/.yarn
575
+ fallback_keys:
576
+ - www-yarn
577
+ - key: www-node-modules-mr$CI_MERGE_REQUEST_IID
578
+ policy: pull-push
579
+ paths:
580
+ - www/node_modules
581
+ fallback_keys:
582
+ - www-node-modules
583
+ rules:
584
+ - when: never
585
+ if: $CI_PIPELINE_SOURCE == "trigger"
586
+ - if: $CI_MERGE_REQUEST_ID
587
+ needs: []
588
+ retry: *a1
589
+ interruptible: true
590
+ 'www 🧪 test | review ':
591
+ stage: test
592
+ image: path/to/docker/jobs-testing-chrome:the-version
593
+ variables:
594
+ KUBERNETES_CPU_REQUEST: '0.45'
595
+ KUBERNETES_MEMORY_REQUEST: 1Gi
596
+ KUBERNETES_MEMORY_LIMIT: 4Gi
597
+ script:
598
+ - collapseable_section_start "injectvars" "Injecting variables"
599
+ - export APP_PATH="www"
600
+ - collapseable_section_end "injectvars"
601
+ - collapseable_section_start "nodeinstall" "Ensure node version"
602
+ - if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi
603
+ - if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi
604
+ - collapseable_section_end "nodeinstall"
605
+ - cd www
606
+ - collapseable_section_start "nodeinstall" "Ensure node version"
607
+ - if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi
608
+ - if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi
609
+ - collapseable_section_end "nodeinstall"
610
+ - collapseable_section_start "yarninstall" "Yarn install"
611
+ - yarn install --immutable
612
+ - collapseable_section_end "yarninstall"
613
+ - yarn test
614
+ cache:
615
+ - key: www-yarn-mr$CI_MERGE_REQUEST_IID
616
+ policy: pull-push
617
+ paths:
618
+ - www/.yarn
619
+ fallback_keys:
620
+ - www-yarn
621
+ - key: www-node-modules-mr$CI_MERGE_REQUEST_IID
622
+ policy: pull-push
623
+ paths:
624
+ - www/node_modules
625
+ fallback_keys:
626
+ - www-node-modules
627
+ rules:
628
+ - when: never
629
+ if: $CI_PIPELINE_SOURCE == "trigger"
630
+ - if: $CI_MERGE_REQUEST_ID
631
+ needs: []
632
+ retry: *a1
633
+ interruptible: true
533
634
  'www 🔨 app | review ':
534
635
  stage: build
535
636
  image: path/to/docker/jobs-default:the-version
@@ -587,18 +688,24 @@ www 🧪 test:
587
688
  - collapseable_section_end "yarninstall"
588
689
  - yarn build
589
690
  cache:
590
- - key: www-yarn
691
+ - key: www-yarn-mr$CI_MERGE_REQUEST_IID
591
692
  policy: pull-push
592
693
  paths:
593
694
  - www/.yarn
594
- - key: www-node-modules
695
+ fallback_keys:
696
+ - www-yarn
697
+ - key: www-node-modules-mr$CI_MERGE_REQUEST_IID
595
698
  policy: pull-push
596
699
  paths:
597
700
  - www/node_modules
598
- - key: www-default
701
+ fallback_keys:
702
+ - www-node-modules
703
+ - key: www-default-mr$CI_MERGE_REQUEST_IID
599
704
  policy: pull-push
600
705
  paths:
601
706
  - www/.next/cache
707
+ fallback_keys:
708
+ - www-default
602
709
  artifacts:
603
710
  paths:
604
711
  - www/__build_info.json
@@ -606,6 +713,7 @@ www 🧪 test:
606
713
  - www/dist
607
714
  exclude:
608
715
  - www/.env
716
+ - www/.next/cache/**/*
609
717
  expire_in: 1 day
610
718
  when: always
611
719
  reports: {}
@@ -664,10 +772,12 @@ www 🧪 test:
664
772
  - docker push $DOCKER_CACHE_IMAGE
665
773
  - collapseable_section_end "docker-push"
666
774
  cache:
667
- - key: www-yarn
775
+ - key: www-yarn-mr$CI_MERGE_REQUEST_IID
668
776
  policy: pull
669
777
  paths:
670
778
  - www/.yarn
779
+ fallback_keys:
780
+ - www-yarn
671
781
  rules:
672
782
  - when: never
673
783
  if: $CI_PIPELINE_SOURCE == "trigger"
@@ -797,17 +907,17 @@ www 🧪 test:
797
907
  - when: on_success
798
908
  if: $CI_MERGE_REQUEST_ID
799
909
  needs:
800
- - job: www 👮 lint
910
+ - job: 'www 👮 lint | review '
801
911
  artifacts: false
802
912
  - job: 'www 🔨 app | review '
803
913
  artifacts: false
804
914
  - job: 'www 🔨 docker | review '
805
915
  artifacts: false
806
- - job: www 🧪 test
916
+ - job: 'www 🧪 test | review '
807
917
  artifacts: false
808
918
  - job: 'www 🧾 sbom | review '
809
919
  artifacts: true
810
- - job: www 🛡 audit
920
+ - job: 'www 🛡 audit | review '
811
921
  artifacts: false
812
922
  retry: *a1
813
923
  interruptible: true
@@ -925,6 +1035,7 @@ www 🧪 test:
925
1035
  - www/dist
926
1036
  exclude:
927
1037
  - www/.env
1038
+ - www/.next/cache/**/*
928
1039
  expire_in: 1 day
929
1040
  when: always
930
1041
  reports: {}
@@ -1231,6 +1342,7 @@ www 🧪 test:
1231
1342
  - www/dist
1232
1343
  exclude:
1233
1344
  - www/.env
1345
+ - www/.next/cache/**/*
1234
1346
  expire_in: 1 day
1235
1347
  when: always
1236
1348
  reports: {}