@catladder/pipeline 3.25.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 (73) hide show
  1. package/dist/build/custom/testJob.js +1 -2
  2. package/dist/build/node/testJob.js +1 -2
  3. package/dist/build/rails/test.js +1 -2
  4. package/dist/constants.js +1 -1
  5. package/dist/pipeline/agent/createAgentReviewJob.js +1 -0
  6. package/dist/pipeline/agent/shared.d.ts +1 -1
  7. package/dist/pipeline/agent/shared.js +0 -1
  8. package/dist/pipeline/createMainPipeline.js +1 -0
  9. package/dist/pipeline/gitlab/cache.d.ts +9 -0
  10. package/dist/pipeline/gitlab/cache.js +47 -0
  11. package/dist/pipeline/gitlab/createGitlabJobs.js +7 -7
  12. package/dist/tsconfig.tsbuildinfo +1 -1
  13. package/dist/types/jobs.d.ts +2 -3
  14. package/examples/__snapshots__/automatic-releases.test.ts.snap +127 -21
  15. package/examples/__snapshots__/cloud-run-health-check-defaults.test.ts.snap +127 -21
  16. package/examples/__snapshots__/cloud-run-health-check-only-startup.test.ts.snap +127 -21
  17. package/examples/__snapshots__/cloud-run-health-check.test.ts.snap +127 -21
  18. package/examples/__snapshots__/cloud-run-http2.test.ts.snap +127 -21
  19. package/examples/__snapshots__/cloud-run-memory-limit.test.ts.snap +127 -21
  20. package/examples/__snapshots__/cloud-run-meteor-with-worker.test.ts.snap +127 -21
  21. package/examples/__snapshots__/cloud-run-nextjs.test.ts.snap +130 -22
  22. package/examples/__snapshots__/cloud-run-no-cpu-throttling.test.ts.snap +127 -21
  23. package/examples/__snapshots__/cloud-run-no-service.test.ts.snap +127 -21
  24. package/examples/__snapshots__/cloud-run-non-public.test.ts.snap +127 -21
  25. package/examples/__snapshots__/cloud-run-post-stop-job.test.ts.snap +127 -21
  26. package/examples/__snapshots__/cloud-run-service-custom-vpc-connector.test.ts.snap +127 -21
  27. package/examples/__snapshots__/cloud-run-service-custom-vpc.test.ts.snap +127 -21
  28. package/examples/__snapshots__/cloud-run-service-gen2.test.ts.snap +127 -21
  29. package/examples/__snapshots__/cloud-run-service-increase-timout.test.ts.snap +127 -21
  30. package/examples/__snapshots__/cloud-run-service-with-volumes.test.ts.snap +127 -21
  31. package/examples/__snapshots__/cloud-run-storybook.test.ts.snap +9 -3
  32. package/examples/__snapshots__/cloud-run-with-agents.test.ts.snap +130 -22
  33. package/examples/__snapshots__/cloud-run-with-gpu.test.ts.snap +127 -21
  34. package/examples/__snapshots__/cloud-run-with-ngnix.test.ts.snap +127 -21
  35. package/examples/__snapshots__/cloud-run-with-sql-legacy-jobs.test.ts.snap +127 -21
  36. package/examples/__snapshots__/cloud-run-with-sql-multiple-dbs.test.ts.snap +381 -63
  37. package/examples/__snapshots__/cloud-run-with-sql-reuse-db.test.ts.snap +254 -42
  38. package/examples/__snapshots__/cloud-run-with-sql.test.ts.snap +127 -21
  39. package/examples/__snapshots__/cloud-run-with-worker.test.ts.snap +127 -21
  40. package/examples/__snapshots__/custom-build-job-with-tests.test.ts.snap +93 -22
  41. package/examples/__snapshots__/custom-deploy.test.ts.snap +127 -21
  42. package/examples/__snapshots__/custom-envs.test.ts.snap +320 -32
  43. package/examples/__snapshots__/custom-verify-job.test.ts.snap +130 -22
  44. package/examples/__snapshots__/git-submodule.test.ts.snap +127 -21
  45. package/examples/__snapshots__/kubernetes-application-customization.test.ts.snap +127 -21
  46. package/examples/__snapshots__/kubernetes-with-cloud-sql.test.ts.snap +127 -21
  47. package/examples/__snapshots__/kubernetes-with-jobs.test.ts.snap +254 -42
  48. package/examples/__snapshots__/kubernetes-with-mongodb.test.ts.snap +127 -21
  49. package/examples/__snapshots__/local-dot-env.test.ts.snap +127 -21
  50. package/examples/__snapshots__/meteor-kubernetes.test.ts.snap +127 -21
  51. package/examples/__snapshots__/modify-generated-files.test.ts.snap +118 -14
  52. package/examples/__snapshots__/modify-generated-yaml.test.ts.snap +118 -14
  53. package/examples/__snapshots__/multiline-var.test.ts.snap +381 -63
  54. package/examples/__snapshots__/native-app.test.ts.snap +257 -41
  55. package/examples/__snapshots__/node-build-with-custom-image.test.ts.snap +127 -21
  56. package/examples/__snapshots__/node-build-with-docker-additions.test.ts.snap +127 -21
  57. package/examples/__snapshots__/override-secrets.test.ts.snap +127 -21
  58. package/examples/__snapshots__/rails-k8s-with-worker-dockerfile.test.ts.snap +84 -22
  59. package/examples/__snapshots__/rails-k8s-with-worker.test.ts.snap +84 -22
  60. package/examples/__snapshots__/referencing-other-vars.test.ts.snap +381 -63
  61. package/examples/__snapshots__/wait-for-other-deploy.test.ts.snap +248 -40
  62. package/examples/__snapshots__/workspace-api-www-turbo-cache.test.ts.snap +139 -29
  63. package/examples/__snapshots__/workspace-api-www.test.ts.snap +139 -29
  64. package/package.json +1 -1
  65. package/src/build/custom/testJob.ts +0 -1
  66. package/src/build/node/testJob.ts +0 -1
  67. package/src/build/rails/test.ts +0 -1
  68. package/src/pipeline/agent/createAgentReviewJob.ts +1 -0
  69. package/src/pipeline/agent/shared.ts +2 -2
  70. package/src/pipeline/createMainPipeline.ts +1 -0
  71. package/src/pipeline/gitlab/cache.ts +49 -0
  72. package/src/pipeline/gitlab/createGitlabJobs.ts +7 -9
  73. 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
- app1 ๐Ÿ›ก audit:
106
+ 'app1 ๐Ÿ›ก audit | dev ':
107
107
  stage: test
108
108
  image: path/to/docker/jobs-default:the-version
109
109
  variables:
@@ -120,9 +120,6 @@ app1 ๐Ÿ›ก 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 @@ app1 ๐Ÿ›ก audit:
131
128
  - stuck_or_timeout_failure
132
129
  interruptible: true
133
130
  allow_failure: true
134
- app1 ๐Ÿ‘ฎ lint:
131
+ 'app1 ๐Ÿ‘ฎ lint | dev ':
135
132
  stage: test
136
133
  image: path/to/docker/jobs-default:the-version
137
134
  variables:
@@ -168,13 +165,10 @@ app1 ๐Ÿ‘ฎ 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
- app1 ๐Ÿงช test:
171
+ 'app1 ๐Ÿงช test | dev ':
178
172
  stage: test
179
173
  image: path/to/docker/jobs-testing-chrome:the-version
180
174
  variables:
@@ -211,9 +205,6 @@ app1 ๐Ÿงช 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
@@ -526,17 +517,17 @@ app1 ๐Ÿงช test:
526
517
  - when: on_success
527
518
  if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $CI_COMMIT_MESSAGE !~ /^chore\\(release\\).*/
528
519
  needs:
529
- - job: app1 ๐Ÿ‘ฎ lint
520
+ - job: 'app1 ๐Ÿ‘ฎ lint | dev '
530
521
  artifacts: false
531
522
  - job: 'app1 ๐Ÿ”จ app | dev '
532
523
  artifacts: false
533
524
  - job: 'app1 ๐Ÿ”จ docker | dev '
534
525
  artifacts: false
535
- - job: app1 ๐Ÿงช test
526
+ - job: 'app1 ๐Ÿงช test | dev '
536
527
  artifacts: false
537
528
  - job: 'app1 ๐Ÿงพ sbom | dev '
538
529
  artifacts: true
539
- - job: app1 ๐Ÿ›ก audit
530
+ - job: 'app1 ๐Ÿ›ก audit | dev '
540
531
  artifacts: false
541
532
  retry: *a1
542
533
  interruptible: true
@@ -575,6 +566,115 @@ app1 ๐Ÿงช test:
575
566
  retry: *a1
576
567
  interruptible: true
577
568
  allow_failure: true
569
+ 'app1 ๐Ÿ›ก audit | review ':
570
+ stage: test
571
+ image: path/to/docker/jobs-default:the-version
572
+ variables:
573
+ KUBERNETES_CPU_REQUEST: '0.45'
574
+ KUBERNETES_MEMORY_REQUEST: 1Gi
575
+ KUBERNETES_MEMORY_LIMIT: 4Gi
576
+ script:
577
+ - collapseable_section_start "injectvars" "Injecting variables"
578
+ - export APP_PATH="app1"
579
+ - collapseable_section_end "injectvars"
580
+ - cd app1
581
+ - yarn npm audit --environment production
582
+ rules:
583
+ - when: never
584
+ if: $CI_PIPELINE_SOURCE == "trigger"
585
+ - if: $CI_MERGE_REQUEST_ID
586
+ needs: []
587
+ retry: *a1
588
+ interruptible: true
589
+ allow_failure: true
590
+ 'app1 ๐Ÿ‘ฎ lint | review ':
591
+ stage: test
592
+ image: path/to/docker/jobs-default: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="app1"
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 app1
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 lint
614
+ cache:
615
+ - key: app1-yarn-mr$CI_MERGE_REQUEST_IID
616
+ policy: pull-push
617
+ paths:
618
+ - app1/.yarn
619
+ fallback_keys:
620
+ - app1-yarn
621
+ - key: app1-node-modules-mr$CI_MERGE_REQUEST_IID
622
+ policy: pull-push
623
+ paths:
624
+ - app1/node_modules
625
+ fallback_keys:
626
+ - app1-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
634
+ 'app1 ๐Ÿงช test | review ':
635
+ stage: test
636
+ image: path/to/docker/jobs-testing-chrome:the-version
637
+ variables:
638
+ KUBERNETES_CPU_REQUEST: '0.45'
639
+ KUBERNETES_MEMORY_REQUEST: 1Gi
640
+ KUBERNETES_MEMORY_LIMIT: 4Gi
641
+ script:
642
+ - collapseable_section_start "injectvars" "Injecting variables"
643
+ - export APP_PATH="app1"
644
+ - collapseable_section_end "injectvars"
645
+ - collapseable_section_start "nodeinstall" "Ensure node version"
646
+ - if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi
647
+ - if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi
648
+ - collapseable_section_end "nodeinstall"
649
+ - cd app1
650
+ - collapseable_section_start "nodeinstall" "Ensure node version"
651
+ - if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi
652
+ - if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi
653
+ - collapseable_section_end "nodeinstall"
654
+ - collapseable_section_start "yarninstall" "Yarn install"
655
+ - yarn install --immutable
656
+ - collapseable_section_end "yarninstall"
657
+ - yarn test
658
+ cache:
659
+ - key: app1-yarn-mr$CI_MERGE_REQUEST_IID
660
+ policy: pull-push
661
+ paths:
662
+ - app1/.yarn
663
+ fallback_keys:
664
+ - app1-yarn
665
+ - key: app1-node-modules-mr$CI_MERGE_REQUEST_IID
666
+ policy: pull-push
667
+ paths:
668
+ - app1/node_modules
669
+ fallback_keys:
670
+ - app1-node-modules
671
+ rules:
672
+ - when: never
673
+ if: $CI_PIPELINE_SOURCE == "trigger"
674
+ - if: $CI_MERGE_REQUEST_ID
675
+ needs: []
676
+ retry: *a1
677
+ interruptible: true
578
678
  'app1 ๐Ÿ”จ app | review ':
579
679
  stage: build
580
680
  image: path/to/docker/jobs-default:the-version
@@ -655,14 +755,18 @@ app1 ๐Ÿงช test:
655
755
  - collapseable_section_end "yarninstall"
656
756
  - yarn build
657
757
  cache:
658
- - key: app1-yarn
758
+ - key: app1-yarn-mr$CI_MERGE_REQUEST_IID
659
759
  policy: pull-push
660
760
  paths:
661
761
  - app1/.yarn
662
- - key: app1-node-modules
762
+ fallback_keys:
763
+ - app1-yarn
764
+ - key: app1-node-modules-mr$CI_MERGE_REQUEST_IID
663
765
  policy: pull-push
664
766
  paths:
665
767
  - app1/node_modules
768
+ fallback_keys:
769
+ - app1-node-modules
666
770
  artifacts:
667
771
  paths:
668
772
  - app1/__build_info.json
@@ -729,10 +833,12 @@ app1 ๐Ÿงช test:
729
833
  - docker push $DOCKER_CACHE_IMAGE
730
834
  - collapseable_section_end "docker-push"
731
835
  cache:
732
- - key: app1-yarn
836
+ - key: app1-yarn-mr$CI_MERGE_REQUEST_IID
733
837
  policy: pull
734
838
  paths:
735
839
  - app1/.yarn
840
+ fallback_keys:
841
+ - app1-yarn
736
842
  rules:
737
843
  - when: never
738
844
  if: $CI_PIPELINE_SOURCE == "trigger"
@@ -887,17 +993,17 @@ app1 ๐Ÿงช test:
887
993
  - when: on_success
888
994
  if: $CI_MERGE_REQUEST_ID
889
995
  needs:
890
- - job: app1 ๐Ÿ‘ฎ lint
996
+ - job: 'app1 ๐Ÿ‘ฎ lint | review '
891
997
  artifacts: false
892
998
  - job: 'app1 ๐Ÿ”จ app | review '
893
999
  artifacts: false
894
1000
  - job: 'app1 ๐Ÿ”จ docker | review '
895
1001
  artifacts: false
896
- - job: app1 ๐Ÿงช test
1002
+ - job: 'app1 ๐Ÿงช test | review '
897
1003
  artifacts: false
898
1004
  - job: 'app1 ๐Ÿงพ sbom | review '
899
1005
  artifacts: true
900
- - job: app1 ๐Ÿ›ก audit
1006
+ - job: 'app1 ๐Ÿ›ก audit | review '
901
1007
  artifacts: false
902
1008
  retry: *a1
903
1009
  interruptible: true
@@ -1641,7 +1747,7 @@ app1 ๐Ÿงช test:
1641
1747
  retry: *a1
1642
1748
  interruptible: true
1643
1749
  allow_failure: true
1644
- app2 ๐Ÿ›ก audit:
1750
+ 'app2 ๐Ÿ›ก audit | dev ':
1645
1751
  stage: test
1646
1752
  image: path/to/docker/jobs-default:the-version
1647
1753
  variables:
@@ -1658,14 +1764,11 @@ app2 ๐Ÿ›ก audit:
1658
1764
  - when: never
1659
1765
  if: $CI_PIPELINE_SOURCE == "trigger"
1660
1766
  - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $CI_COMMIT_MESSAGE !~ /^chore\\(release\\).*/
1661
- - when: never
1662
- if: $CI_PIPELINE_SOURCE == "trigger"
1663
- - if: $CI_MERGE_REQUEST_ID
1664
1767
  needs: []
1665
1768
  retry: *a1
1666
1769
  interruptible: true
1667
1770
  allow_failure: true
1668
- app2 ๐Ÿ‘ฎ lint:
1771
+ 'app2 ๐Ÿ‘ฎ lint | dev ':
1669
1772
  stage: test
1670
1773
  image: path/to/docker/jobs-default:the-version
1671
1774
  variables:
@@ -1702,13 +1805,10 @@ app2 ๐Ÿ‘ฎ lint:
1702
1805
  - when: never
1703
1806
  if: $CI_PIPELINE_SOURCE == "trigger"
1704
1807
  - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $CI_COMMIT_MESSAGE !~ /^chore\\(release\\).*/
1705
- - when: never
1706
- if: $CI_PIPELINE_SOURCE == "trigger"
1707
- - if: $CI_MERGE_REQUEST_ID
1708
1808
  needs: []
1709
1809
  retry: *a1
1710
1810
  interruptible: true
1711
- app2 ๐Ÿงช test:
1811
+ 'app2 ๐Ÿงช test | dev ':
1712
1812
  stage: test
1713
1813
  image: path/to/docker/jobs-testing-chrome:the-version
1714
1814
  variables:
@@ -1745,9 +1845,6 @@ app2 ๐Ÿงช test:
1745
1845
  - when: never
1746
1846
  if: $CI_PIPELINE_SOURCE == "trigger"
1747
1847
  - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $CI_COMMIT_MESSAGE !~ /^chore\\(release\\).*/
1748
- - when: never
1749
- if: $CI_PIPELINE_SOURCE == "trigger"
1750
- - if: $CI_MERGE_REQUEST_ID
1751
1848
  needs: []
1752
1849
  retry: *a1
1753
1850
  interruptible: true
@@ -2080,17 +2177,17 @@ app2 ๐Ÿงช test:
2080
2177
  - when: on_success
2081
2178
  if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $CI_COMMIT_MESSAGE !~ /^chore\\(release\\).*/
2082
2179
  needs:
2083
- - job: app2 ๐Ÿ‘ฎ lint
2180
+ - job: 'app2 ๐Ÿ‘ฎ lint | dev '
2084
2181
  artifacts: false
2085
2182
  - job: 'app2 ๐Ÿ”จ app | dev '
2086
2183
  artifacts: false
2087
2184
  - job: 'app2 ๐Ÿ”จ docker | dev '
2088
2185
  artifacts: false
2089
- - job: app2 ๐Ÿงช test
2186
+ - job: 'app2 ๐Ÿงช test | dev '
2090
2187
  artifacts: false
2091
2188
  - job: 'app2 ๐Ÿงพ sbom | dev '
2092
2189
  artifacts: true
2093
- - job: app2 ๐Ÿ›ก audit
2190
+ - job: 'app2 ๐Ÿ›ก audit | dev '
2094
2191
  artifacts: false
2095
2192
  retry: *a1
2096
2193
  interruptible: true
@@ -2129,6 +2226,115 @@ app2 ๐Ÿงช test:
2129
2226
  retry: *a1
2130
2227
  interruptible: true
2131
2228
  allow_failure: true
2229
+ 'app2 ๐Ÿ›ก audit | review ':
2230
+ stage: test
2231
+ image: path/to/docker/jobs-default:the-version
2232
+ variables:
2233
+ KUBERNETES_CPU_REQUEST: '0.45'
2234
+ KUBERNETES_MEMORY_REQUEST: 1Gi
2235
+ KUBERNETES_MEMORY_LIMIT: 4Gi
2236
+ script:
2237
+ - collapseable_section_start "injectvars" "Injecting variables"
2238
+ - export APP_PATH="app2"
2239
+ - collapseable_section_end "injectvars"
2240
+ - cd app2
2241
+ - yarn npm audit --environment production
2242
+ rules:
2243
+ - when: never
2244
+ if: $CI_PIPELINE_SOURCE == "trigger"
2245
+ - if: $CI_MERGE_REQUEST_ID
2246
+ needs: []
2247
+ retry: *a1
2248
+ interruptible: true
2249
+ allow_failure: true
2250
+ 'app2 ๐Ÿ‘ฎ lint | review ':
2251
+ stage: test
2252
+ image: path/to/docker/jobs-default:the-version
2253
+ variables:
2254
+ KUBERNETES_CPU_REQUEST: '0.45'
2255
+ KUBERNETES_MEMORY_REQUEST: 1Gi
2256
+ KUBERNETES_MEMORY_LIMIT: 4Gi
2257
+ script:
2258
+ - collapseable_section_start "injectvars" "Injecting variables"
2259
+ - export APP_PATH="app2"
2260
+ - collapseable_section_end "injectvars"
2261
+ - collapseable_section_start "nodeinstall" "Ensure node version"
2262
+ - if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi
2263
+ - if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi
2264
+ - collapseable_section_end "nodeinstall"
2265
+ - cd app2
2266
+ - collapseable_section_start "nodeinstall" "Ensure node version"
2267
+ - if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi
2268
+ - if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi
2269
+ - collapseable_section_end "nodeinstall"
2270
+ - collapseable_section_start "yarninstall" "Yarn install"
2271
+ - yarn install --immutable
2272
+ - collapseable_section_end "yarninstall"
2273
+ - yarn lint
2274
+ cache:
2275
+ - key: app2-yarn-mr$CI_MERGE_REQUEST_IID
2276
+ policy: pull-push
2277
+ paths:
2278
+ - app2/.yarn
2279
+ fallback_keys:
2280
+ - app2-yarn
2281
+ - key: app2-node-modules-mr$CI_MERGE_REQUEST_IID
2282
+ policy: pull-push
2283
+ paths:
2284
+ - app2/node_modules
2285
+ fallback_keys:
2286
+ - app2-node-modules
2287
+ rules:
2288
+ - when: never
2289
+ if: $CI_PIPELINE_SOURCE == "trigger"
2290
+ - if: $CI_MERGE_REQUEST_ID
2291
+ needs: []
2292
+ retry: *a1
2293
+ interruptible: true
2294
+ 'app2 ๐Ÿงช test | review ':
2295
+ stage: test
2296
+ image: path/to/docker/jobs-testing-chrome:the-version
2297
+ variables:
2298
+ KUBERNETES_CPU_REQUEST: '0.45'
2299
+ KUBERNETES_MEMORY_REQUEST: 1Gi
2300
+ KUBERNETES_MEMORY_LIMIT: 4Gi
2301
+ script:
2302
+ - collapseable_section_start "injectvars" "Injecting variables"
2303
+ - export APP_PATH="app2"
2304
+ - collapseable_section_end "injectvars"
2305
+ - collapseable_section_start "nodeinstall" "Ensure node version"
2306
+ - if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi
2307
+ - if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi
2308
+ - collapseable_section_end "nodeinstall"
2309
+ - cd app2
2310
+ - collapseable_section_start "nodeinstall" "Ensure node version"
2311
+ - if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi
2312
+ - if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi
2313
+ - collapseable_section_end "nodeinstall"
2314
+ - collapseable_section_start "yarninstall" "Yarn install"
2315
+ - yarn install --immutable
2316
+ - collapseable_section_end "yarninstall"
2317
+ - yarn test
2318
+ cache:
2319
+ - key: app2-yarn-mr$CI_MERGE_REQUEST_IID
2320
+ policy: pull-push
2321
+ paths:
2322
+ - app2/.yarn
2323
+ fallback_keys:
2324
+ - app2-yarn
2325
+ - key: app2-node-modules-mr$CI_MERGE_REQUEST_IID
2326
+ policy: pull-push
2327
+ paths:
2328
+ - app2/node_modules
2329
+ fallback_keys:
2330
+ - app2-node-modules
2331
+ rules:
2332
+ - when: never
2333
+ if: $CI_PIPELINE_SOURCE == "trigger"
2334
+ - if: $CI_MERGE_REQUEST_ID
2335
+ needs: []
2336
+ retry: *a1
2337
+ interruptible: true
2132
2338
  'app2 ๐Ÿ”จ app | review ':
2133
2339
  stage: build
2134
2340
  image: path/to/docker/jobs-default:the-version
@@ -2219,14 +2425,18 @@ app2 ๐Ÿงช test:
2219
2425
  - collapseable_section_end "yarninstall"
2220
2426
  - yarn build
2221
2427
  cache:
2222
- - key: app2-yarn
2428
+ - key: app2-yarn-mr$CI_MERGE_REQUEST_IID
2223
2429
  policy: pull-push
2224
2430
  paths:
2225
2431
  - app2/.yarn
2226
- - key: app2-node-modules
2432
+ fallback_keys:
2433
+ - app2-yarn
2434
+ - key: app2-node-modules-mr$CI_MERGE_REQUEST_IID
2227
2435
  policy: pull-push
2228
2436
  paths:
2229
2437
  - app2/node_modules
2438
+ fallback_keys:
2439
+ - app2-node-modules
2230
2440
  artifacts:
2231
2441
  paths:
2232
2442
  - app2/__build_info.json
@@ -2293,10 +2503,12 @@ app2 ๐Ÿงช test:
2293
2503
  - docker push $DOCKER_CACHE_IMAGE
2294
2504
  - collapseable_section_end "docker-push"
2295
2505
  cache:
2296
- - key: app2-yarn
2506
+ - key: app2-yarn-mr$CI_MERGE_REQUEST_IID
2297
2507
  policy: pull
2298
2508
  paths:
2299
2509
  - app2/.yarn
2510
+ fallback_keys:
2511
+ - app2-yarn
2300
2512
  rules:
2301
2513
  - when: never
2302
2514
  if: $CI_PIPELINE_SOURCE == "trigger"
@@ -2461,17 +2673,17 @@ app2 ๐Ÿงช test:
2461
2673
  - when: on_success
2462
2674
  if: $CI_MERGE_REQUEST_ID
2463
2675
  needs:
2464
- - job: app2 ๐Ÿ‘ฎ lint
2676
+ - job: 'app2 ๐Ÿ‘ฎ lint | review '
2465
2677
  artifacts: false
2466
2678
  - job: 'app2 ๐Ÿ”จ app | review '
2467
2679
  artifacts: false
2468
2680
  - job: 'app2 ๐Ÿ”จ docker | review '
2469
2681
  artifacts: false
2470
- - job: app2 ๐Ÿงช test
2682
+ - job: 'app2 ๐Ÿงช test | review '
2471
2683
  artifacts: false
2472
2684
  - job: 'app2 ๐Ÿงพ sbom | review '
2473
2685
  artifacts: true
2474
- - job: app2 ๐Ÿ›ก audit
2686
+ - job: 'app2 ๐Ÿ›ก audit | review '
2475
2687
  artifacts: false
2476
2688
  retry: *a1
2477
2689
  interruptible: true
@@ -3255,7 +3467,7 @@ app2 ๐Ÿงช test:
3255
3467
  retry: *a1
3256
3468
  interruptible: true
3257
3469
  allow_failure: true
3258
- kube ๐Ÿ›ก audit:
3470
+ 'kube ๐Ÿ›ก audit | dev ':
3259
3471
  stage: test
3260
3472
  image: path/to/docker/jobs-default:the-version
3261
3473
  variables:
@@ -3272,14 +3484,11 @@ kube ๐Ÿ›ก audit:
3272
3484
  - when: never
3273
3485
  if: $CI_PIPELINE_SOURCE == "trigger"
3274
3486
  - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $CI_COMMIT_MESSAGE !~ /^chore\\(release\\).*/
3275
- - when: never
3276
- if: $CI_PIPELINE_SOURCE == "trigger"
3277
- - if: $CI_MERGE_REQUEST_ID
3278
3487
  needs: []
3279
3488
  retry: *a1
3280
3489
  interruptible: true
3281
3490
  allow_failure: true
3282
- kube ๐Ÿ‘ฎ lint:
3491
+ 'kube ๐Ÿ‘ฎ lint | dev ':
3283
3492
  stage: test
3284
3493
  image: path/to/docker/jobs-default:the-version
3285
3494
  variables:
@@ -3316,13 +3525,10 @@ kube ๐Ÿ‘ฎ lint:
3316
3525
  - when: never
3317
3526
  if: $CI_PIPELINE_SOURCE == "trigger"
3318
3527
  - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $CI_COMMIT_MESSAGE !~ /^chore\\(release\\).*/
3319
- - when: never
3320
- if: $CI_PIPELINE_SOURCE == "trigger"
3321
- - if: $CI_MERGE_REQUEST_ID
3322
3528
  needs: []
3323
3529
  retry: *a1
3324
3530
  interruptible: true
3325
- kube ๐Ÿงช test:
3531
+ 'kube ๐Ÿงช test | dev ':
3326
3532
  stage: test
3327
3533
  image: path/to/docker/jobs-testing-chrome:the-version
3328
3534
  variables:
@@ -3359,9 +3565,6 @@ kube ๐Ÿงช test:
3359
3565
  - when: never
3360
3566
  if: $CI_PIPELINE_SOURCE == "trigger"
3361
3567
  - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $CI_COMMIT_MESSAGE !~ /^chore\\(release\\).*/
3362
- - when: never
3363
- if: $CI_PIPELINE_SOURCE == "trigger"
3364
- - if: $CI_MERGE_REQUEST_ID
3365
3568
  needs: []
3366
3569
  retry: *a1
3367
3570
  interruptible: true
@@ -3782,17 +3985,17 @@ kube ๐Ÿงช test:
3782
3985
  - when: on_success
3783
3986
  if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $CI_COMMIT_MESSAGE !~ /^chore\\(release\\).*/
3784
3987
  needs:
3785
- - job: kube ๐Ÿ‘ฎ lint
3988
+ - job: 'kube ๐Ÿ‘ฎ lint | dev '
3786
3989
  artifacts: false
3787
3990
  - job: 'kube ๐Ÿ”จ app | dev '
3788
3991
  artifacts: false
3789
3992
  - job: 'kube ๐Ÿ”จ docker | dev '
3790
3993
  artifacts: false
3791
- - job: kube ๐Ÿงช test
3994
+ - job: 'kube ๐Ÿงช test | dev '
3792
3995
  artifacts: false
3793
3996
  - job: 'kube ๐Ÿงพ sbom | dev '
3794
3997
  artifacts: true
3795
- - job: kube ๐Ÿ›ก audit
3998
+ - job: 'kube ๐Ÿ›ก audit | dev '
3796
3999
  artifacts: false
3797
4000
  retry: *a1
3798
4001
  interruptible: true
@@ -3969,6 +4172,115 @@ kube ๐Ÿงช test:
3969
4172
  retry: *a1
3970
4173
  interruptible: true
3971
4174
  allow_failure: true
4175
+ 'kube ๐Ÿ›ก audit | review ':
4176
+ stage: test
4177
+ image: path/to/docker/jobs-default:the-version
4178
+ variables:
4179
+ KUBERNETES_CPU_REQUEST: '0.45'
4180
+ KUBERNETES_MEMORY_REQUEST: 1Gi
4181
+ KUBERNETES_MEMORY_LIMIT: 4Gi
4182
+ script:
4183
+ - collapseable_section_start "injectvars" "Injecting variables"
4184
+ - export APP_PATH="kube"
4185
+ - collapseable_section_end "injectvars"
4186
+ - cd kube
4187
+ - yarn npm audit --environment production
4188
+ rules:
4189
+ - when: never
4190
+ if: $CI_PIPELINE_SOURCE == "trigger"
4191
+ - if: $CI_MERGE_REQUEST_ID
4192
+ needs: []
4193
+ retry: *a1
4194
+ interruptible: true
4195
+ allow_failure: true
4196
+ 'kube ๐Ÿ‘ฎ lint | review ':
4197
+ stage: test
4198
+ image: path/to/docker/jobs-default:the-version
4199
+ variables:
4200
+ KUBERNETES_CPU_REQUEST: '0.45'
4201
+ KUBERNETES_MEMORY_REQUEST: 1Gi
4202
+ KUBERNETES_MEMORY_LIMIT: 4Gi
4203
+ script:
4204
+ - collapseable_section_start "injectvars" "Injecting variables"
4205
+ - export APP_PATH="kube"
4206
+ - collapseable_section_end "injectvars"
4207
+ - collapseable_section_start "nodeinstall" "Ensure node version"
4208
+ - if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi
4209
+ - if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi
4210
+ - collapseable_section_end "nodeinstall"
4211
+ - cd kube
4212
+ - collapseable_section_start "nodeinstall" "Ensure node version"
4213
+ - if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi
4214
+ - if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi
4215
+ - collapseable_section_end "nodeinstall"
4216
+ - collapseable_section_start "yarninstall" "Yarn install"
4217
+ - yarn install --immutable
4218
+ - collapseable_section_end "yarninstall"
4219
+ - yarn lint
4220
+ cache:
4221
+ - key: kube-yarn-mr$CI_MERGE_REQUEST_IID
4222
+ policy: pull-push
4223
+ paths:
4224
+ - kube/.yarn
4225
+ fallback_keys:
4226
+ - kube-yarn
4227
+ - key: kube-node-modules-mr$CI_MERGE_REQUEST_IID
4228
+ policy: pull-push
4229
+ paths:
4230
+ - kube/node_modules
4231
+ fallback_keys:
4232
+ - kube-node-modules
4233
+ rules:
4234
+ - when: never
4235
+ if: $CI_PIPELINE_SOURCE == "trigger"
4236
+ - if: $CI_MERGE_REQUEST_ID
4237
+ needs: []
4238
+ retry: *a1
4239
+ interruptible: true
4240
+ 'kube ๐Ÿงช test | review ':
4241
+ stage: test
4242
+ image: path/to/docker/jobs-testing-chrome:the-version
4243
+ variables:
4244
+ KUBERNETES_CPU_REQUEST: '0.45'
4245
+ KUBERNETES_MEMORY_REQUEST: 1Gi
4246
+ KUBERNETES_MEMORY_LIMIT: 4Gi
4247
+ script:
4248
+ - collapseable_section_start "injectvars" "Injecting variables"
4249
+ - export APP_PATH="kube"
4250
+ - collapseable_section_end "injectvars"
4251
+ - collapseable_section_start "nodeinstall" "Ensure node version"
4252
+ - if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi
4253
+ - if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi
4254
+ - collapseable_section_end "nodeinstall"
4255
+ - cd kube
4256
+ - collapseable_section_start "nodeinstall" "Ensure node version"
4257
+ - if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi
4258
+ - if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi
4259
+ - collapseable_section_end "nodeinstall"
4260
+ - collapseable_section_start "yarninstall" "Yarn install"
4261
+ - yarn install --immutable
4262
+ - collapseable_section_end "yarninstall"
4263
+ - yarn test
4264
+ cache:
4265
+ - key: kube-yarn-mr$CI_MERGE_REQUEST_IID
4266
+ policy: pull-push
4267
+ paths:
4268
+ - kube/.yarn
4269
+ fallback_keys:
4270
+ - kube-yarn
4271
+ - key: kube-node-modules-mr$CI_MERGE_REQUEST_IID
4272
+ policy: pull-push
4273
+ paths:
4274
+ - kube/node_modules
4275
+ fallback_keys:
4276
+ - kube-node-modules
4277
+ rules:
4278
+ - when: never
4279
+ if: $CI_PIPELINE_SOURCE == "trigger"
4280
+ - if: $CI_MERGE_REQUEST_ID
4281
+ needs: []
4282
+ retry: *a1
4283
+ interruptible: true
3972
4284
  'kube ๐Ÿ”จ app | review ':
3973
4285
  stage: build
3974
4286
  image: path/to/docker/jobs-default:the-version
@@ -4094,14 +4406,18 @@ kube ๐Ÿงช test:
4094
4406
  - collapseable_section_end "yarninstall"
4095
4407
  - yarn build
4096
4408
  cache:
4097
- - key: kube-yarn
4409
+ - key: kube-yarn-mr$CI_MERGE_REQUEST_IID
4098
4410
  policy: pull-push
4099
4411
  paths:
4100
4412
  - kube/.yarn
4101
- - key: kube-node-modules
4413
+ fallback_keys:
4414
+ - kube-yarn
4415
+ - key: kube-node-modules-mr$CI_MERGE_REQUEST_IID
4102
4416
  policy: pull-push
4103
4417
  paths:
4104
4418
  - kube/node_modules
4419
+ fallback_keys:
4420
+ - kube-node-modules
4105
4421
  artifacts:
4106
4422
  paths:
4107
4423
  - kube/__build_info.json
@@ -4168,10 +4484,12 @@ kube ๐Ÿงช test:
4168
4484
  - docker push $DOCKER_CACHE_IMAGE
4169
4485
  - collapseable_section_end "docker-push"
4170
4486
  cache:
4171
- - key: kube-yarn
4487
+ - key: kube-yarn-mr$CI_MERGE_REQUEST_IID
4172
4488
  policy: pull
4173
4489
  paths:
4174
4490
  - kube/.yarn
4491
+ fallback_keys:
4492
+ - kube-yarn
4175
4493
  rules:
4176
4494
  - when: never
4177
4495
  if: $CI_PIPELINE_SOURCE == "trigger"
@@ -4387,17 +4705,17 @@ kube ๐Ÿงช test:
4387
4705
  - when: on_success
4388
4706
  if: $CI_MERGE_REQUEST_ID
4389
4707
  needs:
4390
- - job: kube ๐Ÿ‘ฎ lint
4708
+ - job: 'kube ๐Ÿ‘ฎ lint | review '
4391
4709
  artifacts: false
4392
4710
  - job: 'kube ๐Ÿ”จ app | review '
4393
4711
  artifacts: false
4394
4712
  - job: 'kube ๐Ÿ”จ docker | review '
4395
4713
  artifacts: false
4396
- - job: kube ๐Ÿงช test
4714
+ - job: 'kube ๐Ÿงช test | review '
4397
4715
  artifacts: false
4398
4716
  - job: 'kube ๐Ÿงพ sbom | review '
4399
4717
  artifacts: true
4400
- - job: kube ๐Ÿ›ก audit
4718
+ - job: 'kube ๐Ÿ›ก audit | review '
4401
4719
  artifacts: false
4402
4720
  retry: *a1
4403
4721
  interruptible: true