@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
- www ๐Ÿ›ก audit:
106
+ 'www ๐Ÿ›ก audit | dev ':
107
107
  stage: test
108
108
  image: path/to/docker/jobs-default:the-version
109
109
  variables:
@@ -120,9 +120,6 @@ www ๐Ÿ›ก audit:
120
120
  - when: never
121
121
  if: $CI_PIPELINE_SOURCE == "trigger"
122
122
  - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $CI_COMMIT_MESSAGE !~ /^chore\\(release\\).*/
123
- - when: never
124
- if: $CI_PIPELINE_SOURCE == "trigger"
125
- - if: $CI_MERGE_REQUEST_ID
126
123
  needs: []
127
124
  retry: &a1
128
125
  max: 2
@@ -131,7 +128,7 @@ www ๐Ÿ›ก audit:
131
128
  - stuck_or_timeout_failure
132
129
  interruptible: true
133
130
  allow_failure: true
134
- www ๐Ÿ‘ฎ lint:
131
+ 'www ๐Ÿ‘ฎ lint | dev ':
135
132
  stage: test
136
133
  image: path/to/docker/jobs-default:the-version
137
134
  variables:
@@ -168,13 +165,10 @@ www ๐Ÿ‘ฎ lint:
168
165
  - when: never
169
166
  if: $CI_PIPELINE_SOURCE == "trigger"
170
167
  - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $CI_COMMIT_MESSAGE !~ /^chore\\(release\\).*/
171
- - when: never
172
- if: $CI_PIPELINE_SOURCE == "trigger"
173
- - if: $CI_MERGE_REQUEST_ID
174
168
  needs: []
175
169
  retry: *a1
176
170
  interruptible: true
177
- www ๐Ÿงช test:
171
+ 'www ๐Ÿงช test | dev ':
178
172
  stage: test
179
173
  image: path/to/docker/jobs-testing-chrome:the-version
180
174
  variables:
@@ -211,9 +205,6 @@ www ๐Ÿงช test:
211
205
  - when: never
212
206
  if: $CI_PIPELINE_SOURCE == "trigger"
213
207
  - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $CI_COMMIT_MESSAGE !~ /^chore\\(release\\).*/
214
- - when: never
215
- if: $CI_PIPELINE_SOURCE == "trigger"
216
- - if: $CI_MERGE_REQUEST_ID
217
208
  needs: []
218
209
  retry: *a1
219
210
  interruptible: true
@@ -418,21 +409,130 @@ www ๐Ÿงช test:
418
409
  - when: on_success
419
410
  if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $CI_COMMIT_MESSAGE !~ /^chore\\(release\\).*/
420
411
  needs:
421
- - job: www ๐Ÿ‘ฎ lint
412
+ - job: 'www ๐Ÿ‘ฎ lint | dev '
422
413
  artifacts: false
423
414
  - job: 'www ๐Ÿ”จ app | dev '
424
415
  artifacts: false
425
416
  - job: 'www ๐Ÿ”จ docker | dev '
426
417
  artifacts: false
427
- - job: www ๐Ÿงช test
418
+ - job: 'www ๐Ÿงช test | dev '
428
419
  artifacts: false
429
420
  - job: 'www ๐Ÿงพ sbom | dev '
430
421
  artifacts: true
431
- - job: www ๐Ÿ›ก audit
422
+ - job: 'www ๐Ÿ›ก audit | dev '
432
423
  artifacts: false
433
424
  retry: *a1
434
425
  interruptible: true
435
426
  allow_failure: false
427
+ 'www ๐Ÿ›ก audit | review ':
428
+ stage: test
429
+ image: path/to/docker/jobs-default:the-version
430
+ variables:
431
+ KUBERNETES_CPU_REQUEST: '0.45'
432
+ KUBERNETES_MEMORY_REQUEST: 1Gi
433
+ KUBERNETES_MEMORY_LIMIT: 4Gi
434
+ script:
435
+ - collapseable_section_start "injectvars" "Injecting variables"
436
+ - export APP_PATH="www"
437
+ - collapseable_section_end "injectvars"
438
+ - cd www
439
+ - yarn npm audit --environment production
440
+ rules:
441
+ - when: never
442
+ if: $CI_PIPELINE_SOURCE == "trigger"
443
+ - if: $CI_MERGE_REQUEST_ID
444
+ needs: []
445
+ retry: *a1
446
+ interruptible: true
447
+ allow_failure: true
448
+ 'www ๐Ÿ‘ฎ lint | review ':
449
+ stage: test
450
+ image: path/to/docker/jobs-default:the-version
451
+ variables:
452
+ KUBERNETES_CPU_REQUEST: '0.45'
453
+ KUBERNETES_MEMORY_REQUEST: 1Gi
454
+ KUBERNETES_MEMORY_LIMIT: 4Gi
455
+ script:
456
+ - collapseable_section_start "injectvars" "Injecting variables"
457
+ - export APP_PATH="www"
458
+ - collapseable_section_end "injectvars"
459
+ - collapseable_section_start "nodeinstall" "Ensure node version"
460
+ - if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi
461
+ - if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi
462
+ - collapseable_section_end "nodeinstall"
463
+ - cd www
464
+ - collapseable_section_start "nodeinstall" "Ensure node version"
465
+ - if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi
466
+ - if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi
467
+ - collapseable_section_end "nodeinstall"
468
+ - collapseable_section_start "yarninstall" "Yarn install"
469
+ - yarn install --immutable
470
+ - collapseable_section_end "yarninstall"
471
+ - yarn lint
472
+ cache:
473
+ - key: www-yarn-mr$CI_MERGE_REQUEST_IID
474
+ policy: pull-push
475
+ paths:
476
+ - www/.yarn
477
+ fallback_keys:
478
+ - www-yarn
479
+ - key: www-node-modules-mr$CI_MERGE_REQUEST_IID
480
+ policy: pull-push
481
+ paths:
482
+ - www/node_modules
483
+ fallback_keys:
484
+ - www-node-modules
485
+ rules:
486
+ - when: never
487
+ if: $CI_PIPELINE_SOURCE == "trigger"
488
+ - if: $CI_MERGE_REQUEST_ID
489
+ needs: []
490
+ retry: *a1
491
+ interruptible: true
492
+ 'www ๐Ÿงช test | review ':
493
+ stage: test
494
+ image: path/to/docker/jobs-testing-chrome:the-version
495
+ variables:
496
+ KUBERNETES_CPU_REQUEST: '0.45'
497
+ KUBERNETES_MEMORY_REQUEST: 1Gi
498
+ KUBERNETES_MEMORY_LIMIT: 4Gi
499
+ script:
500
+ - collapseable_section_start "injectvars" "Injecting variables"
501
+ - export APP_PATH="www"
502
+ - collapseable_section_end "injectvars"
503
+ - collapseable_section_start "nodeinstall" "Ensure node version"
504
+ - if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi
505
+ - if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi
506
+ - collapseable_section_end "nodeinstall"
507
+ - cd www
508
+ - collapseable_section_start "nodeinstall" "Ensure node version"
509
+ - if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi
510
+ - if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi
511
+ - collapseable_section_end "nodeinstall"
512
+ - collapseable_section_start "yarninstall" "Yarn install"
513
+ - yarn install --immutable
514
+ - collapseable_section_end "yarninstall"
515
+ - yarn test
516
+ cache:
517
+ - key: www-yarn-mr$CI_MERGE_REQUEST_IID
518
+ policy: pull-push
519
+ paths:
520
+ - www/.yarn
521
+ fallback_keys:
522
+ - www-yarn
523
+ - key: www-node-modules-mr$CI_MERGE_REQUEST_IID
524
+ policy: pull-push
525
+ paths:
526
+ - www/node_modules
527
+ fallback_keys:
528
+ - www-node-modules
529
+ rules:
530
+ - when: never
531
+ if: $CI_PIPELINE_SOURCE == "trigger"
532
+ - if: $CI_MERGE_REQUEST_ID
533
+ needs: []
534
+ retry: *a1
535
+ interruptible: true
436
536
  'www ๐Ÿ”จ app | review ':
437
537
  stage: build
438
538
  image: path/to/docker/jobs-default:the-version
@@ -482,14 +582,18 @@ www ๐Ÿงช test:
482
582
  - collapseable_section_end "yarninstall"
483
583
  - yarn build
484
584
  cache:
485
- - key: www-yarn
585
+ - key: www-yarn-mr$CI_MERGE_REQUEST_IID
486
586
  policy: pull-push
487
587
  paths:
488
588
  - www/.yarn
489
- - key: www-node-modules
589
+ fallback_keys:
590
+ - www-yarn
591
+ - key: www-node-modules-mr$CI_MERGE_REQUEST_IID
490
592
  policy: pull-push
491
593
  paths:
492
594
  - www/node_modules
595
+ fallback_keys:
596
+ - www-node-modules
493
597
  artifacts:
494
598
  paths:
495
599
  - www/__build_info.json
@@ -556,10 +660,12 @@ www ๐Ÿงช test:
556
660
  - docker push $DOCKER_CACHE_IMAGE
557
661
  - collapseable_section_end "docker-push"
558
662
  cache:
559
- - key: www-yarn
663
+ - key: www-yarn-mr$CI_MERGE_REQUEST_IID
560
664
  policy: pull
561
665
  paths:
562
666
  - www/.yarn
667
+ fallback_keys:
668
+ - www-yarn
563
669
  rules:
564
670
  - when: never
565
671
  if: $CI_PIPELINE_SOURCE == "trigger"
@@ -636,17 +742,17 @@ www ๐Ÿงช test:
636
742
  - when: on_success
637
743
  if: $CI_MERGE_REQUEST_ID
638
744
  needs:
639
- - job: www ๐Ÿ‘ฎ lint
745
+ - job: 'www ๐Ÿ‘ฎ lint | review '
640
746
  artifacts: false
641
747
  - job: 'www ๐Ÿ”จ app | review '
642
748
  artifacts: false
643
749
  - job: 'www ๐Ÿ”จ docker | review '
644
750
  artifacts: false
645
- - job: www ๐Ÿงช test
751
+ - job: 'www ๐Ÿงช test | review '
646
752
  artifacts: false
647
753
  - job: 'www ๐Ÿงพ sbom | review '
648
754
  artifacts: true
649
- - job: www ๐Ÿ›ก audit
755
+ - job: 'www ๐Ÿ›ก audit | review '
650
756
  artifacts: false
651
757
  retry: *a1
652
758
  interruptible: true
@@ -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
@@ -348,6 +321,107 @@ api ๐Ÿงช test:
348
321
  retry: *a1
349
322
  interruptible: true
350
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
351
425
  'api ๐Ÿ”จ app | asdf ':
352
426
  stage: build
353
427
  image: path/to/docker/jobs-default:the-version
@@ -445,6 +519,107 @@ api ๐Ÿงช test:
445
519
  retry: *a1
446
520
  interruptible: true
447
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
448
623
  'api ๐Ÿ”จ app | bla ':
449
624
  stage: build
450
625
  image: path/to/docker/jobs-default:the-version
@@ -542,6 +717,115 @@ api ๐Ÿงช test:
542
717
  retry: *a1
543
718
  interruptible: true
544
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
545
829
  'api ๐Ÿ”จ app | review ':
546
830
  stage: build
547
831
  image: path/to/docker/jobs-default:the-version
@@ -591,14 +875,18 @@ api ๐Ÿงช test:
591
875
  - collapseable_section_end "yarninstall"
592
876
  - yarn build
593
877
  cache:
594
- - key: api-yarn
878
+ - key: api-yarn-mr$CI_MERGE_REQUEST_IID
595
879
  policy: pull-push
596
880
  paths:
597
881
  - api/.yarn
598
- - key: api-node-modules
882
+ fallback_keys:
883
+ - api-yarn
884
+ - key: api-node-modules-mr$CI_MERGE_REQUEST_IID
599
885
  policy: pull-push
600
886
  paths:
601
887
  - api/node_modules
888
+ fallback_keys:
889
+ - api-node-modules
602
890
  artifacts:
603
891
  paths:
604
892
  - api/__build_info.json