@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
@@ -289,6 +280,7 @@ api ๐Ÿงช test:
289
280
  - api/dist
290
281
  exclude:
291
282
  - api/.env
283
+ - api/.next/cache/**/*
292
284
  expire_in: 1 day
293
285
  when: always
294
286
  reports: {}
@@ -477,17 +469,17 @@ api ๐Ÿงช test:
477
469
  - when: on_success
478
470
  if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $CI_COMMIT_MESSAGE !~ /^chore\\(release\\).*/
479
471
  needs:
480
- - job: api ๐Ÿ‘ฎ lint
472
+ - job: 'api ๐Ÿ‘ฎ lint | dev '
481
473
  artifacts: false
482
474
  - job: 'api ๐Ÿ”จ app | dev '
483
475
  artifacts: false
484
476
  - job: 'api ๐Ÿ”จ docker | dev '
485
477
  artifacts: false
486
- - job: api ๐Ÿงช test
478
+ - job: 'api ๐Ÿงช test | dev '
487
479
  artifacts: false
488
480
  - job: 'api ๐Ÿงพ sbom | dev '
489
481
  artifacts: true
490
- - job: api ๐Ÿ›ก audit
482
+ - job: 'api ๐Ÿ›ก audit | dev '
491
483
  artifacts: false
492
484
  retry: *a1
493
485
  interruptible: true
@@ -526,6 +518,115 @@ api ๐Ÿงช test:
526
518
  retry: *a1
527
519
  interruptible: true
528
520
  allow_failure: true
521
+ 'api ๐Ÿ›ก audit | review ':
522
+ stage: test
523
+ image: path/to/docker/jobs-default:the-version
524
+ variables:
525
+ KUBERNETES_CPU_REQUEST: '0.45'
526
+ KUBERNETES_MEMORY_REQUEST: 1Gi
527
+ KUBERNETES_MEMORY_LIMIT: 4Gi
528
+ script:
529
+ - collapseable_section_start "injectvars" "Injecting variables"
530
+ - export APP_PATH="api"
531
+ - collapseable_section_end "injectvars"
532
+ - cd api
533
+ - yarn npm audit --environment production
534
+ rules:
535
+ - when: never
536
+ if: $CI_PIPELINE_SOURCE == "trigger"
537
+ - if: $CI_MERGE_REQUEST_ID
538
+ needs: []
539
+ retry: *a1
540
+ interruptible: true
541
+ allow_failure: true
542
+ 'api ๐Ÿ‘ฎ lint | review ':
543
+ stage: test
544
+ image: path/to/docker/jobs-default:the-version
545
+ variables:
546
+ KUBERNETES_CPU_REQUEST: '0.45'
547
+ KUBERNETES_MEMORY_REQUEST: 1Gi
548
+ KUBERNETES_MEMORY_LIMIT: 4Gi
549
+ script:
550
+ - collapseable_section_start "injectvars" "Injecting variables"
551
+ - export APP_PATH="api"
552
+ - collapseable_section_end "injectvars"
553
+ - collapseable_section_start "nodeinstall" "Ensure node version"
554
+ - if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi
555
+ - if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi
556
+ - collapseable_section_end "nodeinstall"
557
+ - cd api
558
+ - collapseable_section_start "nodeinstall" "Ensure node version"
559
+ - if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi
560
+ - if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi
561
+ - collapseable_section_end "nodeinstall"
562
+ - collapseable_section_start "yarninstall" "Yarn install"
563
+ - yarn install --immutable
564
+ - collapseable_section_end "yarninstall"
565
+ - yarn lint
566
+ cache:
567
+ - key: api-yarn-mr$CI_MERGE_REQUEST_IID
568
+ policy: pull-push
569
+ paths:
570
+ - api/.yarn
571
+ fallback_keys:
572
+ - api-yarn
573
+ - key: api-node-modules-mr$CI_MERGE_REQUEST_IID
574
+ policy: pull-push
575
+ paths:
576
+ - api/node_modules
577
+ fallback_keys:
578
+ - api-node-modules
579
+ rules:
580
+ - when: never
581
+ if: $CI_PIPELINE_SOURCE == "trigger"
582
+ - if: $CI_MERGE_REQUEST_ID
583
+ needs: []
584
+ retry: *a1
585
+ interruptible: true
586
+ 'api ๐Ÿงช test | review ':
587
+ stage: test
588
+ image: path/to/docker/jobs-testing-chrome:the-version
589
+ variables:
590
+ KUBERNETES_CPU_REQUEST: '0.45'
591
+ KUBERNETES_MEMORY_REQUEST: 1Gi
592
+ KUBERNETES_MEMORY_LIMIT: 4Gi
593
+ script:
594
+ - collapseable_section_start "injectvars" "Injecting variables"
595
+ - export APP_PATH="api"
596
+ - collapseable_section_end "injectvars"
597
+ - collapseable_section_start "nodeinstall" "Ensure node version"
598
+ - if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi
599
+ - if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi
600
+ - collapseable_section_end "nodeinstall"
601
+ - cd api
602
+ - collapseable_section_start "nodeinstall" "Ensure node version"
603
+ - if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi
604
+ - if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi
605
+ - collapseable_section_end "nodeinstall"
606
+ - collapseable_section_start "yarninstall" "Yarn install"
607
+ - yarn install --immutable
608
+ - collapseable_section_end "yarninstall"
609
+ - yarn test
610
+ cache:
611
+ - key: api-yarn-mr$CI_MERGE_REQUEST_IID
612
+ policy: pull-push
613
+ paths:
614
+ - api/.yarn
615
+ fallback_keys:
616
+ - api-yarn
617
+ - key: api-node-modules-mr$CI_MERGE_REQUEST_IID
618
+ policy: pull-push
619
+ paths:
620
+ - api/node_modules
621
+ fallback_keys:
622
+ - api-node-modules
623
+ rules:
624
+ - when: never
625
+ if: $CI_PIPELINE_SOURCE == "trigger"
626
+ - if: $CI_MERGE_REQUEST_ID
627
+ needs: []
628
+ retry: *a1
629
+ interruptible: true
529
630
  'api ๐Ÿ”จ app | review ':
530
631
  stage: build
531
632
  image: path/to/docker/jobs-default:the-version
@@ -583,14 +684,18 @@ api ๐Ÿงช test:
583
684
  - collapseable_section_end "yarninstall"
584
685
  - yarn build
585
686
  cache:
586
- - key: api-yarn
687
+ - key: api-yarn-mr$CI_MERGE_REQUEST_IID
587
688
  policy: pull-push
588
689
  paths:
589
690
  - api/.yarn
590
- - key: api-node-modules
691
+ fallback_keys:
692
+ - api-yarn
693
+ - key: api-node-modules-mr$CI_MERGE_REQUEST_IID
591
694
  policy: pull-push
592
695
  paths:
593
696
  - api/node_modules
697
+ fallback_keys:
698
+ - api-node-modules
594
699
  artifacts:
595
700
  paths:
596
701
  - api/__build_info.json
@@ -598,6 +703,7 @@ api ๐Ÿงช test:
598
703
  - api/dist
599
704
  exclude:
600
705
  - api/.env
706
+ - api/.next/cache/**/*
601
707
  expire_in: 1 day
602
708
  when: always
603
709
  reports: {}
@@ -656,10 +762,12 @@ api ๐Ÿงช test:
656
762
  - docker push $DOCKER_CACHE_IMAGE
657
763
  - collapseable_section_end "docker-push"
658
764
  cache:
659
- - key: api-yarn
765
+ - key: api-yarn-mr$CI_MERGE_REQUEST_IID
660
766
  policy: pull
661
767
  paths:
662
768
  - api/.yarn
769
+ fallback_keys:
770
+ - api-yarn
663
771
  rules:
664
772
  - when: never
665
773
  if: $CI_PIPELINE_SOURCE == "trigger"
@@ -789,17 +897,17 @@ api ๐Ÿงช test:
789
897
  - when: on_success
790
898
  if: $CI_MERGE_REQUEST_ID
791
899
  needs:
792
- - job: api ๐Ÿ‘ฎ lint
900
+ - job: 'api ๐Ÿ‘ฎ lint | review '
793
901
  artifacts: false
794
902
  - job: 'api ๐Ÿ”จ app | review '
795
903
  artifacts: false
796
904
  - job: 'api ๐Ÿ”จ docker | review '
797
905
  artifacts: false
798
- - job: api ๐Ÿงช test
906
+ - job: 'api ๐Ÿงช test | review '
799
907
  artifacts: false
800
908
  - job: 'api ๐Ÿงพ sbom | review '
801
909
  artifacts: true
802
- - job: api ๐Ÿ›ก audit
910
+ - job: 'api ๐Ÿ›ก audit | review '
803
911
  artifacts: false
804
912
  retry: *a1
805
913
  interruptible: true
@@ -913,6 +1021,7 @@ api ๐Ÿงช test:
913
1021
  - api/dist
914
1022
  exclude:
915
1023
  - api/.env
1024
+ - api/.next/cache/**/*
916
1025
  expire_in: 1 day
917
1026
  when: always
918
1027
  reports: {}
@@ -1215,6 +1324,7 @@ api ๐Ÿงช test:
1215
1324
  - api/dist
1216
1325
  exclude:
1217
1326
  - api/.env
1327
+ - api/.next/cache/**/*
1218
1328
  expire_in: 1 day
1219
1329
  when: always
1220
1330
  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
- 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
@@ -289,6 +280,7 @@ api ๐Ÿงช test:
289
280
  - api/dist
290
281
  exclude:
291
282
  - api/.env
283
+ - api/.next/cache/**/*
292
284
  expire_in: 1 day
293
285
  when: always
294
286
  reports: {}
@@ -477,17 +469,17 @@ api ๐Ÿงช test:
477
469
  - when: on_success
478
470
  if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $CI_COMMIT_MESSAGE !~ /^chore\\(release\\).*/
479
471
  needs:
480
- - job: api ๐Ÿ‘ฎ lint
472
+ - job: 'api ๐Ÿ‘ฎ lint | dev '
481
473
  artifacts: false
482
474
  - job: 'api ๐Ÿ”จ app | dev '
483
475
  artifacts: false
484
476
  - job: 'api ๐Ÿ”จ docker | dev '
485
477
  artifacts: false
486
- - job: api ๐Ÿงช test
478
+ - job: 'api ๐Ÿงช test | dev '
487
479
  artifacts: false
488
480
  - job: 'api ๐Ÿงพ sbom | dev '
489
481
  artifacts: true
490
- - job: api ๐Ÿ›ก audit
482
+ - job: 'api ๐Ÿ›ก audit | dev '
491
483
  artifacts: false
492
484
  retry: *a1
493
485
  interruptible: true
@@ -526,6 +518,115 @@ api ๐Ÿงช test:
526
518
  retry: *a1
527
519
  interruptible: true
528
520
  allow_failure: true
521
+ 'api ๐Ÿ›ก audit | review ':
522
+ stage: test
523
+ image: path/to/docker/jobs-default:the-version
524
+ variables:
525
+ KUBERNETES_CPU_REQUEST: '0.45'
526
+ KUBERNETES_MEMORY_REQUEST: 1Gi
527
+ KUBERNETES_MEMORY_LIMIT: 4Gi
528
+ script:
529
+ - collapseable_section_start "injectvars" "Injecting variables"
530
+ - export APP_PATH="api"
531
+ - collapseable_section_end "injectvars"
532
+ - cd api
533
+ - yarn npm audit --environment production
534
+ rules:
535
+ - when: never
536
+ if: $CI_PIPELINE_SOURCE == "trigger"
537
+ - if: $CI_MERGE_REQUEST_ID
538
+ needs: []
539
+ retry: *a1
540
+ interruptible: true
541
+ allow_failure: true
542
+ 'api ๐Ÿ‘ฎ lint | review ':
543
+ stage: test
544
+ image: path/to/docker/jobs-default:the-version
545
+ variables:
546
+ KUBERNETES_CPU_REQUEST: '0.45'
547
+ KUBERNETES_MEMORY_REQUEST: 1Gi
548
+ KUBERNETES_MEMORY_LIMIT: 4Gi
549
+ script:
550
+ - collapseable_section_start "injectvars" "Injecting variables"
551
+ - export APP_PATH="api"
552
+ - collapseable_section_end "injectvars"
553
+ - collapseable_section_start "nodeinstall" "Ensure node version"
554
+ - if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi
555
+ - if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi
556
+ - collapseable_section_end "nodeinstall"
557
+ - cd api
558
+ - collapseable_section_start "nodeinstall" "Ensure node version"
559
+ - if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi
560
+ - if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi
561
+ - collapseable_section_end "nodeinstall"
562
+ - collapseable_section_start "yarninstall" "Yarn install"
563
+ - yarn install --immutable
564
+ - collapseable_section_end "yarninstall"
565
+ - yarn lint
566
+ cache:
567
+ - key: api-yarn-mr$CI_MERGE_REQUEST_IID
568
+ policy: pull-push
569
+ paths:
570
+ - api/.yarn
571
+ fallback_keys:
572
+ - api-yarn
573
+ - key: api-node-modules-mr$CI_MERGE_REQUEST_IID
574
+ policy: pull-push
575
+ paths:
576
+ - api/node_modules
577
+ fallback_keys:
578
+ - api-node-modules
579
+ rules:
580
+ - when: never
581
+ if: $CI_PIPELINE_SOURCE == "trigger"
582
+ - if: $CI_MERGE_REQUEST_ID
583
+ needs: []
584
+ retry: *a1
585
+ interruptible: true
586
+ 'api ๐Ÿงช test | review ':
587
+ stage: test
588
+ image: path/to/docker/jobs-testing-chrome:the-version
589
+ variables:
590
+ KUBERNETES_CPU_REQUEST: '0.45'
591
+ KUBERNETES_MEMORY_REQUEST: 1Gi
592
+ KUBERNETES_MEMORY_LIMIT: 4Gi
593
+ script:
594
+ - collapseable_section_start "injectvars" "Injecting variables"
595
+ - export APP_PATH="api"
596
+ - collapseable_section_end "injectvars"
597
+ - collapseable_section_start "nodeinstall" "Ensure node version"
598
+ - if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi
599
+ - if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi
600
+ - collapseable_section_end "nodeinstall"
601
+ - cd api
602
+ - collapseable_section_start "nodeinstall" "Ensure node version"
603
+ - if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi
604
+ - if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi
605
+ - collapseable_section_end "nodeinstall"
606
+ - collapseable_section_start "yarninstall" "Yarn install"
607
+ - yarn install --immutable
608
+ - collapseable_section_end "yarninstall"
609
+ - yarn test
610
+ cache:
611
+ - key: api-yarn-mr$CI_MERGE_REQUEST_IID
612
+ policy: pull-push
613
+ paths:
614
+ - api/.yarn
615
+ fallback_keys:
616
+ - api-yarn
617
+ - key: api-node-modules-mr$CI_MERGE_REQUEST_IID
618
+ policy: pull-push
619
+ paths:
620
+ - api/node_modules
621
+ fallback_keys:
622
+ - api-node-modules
623
+ rules:
624
+ - when: never
625
+ if: $CI_PIPELINE_SOURCE == "trigger"
626
+ - if: $CI_MERGE_REQUEST_ID
627
+ needs: []
628
+ retry: *a1
629
+ interruptible: true
529
630
  'api ๐Ÿ”จ app | review ':
530
631
  stage: build
531
632
  image: path/to/docker/jobs-default:the-version
@@ -585,14 +686,18 @@ api ๐Ÿงช test:
585
686
  - collapseable_section_end "yarninstall"
586
687
  - yarn build
587
688
  cache:
588
- - key: api-yarn
689
+ - key: api-yarn-mr$CI_MERGE_REQUEST_IID
589
690
  policy: pull-push
590
691
  paths:
591
692
  - api/.yarn
592
- - key: api-node-modules
693
+ fallback_keys:
694
+ - api-yarn
695
+ - key: api-node-modules-mr$CI_MERGE_REQUEST_IID
593
696
  policy: pull-push
594
697
  paths:
595
698
  - api/node_modules
699
+ fallback_keys:
700
+ - api-node-modules
596
701
  artifacts:
597
702
  paths:
598
703
  - api/__build_info.json
@@ -600,6 +705,7 @@ api ๐Ÿงช test:
600
705
  - api/dist
601
706
  exclude:
602
707
  - api/.env
708
+ - api/.next/cache/**/*
603
709
  expire_in: 1 day
604
710
  when: always
605
711
  reports: {}
@@ -658,10 +764,12 @@ api ๐Ÿงช test:
658
764
  - docker push $DOCKER_CACHE_IMAGE
659
765
  - collapseable_section_end "docker-push"
660
766
  cache:
661
- - key: api-yarn
767
+ - key: api-yarn-mr$CI_MERGE_REQUEST_IID
662
768
  policy: pull
663
769
  paths:
664
770
  - api/.yarn
771
+ fallback_keys:
772
+ - api-yarn
665
773
  rules:
666
774
  - when: never
667
775
  if: $CI_PIPELINE_SOURCE == "trigger"
@@ -804,17 +912,17 @@ api ๐Ÿงช test:
804
912
  - when: on_success
805
913
  if: $CI_MERGE_REQUEST_ID
806
914
  needs:
807
- - job: api ๐Ÿ‘ฎ lint
915
+ - job: 'api ๐Ÿ‘ฎ lint | review '
808
916
  artifacts: false
809
917
  - job: 'api ๐Ÿ”จ app | review '
810
918
  artifacts: false
811
919
  - job: 'api ๐Ÿ”จ docker | review '
812
920
  artifacts: false
813
- - job: api ๐Ÿงช test
921
+ - job: 'api ๐Ÿงช test | review '
814
922
  artifacts: false
815
923
  - job: 'api ๐Ÿงพ sbom | review '
816
924
  artifacts: true
817
- - job: api ๐Ÿ›ก audit
925
+ - job: 'api ๐Ÿ›ก audit | review '
818
926
  artifacts: false
819
927
  retry: *a1
820
928
  interruptible: true
@@ -931,6 +1039,7 @@ api ๐Ÿงช test:
931
1039
  - api/dist
932
1040
  exclude:
933
1041
  - api/.env
1042
+ - api/.next/cache/**/*
934
1043
  expire_in: 1 day
935
1044
  when: always
936
1045
  reports: {}
@@ -1233,6 +1342,7 @@ api ๐Ÿงช test:
1233
1342
  - api/dist
1234
1343
  exclude:
1235
1344
  - api/.env
1345
+ - api/.next/cache/**/*
1236
1346
  expire_in: 1 day
1237
1347
  when: always
1238
1348
  reports: {}