@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
@@ -119,7 +119,7 @@ before_script:
119
119
  local section_title="\${1}"
120
120
  echo -e "section_end:\`date +%s\`:\${section_title}\\r\\e[0K"
121
121
  }
122
- api ๐Ÿ›ก audit:
122
+ 'api ๐Ÿ›ก audit | dev ':
123
123
  stage: test
124
124
  image: path/to/docker/jobs-default:the-version
125
125
  variables:
@@ -136,15 +136,6 @@ api ๐Ÿ›ก audit:
136
136
  - when: never
137
137
  if: $CI_PIPELINE_SOURCE == "trigger"
138
138
  - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $CI_COMMIT_MESSAGE !~ /^chore\\(release\\).*/
139
- - when: never
140
- if: $CI_PIPELINE_SOURCE == "trigger"
141
- - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $CI_COMMIT_MESSAGE !~ /^chore\\(release\\).*/
142
- - when: never
143
- if: $CI_PIPELINE_SOURCE == "trigger"
144
- - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $CI_COMMIT_MESSAGE !~ /^chore\\(release\\).*/
145
- - when: never
146
- if: $CI_PIPELINE_SOURCE == "trigger"
147
- - if: $CI_MERGE_REQUEST_ID
148
139
  needs: []
149
140
  retry: &a1
150
141
  max: 2
@@ -153,7 +144,7 @@ api ๐Ÿ›ก audit:
153
144
  - stuck_or_timeout_failure
154
145
  interruptible: true
155
146
  allow_failure: true
156
- api ๐Ÿ‘ฎ lint:
147
+ 'api ๐Ÿ‘ฎ lint | dev ':
157
148
  stage: test
158
149
  image: path/to/docker/jobs-default:the-version
159
150
  variables:
@@ -190,19 +181,10 @@ api ๐Ÿ‘ฎ lint:
190
181
  - when: never
191
182
  if: $CI_PIPELINE_SOURCE == "trigger"
192
183
  - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $CI_COMMIT_MESSAGE !~ /^chore\\(release\\).*/
193
- - when: never
194
- if: $CI_PIPELINE_SOURCE == "trigger"
195
- - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $CI_COMMIT_MESSAGE !~ /^chore\\(release\\).*/
196
- - when: never
197
- if: $CI_PIPELINE_SOURCE == "trigger"
198
- - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $CI_COMMIT_MESSAGE !~ /^chore\\(release\\).*/
199
- - when: never
200
- if: $CI_PIPELINE_SOURCE == "trigger"
201
- - if: $CI_MERGE_REQUEST_ID
202
184
  needs: []
203
185
  retry: *a1
204
186
  interruptible: true
205
- api ๐Ÿงช test:
187
+ 'api ๐Ÿงช test | dev ':
206
188
  stage: test
207
189
  image: path/to/docker/jobs-testing-chrome:the-version
208
190
  variables:
@@ -239,15 +221,6 @@ api ๐Ÿงช test:
239
221
  - when: never
240
222
  if: $CI_PIPELINE_SOURCE == "trigger"
241
223
  - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $CI_COMMIT_MESSAGE !~ /^chore\\(release\\).*/
242
- - when: never
243
- if: $CI_PIPELINE_SOURCE == "trigger"
244
- - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $CI_COMMIT_MESSAGE !~ /^chore\\(release\\).*/
245
- - when: never
246
- if: $CI_PIPELINE_SOURCE == "trigger"
247
- - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $CI_COMMIT_MESSAGE !~ /^chore\\(release\\).*/
248
- - when: never
249
- if: $CI_PIPELINE_SOURCE == "trigger"
250
- - if: $CI_MERGE_REQUEST_ID
251
224
  needs: []
252
225
  retry: *a1
253
226
  interruptible: true
@@ -315,6 +288,7 @@ api ๐Ÿงช test:
315
288
  - api/dist
316
289
  exclude:
317
290
  - api/.env
291
+ - api/.next/cache/**/*
318
292
  expire_in: 1 day
319
293
  when: always
320
294
  reports: {}
@@ -347,6 +321,107 @@ api ๐Ÿงช test:
347
321
  retry: *a1
348
322
  interruptible: true
349
323
  allow_failure: true
324
+ 'api ๐Ÿ›ก audit | asdf ':
325
+ stage: test
326
+ image: path/to/docker/jobs-default:the-version
327
+ variables:
328
+ KUBERNETES_CPU_REQUEST: '0.45'
329
+ KUBERNETES_MEMORY_REQUEST: 1Gi
330
+ KUBERNETES_MEMORY_LIMIT: 4Gi
331
+ script:
332
+ - collapseable_section_start "injectvars" "Injecting variables"
333
+ - export APP_PATH="api"
334
+ - collapseable_section_end "injectvars"
335
+ - cd api
336
+ - yarn npm audit --environment production
337
+ rules:
338
+ - when: never
339
+ if: $CI_PIPELINE_SOURCE == "trigger"
340
+ - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $CI_COMMIT_MESSAGE !~ /^chore\\(release\\).*/
341
+ needs: []
342
+ retry: *a1
343
+ interruptible: true
344
+ allow_failure: true
345
+ 'api ๐Ÿ‘ฎ lint | asdf ':
346
+ stage: test
347
+ image: path/to/docker/jobs-default:the-version
348
+ variables:
349
+ KUBERNETES_CPU_REQUEST: '0.45'
350
+ KUBERNETES_MEMORY_REQUEST: 1Gi
351
+ KUBERNETES_MEMORY_LIMIT: 4Gi
352
+ script:
353
+ - collapseable_section_start "injectvars" "Injecting variables"
354
+ - export APP_PATH="api"
355
+ - collapseable_section_end "injectvars"
356
+ - collapseable_section_start "nodeinstall" "Ensure node version"
357
+ - if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi
358
+ - if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi
359
+ - collapseable_section_end "nodeinstall"
360
+ - cd api
361
+ - collapseable_section_start "nodeinstall" "Ensure node version"
362
+ - if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi
363
+ - if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi
364
+ - collapseable_section_end "nodeinstall"
365
+ - collapseable_section_start "yarninstall" "Yarn install"
366
+ - yarn install --immutable
367
+ - collapseable_section_end "yarninstall"
368
+ - yarn lint
369
+ cache:
370
+ - key: api-yarn
371
+ policy: pull-push
372
+ paths:
373
+ - api/.yarn
374
+ - key: api-node-modules
375
+ policy: pull-push
376
+ paths:
377
+ - api/node_modules
378
+ rules:
379
+ - when: never
380
+ if: $CI_PIPELINE_SOURCE == "trigger"
381
+ - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $CI_COMMIT_MESSAGE !~ /^chore\\(release\\).*/
382
+ needs: []
383
+ retry: *a1
384
+ interruptible: true
385
+ 'api ๐Ÿงช test | asdf ':
386
+ stage: test
387
+ image: path/to/docker/jobs-testing-chrome:the-version
388
+ variables:
389
+ KUBERNETES_CPU_REQUEST: '0.45'
390
+ KUBERNETES_MEMORY_REQUEST: 1Gi
391
+ KUBERNETES_MEMORY_LIMIT: 4Gi
392
+ script:
393
+ - collapseable_section_start "injectvars" "Injecting variables"
394
+ - export APP_PATH="api"
395
+ - collapseable_section_end "injectvars"
396
+ - collapseable_section_start "nodeinstall" "Ensure node version"
397
+ - if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi
398
+ - if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi
399
+ - collapseable_section_end "nodeinstall"
400
+ - cd api
401
+ - collapseable_section_start "nodeinstall" "Ensure node version"
402
+ - if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi
403
+ - if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi
404
+ - collapseable_section_end "nodeinstall"
405
+ - collapseable_section_start "yarninstall" "Yarn install"
406
+ - yarn install --immutable
407
+ - collapseable_section_end "yarninstall"
408
+ - yarn test
409
+ cache:
410
+ - key: api-yarn
411
+ policy: pull-push
412
+ paths:
413
+ - api/.yarn
414
+ - key: api-node-modules
415
+ policy: pull-push
416
+ paths:
417
+ - api/node_modules
418
+ rules:
419
+ - when: never
420
+ if: $CI_PIPELINE_SOURCE == "trigger"
421
+ - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $CI_COMMIT_MESSAGE !~ /^chore\\(release\\).*/
422
+ needs: []
423
+ retry: *a1
424
+ interruptible: true
350
425
  'api ๐Ÿ”จ app | asdf ':
351
426
  stage: build
352
427
  image: path/to/docker/jobs-default:the-version
@@ -411,6 +486,7 @@ api ๐Ÿงช test:
411
486
  - api/dist
412
487
  exclude:
413
488
  - api/.env
489
+ - api/.next/cache/**/*
414
490
  expire_in: 1 day
415
491
  when: always
416
492
  reports: {}
@@ -443,6 +519,107 @@ api ๐Ÿงช test:
443
519
  retry: *a1
444
520
  interruptible: true
445
521
  allow_failure: true
522
+ 'api ๐Ÿ›ก audit | bla ':
523
+ stage: test
524
+ image: path/to/docker/jobs-default:the-version
525
+ variables:
526
+ KUBERNETES_CPU_REQUEST: '0.45'
527
+ KUBERNETES_MEMORY_REQUEST: 1Gi
528
+ KUBERNETES_MEMORY_LIMIT: 4Gi
529
+ script:
530
+ - collapseable_section_start "injectvars" "Injecting variables"
531
+ - export APP_PATH="api"
532
+ - collapseable_section_end "injectvars"
533
+ - cd api
534
+ - yarn npm audit --environment production
535
+ rules:
536
+ - when: never
537
+ if: $CI_PIPELINE_SOURCE == "trigger"
538
+ - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $CI_COMMIT_MESSAGE !~ /^chore\\(release\\).*/
539
+ needs: []
540
+ retry: *a1
541
+ interruptible: true
542
+ allow_failure: true
543
+ 'api ๐Ÿ‘ฎ lint | bla ':
544
+ stage: test
545
+ image: path/to/docker/jobs-default:the-version
546
+ variables:
547
+ KUBERNETES_CPU_REQUEST: '0.45'
548
+ KUBERNETES_MEMORY_REQUEST: 1Gi
549
+ KUBERNETES_MEMORY_LIMIT: 4Gi
550
+ script:
551
+ - collapseable_section_start "injectvars" "Injecting variables"
552
+ - export APP_PATH="api"
553
+ - collapseable_section_end "injectvars"
554
+ - collapseable_section_start "nodeinstall" "Ensure node version"
555
+ - if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi
556
+ - if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi
557
+ - collapseable_section_end "nodeinstall"
558
+ - cd api
559
+ - collapseable_section_start "nodeinstall" "Ensure node version"
560
+ - if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi
561
+ - if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi
562
+ - collapseable_section_end "nodeinstall"
563
+ - collapseable_section_start "yarninstall" "Yarn install"
564
+ - yarn install --immutable
565
+ - collapseable_section_end "yarninstall"
566
+ - yarn lint
567
+ cache:
568
+ - key: api-yarn
569
+ policy: pull-push
570
+ paths:
571
+ - api/.yarn
572
+ - key: api-node-modules
573
+ policy: pull-push
574
+ paths:
575
+ - api/node_modules
576
+ rules:
577
+ - when: never
578
+ if: $CI_PIPELINE_SOURCE == "trigger"
579
+ - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $CI_COMMIT_MESSAGE !~ /^chore\\(release\\).*/
580
+ needs: []
581
+ retry: *a1
582
+ interruptible: true
583
+ 'api ๐Ÿงช test | bla ':
584
+ stage: test
585
+ image: path/to/docker/jobs-testing-chrome:the-version
586
+ variables:
587
+ KUBERNETES_CPU_REQUEST: '0.45'
588
+ KUBERNETES_MEMORY_REQUEST: 1Gi
589
+ KUBERNETES_MEMORY_LIMIT: 4Gi
590
+ script:
591
+ - collapseable_section_start "injectvars" "Injecting variables"
592
+ - export APP_PATH="api"
593
+ - collapseable_section_end "injectvars"
594
+ - collapseable_section_start "nodeinstall" "Ensure node version"
595
+ - if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi
596
+ - if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi
597
+ - collapseable_section_end "nodeinstall"
598
+ - cd api
599
+ - collapseable_section_start "nodeinstall" "Ensure node version"
600
+ - if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi
601
+ - if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi
602
+ - collapseable_section_end "nodeinstall"
603
+ - collapseable_section_start "yarninstall" "Yarn install"
604
+ - yarn install --immutable
605
+ - collapseable_section_end "yarninstall"
606
+ - yarn test
607
+ cache:
608
+ - key: api-yarn
609
+ policy: pull-push
610
+ paths:
611
+ - api/.yarn
612
+ - key: api-node-modules
613
+ policy: pull-push
614
+ paths:
615
+ - api/node_modules
616
+ rules:
617
+ - when: never
618
+ if: $CI_PIPELINE_SOURCE == "trigger"
619
+ - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $CI_COMMIT_MESSAGE !~ /^chore\\(release\\).*/
620
+ needs: []
621
+ retry: *a1
622
+ interruptible: true
446
623
  'api ๐Ÿ”จ app | bla ':
447
624
  stage: build
448
625
  image: path/to/docker/jobs-default:the-version
@@ -507,6 +684,7 @@ api ๐Ÿงช test:
507
684
  - api/dist
508
685
  exclude:
509
686
  - api/.env
687
+ - api/.next/cache/**/*
510
688
  expire_in: 1 day
511
689
  when: always
512
690
  reports: {}
@@ -539,6 +717,115 @@ api ๐Ÿงช test:
539
717
  retry: *a1
540
718
  interruptible: true
541
719
  allow_failure: true
720
+ 'api ๐Ÿ›ก audit | review ':
721
+ stage: test
722
+ image: path/to/docker/jobs-default:the-version
723
+ variables:
724
+ KUBERNETES_CPU_REQUEST: '0.45'
725
+ KUBERNETES_MEMORY_REQUEST: 1Gi
726
+ KUBERNETES_MEMORY_LIMIT: 4Gi
727
+ script:
728
+ - collapseable_section_start "injectvars" "Injecting variables"
729
+ - export APP_PATH="api"
730
+ - collapseable_section_end "injectvars"
731
+ - cd api
732
+ - yarn npm audit --environment production
733
+ rules:
734
+ - when: never
735
+ if: $CI_PIPELINE_SOURCE == "trigger"
736
+ - if: $CI_MERGE_REQUEST_ID
737
+ needs: []
738
+ retry: *a1
739
+ interruptible: true
740
+ allow_failure: true
741
+ 'api ๐Ÿ‘ฎ lint | review ':
742
+ stage: test
743
+ image: path/to/docker/jobs-default:the-version
744
+ variables:
745
+ KUBERNETES_CPU_REQUEST: '0.45'
746
+ KUBERNETES_MEMORY_REQUEST: 1Gi
747
+ KUBERNETES_MEMORY_LIMIT: 4Gi
748
+ script:
749
+ - collapseable_section_start "injectvars" "Injecting variables"
750
+ - export APP_PATH="api"
751
+ - collapseable_section_end "injectvars"
752
+ - collapseable_section_start "nodeinstall" "Ensure node version"
753
+ - if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi
754
+ - if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi
755
+ - collapseable_section_end "nodeinstall"
756
+ - cd api
757
+ - collapseable_section_start "nodeinstall" "Ensure node version"
758
+ - if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi
759
+ - if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi
760
+ - collapseable_section_end "nodeinstall"
761
+ - collapseable_section_start "yarninstall" "Yarn install"
762
+ - yarn install --immutable
763
+ - collapseable_section_end "yarninstall"
764
+ - yarn lint
765
+ cache:
766
+ - key: api-yarn-mr$CI_MERGE_REQUEST_IID
767
+ policy: pull-push
768
+ paths:
769
+ - api/.yarn
770
+ fallback_keys:
771
+ - api-yarn
772
+ - key: api-node-modules-mr$CI_MERGE_REQUEST_IID
773
+ policy: pull-push
774
+ paths:
775
+ - api/node_modules
776
+ fallback_keys:
777
+ - api-node-modules
778
+ rules:
779
+ - when: never
780
+ if: $CI_PIPELINE_SOURCE == "trigger"
781
+ - if: $CI_MERGE_REQUEST_ID
782
+ needs: []
783
+ retry: *a1
784
+ interruptible: true
785
+ 'api ๐Ÿงช test | review ':
786
+ stage: test
787
+ image: path/to/docker/jobs-testing-chrome:the-version
788
+ variables:
789
+ KUBERNETES_CPU_REQUEST: '0.45'
790
+ KUBERNETES_MEMORY_REQUEST: 1Gi
791
+ KUBERNETES_MEMORY_LIMIT: 4Gi
792
+ script:
793
+ - collapseable_section_start "injectvars" "Injecting variables"
794
+ - export APP_PATH="api"
795
+ - collapseable_section_end "injectvars"
796
+ - collapseable_section_start "nodeinstall" "Ensure node version"
797
+ - if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi
798
+ - if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi
799
+ - collapseable_section_end "nodeinstall"
800
+ - cd api
801
+ - collapseable_section_start "nodeinstall" "Ensure node version"
802
+ - if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi
803
+ - if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi
804
+ - collapseable_section_end "nodeinstall"
805
+ - collapseable_section_start "yarninstall" "Yarn install"
806
+ - yarn install --immutable
807
+ - collapseable_section_end "yarninstall"
808
+ - yarn test
809
+ cache:
810
+ - key: api-yarn-mr$CI_MERGE_REQUEST_IID
811
+ policy: pull-push
812
+ paths:
813
+ - api/.yarn
814
+ fallback_keys:
815
+ - api-yarn
816
+ - key: api-node-modules-mr$CI_MERGE_REQUEST_IID
817
+ policy: pull-push
818
+ paths:
819
+ - api/node_modules
820
+ fallback_keys:
821
+ - api-node-modules
822
+ rules:
823
+ - when: never
824
+ if: $CI_PIPELINE_SOURCE == "trigger"
825
+ - if: $CI_MERGE_REQUEST_ID
826
+ needs: []
827
+ retry: *a1
828
+ interruptible: true
542
829
  'api ๐Ÿ”จ app | review ':
543
830
  stage: build
544
831
  image: path/to/docker/jobs-default:the-version
@@ -588,14 +875,18 @@ api ๐Ÿงช test:
588
875
  - collapseable_section_end "yarninstall"
589
876
  - yarn build
590
877
  cache:
591
- - key: api-yarn
878
+ - key: api-yarn-mr$CI_MERGE_REQUEST_IID
592
879
  policy: pull-push
593
880
  paths:
594
881
  - api/.yarn
595
- - key: api-node-modules
882
+ fallback_keys:
883
+ - api-yarn
884
+ - key: api-node-modules-mr$CI_MERGE_REQUEST_IID
596
885
  policy: pull-push
597
886
  paths:
598
887
  - api/node_modules
888
+ fallback_keys:
889
+ - api-node-modules
599
890
  artifacts:
600
891
  paths:
601
892
  - api/__build_info.json
@@ -603,6 +894,7 @@ api ๐Ÿงช test:
603
894
  - api/dist
604
895
  exclude:
605
896
  - api/.env
897
+ - api/.next/cache/**/*
606
898
  expire_in: 1 day
607
899
  when: always
608
900
  reports: {}
@@ -699,6 +991,7 @@ api ๐Ÿงช test:
699
991
  - api/dist
700
992
  exclude:
701
993
  - api/.env
994
+ - api/.next/cache/**/*
702
995
  expire_in: 1 day
703
996
  when: always
704
997
  reports: {}
@@ -795,6 +1088,7 @@ api ๐Ÿงช test:
795
1088
  - api/dist
796
1089
  exclude:
797
1090
  - api/.env
1091
+ - api/.next/cache/**/*
798
1092
  expire_in: 1 day
799
1093
  when: always
800
1094
  reports: {}