@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
@@ -269,6 +260,8 @@ api ๐Ÿงช test:
269
260
  - api/__build_info.json
270
261
  - api/.next
271
262
  - api/dist
263
+ exclude:
264
+ - api/.next/cache/**/*
272
265
  expire_in: 1 day
273
266
  when: always
274
267
  reports: {}
@@ -483,17 +476,17 @@ api ๐Ÿงช test:
483
476
  - when: on_success
484
477
  if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $CI_COMMIT_MESSAGE !~ /^chore\\(release\\).*/
485
478
  needs:
486
- - job: api ๐Ÿ‘ฎ lint
479
+ - job: 'api ๐Ÿ‘ฎ lint | dev '
487
480
  artifacts: false
488
481
  - job: 'api ๐Ÿ”จ app | dev '
489
482
  artifacts: false
490
483
  - job: 'api ๐Ÿ”จ docker | dev '
491
484
  artifacts: false
492
- - job: api ๐Ÿงช test
485
+ - job: 'api ๐Ÿงช test | dev '
493
486
  artifacts: false
494
487
  - job: 'api ๐Ÿงพ sbom | dev '
495
488
  artifacts: true
496
- - job: api ๐Ÿ›ก audit
489
+ - job: 'api ๐Ÿ›ก audit | dev '
497
490
  artifacts: false
498
491
  retry: *a1
499
492
  interruptible: true
@@ -598,6 +591,115 @@ api ๐Ÿงช test:
598
591
  retry: *a1
599
592
  interruptible: true
600
593
  allow_failure: true
594
+ 'api ๐Ÿ›ก audit | review ':
595
+ stage: test
596
+ image: path/to/docker/jobs-default:the-version
597
+ variables:
598
+ KUBERNETES_CPU_REQUEST: '0.45'
599
+ KUBERNETES_MEMORY_REQUEST: 1Gi
600
+ KUBERNETES_MEMORY_LIMIT: 4Gi
601
+ script:
602
+ - collapseable_section_start "injectvars" "Injecting variables"
603
+ - export APP_PATH="api"
604
+ - collapseable_section_end "injectvars"
605
+ - cd api
606
+ - yarn npm audit --environment production
607
+ rules:
608
+ - when: never
609
+ if: $CI_PIPELINE_SOURCE == "trigger"
610
+ - if: $CI_MERGE_REQUEST_ID
611
+ needs: []
612
+ retry: *a1
613
+ interruptible: true
614
+ allow_failure: true
615
+ 'api ๐Ÿ‘ฎ lint | review ':
616
+ stage: test
617
+ image: path/to/docker/jobs-default:the-version
618
+ variables:
619
+ KUBERNETES_CPU_REQUEST: '0.45'
620
+ KUBERNETES_MEMORY_REQUEST: 1Gi
621
+ KUBERNETES_MEMORY_LIMIT: 4Gi
622
+ script:
623
+ - collapseable_section_start "injectvars" "Injecting variables"
624
+ - export APP_PATH="api"
625
+ - collapseable_section_end "injectvars"
626
+ - collapseable_section_start "nodeinstall" "Ensure node version"
627
+ - if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi
628
+ - if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi
629
+ - collapseable_section_end "nodeinstall"
630
+ - cd api
631
+ - collapseable_section_start "nodeinstall" "Ensure node version"
632
+ - if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi
633
+ - if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi
634
+ - collapseable_section_end "nodeinstall"
635
+ - collapseable_section_start "yarninstall" "Yarn install"
636
+ - yarn install --immutable
637
+ - collapseable_section_end "yarninstall"
638
+ - yarn lint
639
+ cache:
640
+ - key: api-yarn-mr$CI_MERGE_REQUEST_IID
641
+ policy: pull-push
642
+ paths:
643
+ - api/.yarn
644
+ fallback_keys:
645
+ - api-yarn
646
+ - key: api-node-modules-mr$CI_MERGE_REQUEST_IID
647
+ policy: pull-push
648
+ paths:
649
+ - api/node_modules
650
+ fallback_keys:
651
+ - api-node-modules
652
+ rules:
653
+ - when: never
654
+ if: $CI_PIPELINE_SOURCE == "trigger"
655
+ - if: $CI_MERGE_REQUEST_ID
656
+ needs: []
657
+ retry: *a1
658
+ interruptible: true
659
+ 'api ๐Ÿงช test | review ':
660
+ stage: test
661
+ image: path/to/docker/jobs-testing-chrome:the-version
662
+ variables:
663
+ KUBERNETES_CPU_REQUEST: '0.45'
664
+ KUBERNETES_MEMORY_REQUEST: 1Gi
665
+ KUBERNETES_MEMORY_LIMIT: 4Gi
666
+ script:
667
+ - collapseable_section_start "injectvars" "Injecting variables"
668
+ - export APP_PATH="api"
669
+ - collapseable_section_end "injectvars"
670
+ - collapseable_section_start "nodeinstall" "Ensure node version"
671
+ - if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi
672
+ - if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi
673
+ - collapseable_section_end "nodeinstall"
674
+ - cd api
675
+ - collapseable_section_start "nodeinstall" "Ensure node version"
676
+ - if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi
677
+ - if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi
678
+ - collapseable_section_end "nodeinstall"
679
+ - collapseable_section_start "yarninstall" "Yarn install"
680
+ - yarn install --immutable
681
+ - collapseable_section_end "yarninstall"
682
+ - yarn test
683
+ cache:
684
+ - key: api-yarn-mr$CI_MERGE_REQUEST_IID
685
+ policy: pull-push
686
+ paths:
687
+ - api/.yarn
688
+ fallback_keys:
689
+ - api-yarn
690
+ - key: api-node-modules-mr$CI_MERGE_REQUEST_IID
691
+ policy: pull-push
692
+ paths:
693
+ - api/node_modules
694
+ fallback_keys:
695
+ - api-node-modules
696
+ rules:
697
+ - when: never
698
+ if: $CI_PIPELINE_SOURCE == "trigger"
699
+ - if: $CI_MERGE_REQUEST_ID
700
+ needs: []
701
+ retry: *a1
702
+ interruptible: true
601
703
  'api ๐Ÿ”จ app | review ':
602
704
  stage: build
603
705
  image: path/to/docker/jobs-default:the-version
@@ -637,19 +739,25 @@ api ๐Ÿงช test:
637
739
  - collapseable_section_end "yarninstall"
638
740
  - yarn build
639
741
  cache:
640
- - key: api-yarn
742
+ - key: api-yarn-mr$CI_MERGE_REQUEST_IID
641
743
  policy: pull-push
642
744
  paths:
643
745
  - api/.yarn
644
- - key: api-node-modules
746
+ fallback_keys:
747
+ - api-yarn
748
+ - key: api-node-modules-mr$CI_MERGE_REQUEST_IID
645
749
  policy: pull-push
646
750
  paths:
647
751
  - api/node_modules
752
+ fallback_keys:
753
+ - api-node-modules
648
754
  artifacts:
649
755
  paths:
650
756
  - api/__build_info.json
651
757
  - api/.next
652
758
  - api/dist
759
+ exclude:
760
+ - api/.next/cache/**/*
653
761
  expire_in: 1 day
654
762
  when: always
655
763
  reports: {}
@@ -708,10 +816,12 @@ api ๐Ÿงช test:
708
816
  - docker push $DOCKER_CACHE_IMAGE
709
817
  - collapseable_section_end "docker-push"
710
818
  cache:
711
- - key: api-yarn
819
+ - key: api-yarn-mr$CI_MERGE_REQUEST_IID
712
820
  policy: pull
713
821
  paths:
714
822
  - api/.yarn
823
+ fallback_keys:
824
+ - api-yarn
715
825
  rules:
716
826
  - when: never
717
827
  if: $CI_PIPELINE_SOURCE == "trigger"
@@ -860,17 +970,17 @@ api ๐Ÿงช test:
860
970
  - when: on_success
861
971
  if: $CI_MERGE_REQUEST_ID
862
972
  needs:
863
- - job: api ๐Ÿ‘ฎ lint
973
+ - job: 'api ๐Ÿ‘ฎ lint | review '
864
974
  artifacts: false
865
975
  - job: 'api ๐Ÿ”จ app | review '
866
976
  artifacts: false
867
977
  - job: 'api ๐Ÿ”จ docker | review '
868
978
  artifacts: false
869
- - job: api ๐Ÿงช test
979
+ - job: 'api ๐Ÿงช test | review '
870
980
  artifacts: false
871
981
  - job: 'api ๐Ÿงพ sbom | review '
872
982
  artifacts: true
873
- - job: api ๐Ÿ›ก audit
983
+ - job: 'api ๐Ÿ›ก audit | review '
874
984
  artifacts: false
875
985
  retry: *a1
876
986
  interruptible: true
@@ -1027,6 +1137,8 @@ api ๐Ÿงช test:
1027
1137
  - api/__build_info.json
1028
1138
  - api/.next
1029
1139
  - api/dist
1140
+ exclude:
1141
+ - api/.next/cache/**/*
1030
1142
  expire_in: 1 day
1031
1143
  when: always
1032
1144
  reports: {}
@@ -1401,6 +1513,8 @@ api ๐Ÿงช test:
1401
1513
  - api/__build_info.json
1402
1514
  - api/.next
1403
1515
  - api/dist
1516
+ exclude:
1517
+ - api/.next/cache/**/*
1404
1518
  expire_in: 1 day
1405
1519
  when: always
1406
1520
  reports: {}
@@ -1723,7 +1837,7 @@ api ๐Ÿงช test:
1723
1837
  retry: *a1
1724
1838
  interruptible: true
1725
1839
  allow_failure: true
1726
- www ๐Ÿ›ก audit:
1840
+ 'www ๐Ÿ›ก audit | dev ':
1727
1841
  stage: test
1728
1842
  image: path/to/docker/jobs-default:the-version
1729
1843
  variables:
@@ -1740,14 +1854,11 @@ www ๐Ÿ›ก audit:
1740
1854
  - when: never
1741
1855
  if: $CI_PIPELINE_SOURCE == "trigger"
1742
1856
  - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $CI_COMMIT_MESSAGE !~ /^chore\\(release\\).*/
1743
- - when: never
1744
- if: $CI_PIPELINE_SOURCE == "trigger"
1745
- - if: $CI_MERGE_REQUEST_ID
1746
1857
  needs: []
1747
1858
  retry: *a1
1748
1859
  interruptible: true
1749
1860
  allow_failure: true
1750
- www ๐Ÿ‘ฎ lint:
1861
+ 'www ๐Ÿ‘ฎ lint | dev ':
1751
1862
  stage: test
1752
1863
  image: path/to/docker/jobs-default:the-version
1753
1864
  variables:
@@ -1784,13 +1895,10 @@ www ๐Ÿ‘ฎ lint:
1784
1895
  - when: never
1785
1896
  if: $CI_PIPELINE_SOURCE == "trigger"
1786
1897
  - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $CI_COMMIT_MESSAGE !~ /^chore\\(release\\).*/
1787
- - when: never
1788
- if: $CI_PIPELINE_SOURCE == "trigger"
1789
- - if: $CI_MERGE_REQUEST_ID
1790
1898
  needs: []
1791
1899
  retry: *a1
1792
1900
  interruptible: true
1793
- www ๐Ÿงช test:
1901
+ 'www ๐Ÿงช test | dev ':
1794
1902
  stage: test
1795
1903
  image: path/to/docker/jobs-testing-chrome:the-version
1796
1904
  variables:
@@ -1827,9 +1935,6 @@ www ๐Ÿงช test:
1827
1935
  - when: never
1828
1936
  if: $CI_PIPELINE_SOURCE == "trigger"
1829
1937
  - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $CI_COMMIT_MESSAGE !~ /^chore\\(release\\).*/
1830
- - when: never
1831
- if: $CI_PIPELINE_SOURCE == "trigger"
1832
- - if: $CI_MERGE_REQUEST_ID
1833
1938
  needs: []
1834
1939
  retry: *a1
1835
1940
  interruptible: true
@@ -1903,6 +2008,7 @@ www ๐Ÿงช test:
1903
2008
  - www/dist
1904
2009
  exclude:
1905
2010
  - www/.env
2011
+ - www/.next/cache/**/*
1906
2012
  expire_in: 1 day
1907
2013
  when: always
1908
2014
  reports: {}
@@ -2107,17 +2213,17 @@ www ๐Ÿงช test:
2107
2213
  - when: on_success
2108
2214
  if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $CI_COMMIT_MESSAGE !~ /^chore\\(release\\).*/
2109
2215
  needs:
2110
- - job: www ๐Ÿ‘ฎ lint
2216
+ - job: 'www ๐Ÿ‘ฎ lint | dev '
2111
2217
  artifacts: false
2112
2218
  - job: 'www ๐Ÿ”จ app | dev '
2113
2219
  artifacts: false
2114
2220
  - job: 'www ๐Ÿ”จ docker | dev '
2115
2221
  artifacts: false
2116
- - job: www ๐Ÿงช test
2222
+ - job: 'www ๐Ÿงช test | dev '
2117
2223
  artifacts: false
2118
2224
  - job: 'www ๐Ÿงพ sbom | dev '
2119
2225
  artifacts: true
2120
- - job: www ๐Ÿ›ก audit
2226
+ - job: 'www ๐Ÿ›ก audit | dev '
2121
2227
  artifacts: false
2122
2228
  retry: *a1
2123
2229
  interruptible: true
@@ -2222,6 +2328,115 @@ www ๐Ÿงช test:
2222
2328
  retry: *a1
2223
2329
  interruptible: true
2224
2330
  allow_failure: true
2331
+ 'www ๐Ÿ›ก audit | review ':
2332
+ stage: test
2333
+ image: path/to/docker/jobs-default:the-version
2334
+ variables:
2335
+ KUBERNETES_CPU_REQUEST: '0.45'
2336
+ KUBERNETES_MEMORY_REQUEST: 1Gi
2337
+ KUBERNETES_MEMORY_LIMIT: 4Gi
2338
+ script:
2339
+ - collapseable_section_start "injectvars" "Injecting variables"
2340
+ - export APP_PATH="www"
2341
+ - collapseable_section_end "injectvars"
2342
+ - cd www
2343
+ - yarn npm audit --environment production
2344
+ rules:
2345
+ - when: never
2346
+ if: $CI_PIPELINE_SOURCE == "trigger"
2347
+ - if: $CI_MERGE_REQUEST_ID
2348
+ needs: []
2349
+ retry: *a1
2350
+ interruptible: true
2351
+ allow_failure: true
2352
+ 'www ๐Ÿ‘ฎ lint | review ':
2353
+ stage: test
2354
+ image: path/to/docker/jobs-default:the-version
2355
+ variables:
2356
+ KUBERNETES_CPU_REQUEST: '0.45'
2357
+ KUBERNETES_MEMORY_REQUEST: 1Gi
2358
+ KUBERNETES_MEMORY_LIMIT: 4Gi
2359
+ script:
2360
+ - collapseable_section_start "injectvars" "Injecting variables"
2361
+ - export APP_PATH="www"
2362
+ - collapseable_section_end "injectvars"
2363
+ - collapseable_section_start "nodeinstall" "Ensure node version"
2364
+ - if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi
2365
+ - if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi
2366
+ - collapseable_section_end "nodeinstall"
2367
+ - cd www
2368
+ - collapseable_section_start "nodeinstall" "Ensure node version"
2369
+ - if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi
2370
+ - if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi
2371
+ - collapseable_section_end "nodeinstall"
2372
+ - collapseable_section_start "yarninstall" "Yarn install"
2373
+ - yarn install --immutable
2374
+ - collapseable_section_end "yarninstall"
2375
+ - yarn lint
2376
+ cache:
2377
+ - key: www-yarn-mr$CI_MERGE_REQUEST_IID
2378
+ policy: pull-push
2379
+ paths:
2380
+ - www/.yarn
2381
+ fallback_keys:
2382
+ - www-yarn
2383
+ - key: www-node-modules-mr$CI_MERGE_REQUEST_IID
2384
+ policy: pull-push
2385
+ paths:
2386
+ - www/node_modules
2387
+ fallback_keys:
2388
+ - www-node-modules
2389
+ rules:
2390
+ - when: never
2391
+ if: $CI_PIPELINE_SOURCE == "trigger"
2392
+ - if: $CI_MERGE_REQUEST_ID
2393
+ needs: []
2394
+ retry: *a1
2395
+ interruptible: true
2396
+ 'www ๐Ÿงช test | review ':
2397
+ stage: test
2398
+ image: path/to/docker/jobs-testing-chrome:the-version
2399
+ variables:
2400
+ KUBERNETES_CPU_REQUEST: '0.45'
2401
+ KUBERNETES_MEMORY_REQUEST: 1Gi
2402
+ KUBERNETES_MEMORY_LIMIT: 4Gi
2403
+ script:
2404
+ - collapseable_section_start "injectvars" "Injecting variables"
2405
+ - export APP_PATH="www"
2406
+ - collapseable_section_end "injectvars"
2407
+ - collapseable_section_start "nodeinstall" "Ensure node version"
2408
+ - if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi
2409
+ - if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi
2410
+ - collapseable_section_end "nodeinstall"
2411
+ - cd www
2412
+ - collapseable_section_start "nodeinstall" "Ensure node version"
2413
+ - if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi
2414
+ - if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi
2415
+ - collapseable_section_end "nodeinstall"
2416
+ - collapseable_section_start "yarninstall" "Yarn install"
2417
+ - yarn install --immutable
2418
+ - collapseable_section_end "yarninstall"
2419
+ - yarn test
2420
+ cache:
2421
+ - key: www-yarn-mr$CI_MERGE_REQUEST_IID
2422
+ policy: pull-push
2423
+ paths:
2424
+ - www/.yarn
2425
+ fallback_keys:
2426
+ - www-yarn
2427
+ - key: www-node-modules-mr$CI_MERGE_REQUEST_IID
2428
+ policy: pull-push
2429
+ paths:
2430
+ - www/node_modules
2431
+ fallback_keys:
2432
+ - www-node-modules
2433
+ rules:
2434
+ - when: never
2435
+ if: $CI_PIPELINE_SOURCE == "trigger"
2436
+ - if: $CI_MERGE_REQUEST_ID
2437
+ needs: []
2438
+ retry: *a1
2439
+ interruptible: true
2225
2440
  'www ๐Ÿ”จ app | review ':
2226
2441
  stage: build
2227
2442
  image: path/to/docker/jobs-default:the-version
@@ -2277,14 +2492,18 @@ www ๐Ÿงช test:
2277
2492
  - collapseable_section_end "yarninstall"
2278
2493
  - yarn build
2279
2494
  cache:
2280
- - key: www-yarn
2495
+ - key: www-yarn-mr$CI_MERGE_REQUEST_IID
2281
2496
  policy: pull-push
2282
2497
  paths:
2283
2498
  - www/.yarn
2284
- - key: www-node-modules
2499
+ fallback_keys:
2500
+ - www-yarn
2501
+ - key: www-node-modules-mr$CI_MERGE_REQUEST_IID
2285
2502
  policy: pull-push
2286
2503
  paths:
2287
2504
  - www/node_modules
2505
+ fallback_keys:
2506
+ - www-node-modules
2288
2507
  artifacts:
2289
2508
  paths:
2290
2509
  - www/__build_info.json
@@ -2292,6 +2511,7 @@ www ๐Ÿงช test:
2292
2511
  - www/dist
2293
2512
  exclude:
2294
2513
  - www/.env
2514
+ - www/.next/cache/**/*
2295
2515
  expire_in: 1 day
2296
2516
  when: always
2297
2517
  reports: {}
@@ -2350,10 +2570,12 @@ www ๐Ÿงช test:
2350
2570
  - docker push $DOCKER_CACHE_IMAGE
2351
2571
  - collapseable_section_end "docker-push"
2352
2572
  cache:
2353
- - key: www-yarn
2573
+ - key: www-yarn-mr$CI_MERGE_REQUEST_IID
2354
2574
  policy: pull
2355
2575
  paths:
2356
2576
  - www/.yarn
2577
+ fallback_keys:
2578
+ - www-yarn
2357
2579
  rules:
2358
2580
  - when: never
2359
2581
  if: $CI_PIPELINE_SOURCE == "trigger"
@@ -2497,17 +2719,17 @@ www ๐Ÿงช test:
2497
2719
  - when: on_success
2498
2720
  if: $CI_MERGE_REQUEST_ID
2499
2721
  needs:
2500
- - job: www ๐Ÿ‘ฎ lint
2722
+ - job: 'www ๐Ÿ‘ฎ lint | review '
2501
2723
  artifacts: false
2502
2724
  - job: 'www ๐Ÿ”จ app | review '
2503
2725
  artifacts: false
2504
2726
  - job: 'www ๐Ÿ”จ docker | review '
2505
2727
  artifacts: false
2506
- - job: www ๐Ÿงช test
2728
+ - job: 'www ๐Ÿงช test | review '
2507
2729
  artifacts: false
2508
2730
  - job: 'www ๐Ÿงพ sbom | review '
2509
2731
  artifacts: true
2510
- - job: www ๐Ÿ›ก audit
2732
+ - job: 'www ๐Ÿ›ก audit | review '
2511
2733
  artifacts: false
2512
2734
  retry: *a1
2513
2735
  interruptible: true
@@ -2682,6 +2904,7 @@ www ๐Ÿงช test:
2682
2904
  - www/dist
2683
2905
  exclude:
2684
2906
  - www/.env
2907
+ - www/.next/cache/**/*
2685
2908
  expire_in: 1 day
2686
2909
  when: always
2687
2910
  reports: {}
@@ -3064,6 +3287,7 @@ www ๐Ÿงช test:
3064
3287
  - www/dist
3065
3288
  exclude:
3066
3289
  - www/.env
3290
+ - www/.next/cache/**/*
3067
3291
  expire_in: 1 day
3068
3292
  when: always
3069
3293
  reports: {}