@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.
- package/dist/build/custom/testJob.js +1 -2
- package/dist/build/index.js +2 -1
- package/dist/build/node/testJob.js +1 -2
- package/dist/build/rails/test.js +1 -2
- package/dist/constants.js +1 -1
- package/dist/pipeline/agent/createAgentReviewJob.js +1 -0
- package/dist/pipeline/agent/shared.d.ts +1 -1
- package/dist/pipeline/agent/shared.js +0 -1
- package/dist/pipeline/createMainPipeline.js +1 -0
- package/dist/pipeline/gitlab/cache.d.ts +9 -0
- package/dist/pipeline/gitlab/cache.js +47 -0
- package/dist/pipeline/gitlab/createGitlabJobs.js +7 -7
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types/jobs.d.ts +2 -3
- package/examples/__snapshots__/automatic-releases.test.ts.snap +131 -21
- package/examples/__snapshots__/cloud-run-health-check-defaults.test.ts.snap +131 -21
- package/examples/__snapshots__/cloud-run-health-check-only-startup.test.ts.snap +131 -21
- package/examples/__snapshots__/cloud-run-health-check.test.ts.snap +131 -21
- package/examples/__snapshots__/cloud-run-http2.test.ts.snap +131 -21
- package/examples/__snapshots__/cloud-run-memory-limit.test.ts.snap +131 -21
- package/examples/__snapshots__/cloud-run-meteor-with-worker.test.ts.snap +127 -21
- package/examples/__snapshots__/cloud-run-nextjs.test.ts.snap +134 -22
- package/examples/__snapshots__/cloud-run-no-cpu-throttling.test.ts.snap +131 -21
- package/examples/__snapshots__/cloud-run-no-service.test.ts.snap +131 -21
- package/examples/__snapshots__/cloud-run-non-public.test.ts.snap +131 -21
- package/examples/__snapshots__/cloud-run-post-stop-job.test.ts.snap +131 -21
- package/examples/__snapshots__/cloud-run-service-custom-vpc-connector.test.ts.snap +131 -21
- package/examples/__snapshots__/cloud-run-service-custom-vpc.test.ts.snap +131 -21
- package/examples/__snapshots__/cloud-run-service-gen2.test.ts.snap +131 -21
- package/examples/__snapshots__/cloud-run-service-increase-timout.test.ts.snap +131 -21
- package/examples/__snapshots__/cloud-run-service-with-volumes.test.ts.snap +131 -21
- package/examples/__snapshots__/cloud-run-storybook.test.ts.snap +13 -3
- package/examples/__snapshots__/cloud-run-with-agents.test.ts.snap +134 -22
- package/examples/__snapshots__/cloud-run-with-gpu.test.ts.snap +131 -21
- package/examples/__snapshots__/cloud-run-with-ngnix.test.ts.snap +131 -21
- package/examples/__snapshots__/cloud-run-with-sql-legacy-jobs.test.ts.snap +131 -21
- package/examples/__snapshots__/cloud-run-with-sql-multiple-dbs.test.ts.snap +393 -63
- package/examples/__snapshots__/cloud-run-with-sql-reuse-db.test.ts.snap +262 -42
- package/examples/__snapshots__/cloud-run-with-sql.test.ts.snap +131 -21
- package/examples/__snapshots__/cloud-run-with-worker.test.ts.snap +131 -21
- package/examples/__snapshots__/custom-build-job-with-tests.test.ts.snap +93 -22
- package/examples/__snapshots__/custom-deploy.test.ts.snap +131 -21
- package/examples/__snapshots__/custom-envs.test.ts.snap +326 -32
- package/examples/__snapshots__/custom-verify-job.test.ts.snap +134 -22
- package/examples/__snapshots__/git-submodule.test.ts.snap +131 -21
- package/examples/__snapshots__/kubernetes-application-customization.test.ts.snap +135 -21
- package/examples/__snapshots__/kubernetes-with-cloud-sql.test.ts.snap +135 -21
- package/examples/__snapshots__/kubernetes-with-jobs.test.ts.snap +266 -42
- package/examples/__snapshots__/kubernetes-with-mongodb.test.ts.snap +135 -21
- package/examples/__snapshots__/local-dot-env.test.ts.snap +135 -21
- package/examples/__snapshots__/meteor-kubernetes.test.ts.snap +127 -21
- package/examples/__snapshots__/modify-generated-files.test.ts.snap +122 -14
- package/examples/__snapshots__/modify-generated-yaml.test.ts.snap +122 -14
- package/examples/__snapshots__/multiline-var.test.ts.snap +393 -63
- package/examples/__snapshots__/native-app.test.ts.snap +265 -41
- package/examples/__snapshots__/node-build-with-custom-image.test.ts.snap +131 -21
- package/examples/__snapshots__/node-build-with-docker-additions.test.ts.snap +131 -21
- package/examples/__snapshots__/override-secrets.test.ts.snap +131 -21
- package/examples/__snapshots__/rails-k8s-with-worker-dockerfile.test.ts.snap +84 -22
- package/examples/__snapshots__/rails-k8s-with-worker.test.ts.snap +84 -22
- package/examples/__snapshots__/referencing-other-vars.test.ts.snap +393 -63
- package/examples/__snapshots__/wait-for-other-deploy.test.ts.snap +256 -40
- package/examples/__snapshots__/workspace-api-www-turbo-cache.test.ts.snap +147 -29
- package/examples/__snapshots__/workspace-api-www.test.ts.snap +147 -29
- package/package.json +1 -1
- package/src/build/custom/testJob.ts +0 -1
- package/src/build/index.ts +1 -0
- package/src/build/node/testJob.ts +0 -1
- package/src/build/rails/test.ts +0 -1
- package/src/pipeline/agent/createAgentReviewJob.ts +1 -0
- package/src/pipeline/agent/shared.ts +2 -2
- package/src/pipeline/createMainPipeline.ts +1 -0
- package/src/pipeline/gitlab/cache.ts +49 -0
- package/src/pipeline/gitlab/createGitlabJobs.ts +7 -9
- 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
|
-
my-app ๐ก audit:
|
|
106
|
+
'my-app ๐ก audit | dev ':
|
|
107
107
|
stage: test
|
|
108
108
|
image: path/to/docker/jobs-default:the-version
|
|
109
109
|
variables:
|
|
@@ -120,9 +120,6 @@ my-app ๐ก 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 @@ my-app ๐ก audit:
|
|
|
131
128
|
- stuck_or_timeout_failure
|
|
132
129
|
interruptible: true
|
|
133
130
|
allow_failure: true
|
|
134
|
-
my-app ๐ฎ lint:
|
|
131
|
+
'my-app ๐ฎ lint | dev ':
|
|
135
132
|
stage: test
|
|
136
133
|
image: path/to/docker/jobs-default:the-version
|
|
137
134
|
variables:
|
|
@@ -168,13 +165,10 @@ my-app ๐ฎ 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
|
-
my-app ๐งช test:
|
|
171
|
+
'my-app ๐งช test | dev ':
|
|
178
172
|
stage: test
|
|
179
173
|
image: path/to/docker/jobs-testing-chrome:the-version
|
|
180
174
|
variables:
|
|
@@ -211,9 +205,6 @@ my-app ๐งช 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
|
|
@@ -291,6 +282,7 @@ my-app ๐งช test:
|
|
|
291
282
|
- app/dist
|
|
292
283
|
exclude:
|
|
293
284
|
- app/.env
|
|
285
|
+
- app/.next/cache/**/*
|
|
294
286
|
expire_in: 1 day
|
|
295
287
|
when: always
|
|
296
288
|
reports: {}
|
|
@@ -482,17 +474,17 @@ my-app ๐งช test:
|
|
|
482
474
|
- when: on_success
|
|
483
475
|
if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $CI_COMMIT_MESSAGE !~ /^chore\\(release\\).*/
|
|
484
476
|
needs:
|
|
485
|
-
- job: my-app ๐ฎ lint
|
|
477
|
+
- job: 'my-app ๐ฎ lint | dev '
|
|
486
478
|
artifacts: false
|
|
487
479
|
- job: 'my-app ๐จ app | dev '
|
|
488
480
|
artifacts: false
|
|
489
481
|
- job: 'my-app ๐จ docker | dev '
|
|
490
482
|
artifacts: false
|
|
491
|
-
- job: my-app ๐งช test
|
|
483
|
+
- job: 'my-app ๐งช test | dev '
|
|
492
484
|
artifacts: false
|
|
493
485
|
- job: 'my-app ๐งพ sbom | dev '
|
|
494
486
|
artifacts: true
|
|
495
|
-
- job: my-app ๐ก audit
|
|
487
|
+
- job: 'my-app ๐ก audit | dev '
|
|
496
488
|
artifacts: false
|
|
497
489
|
retry: *a1
|
|
498
490
|
interruptible: true
|
|
@@ -531,6 +523,115 @@ my-app ๐งช test:
|
|
|
531
523
|
retry: *a1
|
|
532
524
|
interruptible: true
|
|
533
525
|
allow_failure: true
|
|
526
|
+
'my-app ๐ก audit | review ':
|
|
527
|
+
stage: test
|
|
528
|
+
image: path/to/docker/jobs-default:the-version
|
|
529
|
+
variables:
|
|
530
|
+
KUBERNETES_CPU_REQUEST: '0.45'
|
|
531
|
+
KUBERNETES_MEMORY_REQUEST: 1Gi
|
|
532
|
+
KUBERNETES_MEMORY_LIMIT: 4Gi
|
|
533
|
+
script:
|
|
534
|
+
- collapseable_section_start "injectvars" "Injecting variables"
|
|
535
|
+
- export APP_PATH="app"
|
|
536
|
+
- collapseable_section_end "injectvars"
|
|
537
|
+
- cd app
|
|
538
|
+
- yarn npm audit --environment production
|
|
539
|
+
rules:
|
|
540
|
+
- when: never
|
|
541
|
+
if: $CI_PIPELINE_SOURCE == "trigger"
|
|
542
|
+
- if: $CI_MERGE_REQUEST_ID
|
|
543
|
+
needs: []
|
|
544
|
+
retry: *a1
|
|
545
|
+
interruptible: true
|
|
546
|
+
allow_failure: true
|
|
547
|
+
'my-app ๐ฎ lint | review ':
|
|
548
|
+
stage: test
|
|
549
|
+
image: path/to/docker/jobs-default:the-version
|
|
550
|
+
variables:
|
|
551
|
+
KUBERNETES_CPU_REQUEST: '0.45'
|
|
552
|
+
KUBERNETES_MEMORY_REQUEST: 1Gi
|
|
553
|
+
KUBERNETES_MEMORY_LIMIT: 4Gi
|
|
554
|
+
script:
|
|
555
|
+
- collapseable_section_start "injectvars" "Injecting variables"
|
|
556
|
+
- export APP_PATH="app"
|
|
557
|
+
- collapseable_section_end "injectvars"
|
|
558
|
+
- collapseable_section_start "nodeinstall" "Ensure node version"
|
|
559
|
+
- if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi
|
|
560
|
+
- if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi
|
|
561
|
+
- collapseable_section_end "nodeinstall"
|
|
562
|
+
- cd app
|
|
563
|
+
- collapseable_section_start "nodeinstall" "Ensure node version"
|
|
564
|
+
- if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi
|
|
565
|
+
- if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi
|
|
566
|
+
- collapseable_section_end "nodeinstall"
|
|
567
|
+
- collapseable_section_start "yarninstall" "Yarn install"
|
|
568
|
+
- yarn install --immutable
|
|
569
|
+
- collapseable_section_end "yarninstall"
|
|
570
|
+
- yarn lint
|
|
571
|
+
cache:
|
|
572
|
+
- key: app-yarn-mr$CI_MERGE_REQUEST_IID
|
|
573
|
+
policy: pull-push
|
|
574
|
+
paths:
|
|
575
|
+
- app/.yarn
|
|
576
|
+
fallback_keys:
|
|
577
|
+
- app-yarn
|
|
578
|
+
- key: app-node-modules-mr$CI_MERGE_REQUEST_IID
|
|
579
|
+
policy: pull-push
|
|
580
|
+
paths:
|
|
581
|
+
- app/node_modules
|
|
582
|
+
fallback_keys:
|
|
583
|
+
- app-node-modules
|
|
584
|
+
rules:
|
|
585
|
+
- when: never
|
|
586
|
+
if: $CI_PIPELINE_SOURCE == "trigger"
|
|
587
|
+
- if: $CI_MERGE_REQUEST_ID
|
|
588
|
+
needs: []
|
|
589
|
+
retry: *a1
|
|
590
|
+
interruptible: true
|
|
591
|
+
'my-app ๐งช test | review ':
|
|
592
|
+
stage: test
|
|
593
|
+
image: path/to/docker/jobs-testing-chrome:the-version
|
|
594
|
+
variables:
|
|
595
|
+
KUBERNETES_CPU_REQUEST: '0.45'
|
|
596
|
+
KUBERNETES_MEMORY_REQUEST: 1Gi
|
|
597
|
+
KUBERNETES_MEMORY_LIMIT: 4Gi
|
|
598
|
+
script:
|
|
599
|
+
- collapseable_section_start "injectvars" "Injecting variables"
|
|
600
|
+
- export APP_PATH="app"
|
|
601
|
+
- collapseable_section_end "injectvars"
|
|
602
|
+
- collapseable_section_start "nodeinstall" "Ensure node version"
|
|
603
|
+
- if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi
|
|
604
|
+
- if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi
|
|
605
|
+
- collapseable_section_end "nodeinstall"
|
|
606
|
+
- cd app
|
|
607
|
+
- collapseable_section_start "nodeinstall" "Ensure node version"
|
|
608
|
+
- if [ -f ~/.nvm/nvm.sh ]; then source ~/.nvm/nvm.sh; fi
|
|
609
|
+
- if command -v nvm &> /dev/null && [ -f ./.nvmrc ]; then nvm install; fi
|
|
610
|
+
- collapseable_section_end "nodeinstall"
|
|
611
|
+
- collapseable_section_start "yarninstall" "Yarn install"
|
|
612
|
+
- yarn install --immutable
|
|
613
|
+
- collapseable_section_end "yarninstall"
|
|
614
|
+
- yarn test
|
|
615
|
+
cache:
|
|
616
|
+
- key: app-yarn-mr$CI_MERGE_REQUEST_IID
|
|
617
|
+
policy: pull-push
|
|
618
|
+
paths:
|
|
619
|
+
- app/.yarn
|
|
620
|
+
fallback_keys:
|
|
621
|
+
- app-yarn
|
|
622
|
+
- key: app-node-modules-mr$CI_MERGE_REQUEST_IID
|
|
623
|
+
policy: pull-push
|
|
624
|
+
paths:
|
|
625
|
+
- app/node_modules
|
|
626
|
+
fallback_keys:
|
|
627
|
+
- app-node-modules
|
|
628
|
+
rules:
|
|
629
|
+
- when: never
|
|
630
|
+
if: $CI_PIPELINE_SOURCE == "trigger"
|
|
631
|
+
- if: $CI_MERGE_REQUEST_ID
|
|
632
|
+
needs: []
|
|
633
|
+
retry: *a1
|
|
634
|
+
interruptible: true
|
|
534
635
|
'my-app ๐จ app | review ':
|
|
535
636
|
stage: build
|
|
536
637
|
image: path/to/docker/jobs-default:the-version
|
|
@@ -592,14 +693,18 @@ my-app ๐งช test:
|
|
|
592
693
|
- collapseable_section_end "yarninstall"
|
|
593
694
|
- yarn build
|
|
594
695
|
cache:
|
|
595
|
-
- key: app-yarn
|
|
696
|
+
- key: app-yarn-mr$CI_MERGE_REQUEST_IID
|
|
596
697
|
policy: pull-push
|
|
597
698
|
paths:
|
|
598
699
|
- app/.yarn
|
|
599
|
-
|
|
700
|
+
fallback_keys:
|
|
701
|
+
- app-yarn
|
|
702
|
+
- key: app-node-modules-mr$CI_MERGE_REQUEST_IID
|
|
600
703
|
policy: pull-push
|
|
601
704
|
paths:
|
|
602
705
|
- app/node_modules
|
|
706
|
+
fallback_keys:
|
|
707
|
+
- app-node-modules
|
|
603
708
|
artifacts:
|
|
604
709
|
paths:
|
|
605
710
|
- app/__build_info.json
|
|
@@ -607,6 +712,7 @@ my-app ๐งช test:
|
|
|
607
712
|
- app/dist
|
|
608
713
|
exclude:
|
|
609
714
|
- app/.env
|
|
715
|
+
- app/.next/cache/**/*
|
|
610
716
|
expire_in: 1 day
|
|
611
717
|
when: always
|
|
612
718
|
reports: {}
|
|
@@ -665,10 +771,12 @@ my-app ๐งช test:
|
|
|
665
771
|
- docker push $DOCKER_CACHE_IMAGE
|
|
666
772
|
- collapseable_section_end "docker-push"
|
|
667
773
|
cache:
|
|
668
|
-
- key: app-yarn
|
|
774
|
+
- key: app-yarn-mr$CI_MERGE_REQUEST_IID
|
|
669
775
|
policy: pull
|
|
670
776
|
paths:
|
|
671
777
|
- app/.yarn
|
|
778
|
+
fallback_keys:
|
|
779
|
+
- app-yarn
|
|
672
780
|
rules:
|
|
673
781
|
- when: never
|
|
674
782
|
if: $CI_PIPELINE_SOURCE == "trigger"
|
|
@@ -804,17 +912,17 @@ my-app ๐งช test:
|
|
|
804
912
|
- when: on_success
|
|
805
913
|
if: $CI_MERGE_REQUEST_ID
|
|
806
914
|
needs:
|
|
807
|
-
- job: my-app ๐ฎ lint
|
|
915
|
+
- job: 'my-app ๐ฎ lint | review '
|
|
808
916
|
artifacts: false
|
|
809
917
|
- job: 'my-app ๐จ app | review '
|
|
810
918
|
artifacts: false
|
|
811
919
|
- job: 'my-app ๐จ docker | review '
|
|
812
920
|
artifacts: false
|
|
813
|
-
- job: my-app ๐งช test
|
|
921
|
+
- job: 'my-app ๐งช test | review '
|
|
814
922
|
artifacts: false
|
|
815
923
|
- job: 'my-app ๐งพ sbom | review '
|
|
816
924
|
artifacts: true
|
|
817
|
-
- job: my-app ๐ก audit
|
|
925
|
+
- job: 'my-app ๐ก audit | review '
|
|
818
926
|
artifacts: false
|
|
819
927
|
retry: *a1
|
|
820
928
|
interruptible: true
|
|
@@ -930,6 +1038,7 @@ my-app ๐งช test:
|
|
|
930
1038
|
- app/dist
|
|
931
1039
|
exclude:
|
|
932
1040
|
- app/.env
|
|
1041
|
+
- app/.next/cache/**/*
|
|
933
1042
|
expire_in: 1 day
|
|
934
1043
|
when: always
|
|
935
1044
|
reports: {}
|
|
@@ -1237,6 +1346,7 @@ my-app ๐งช test:
|
|
|
1237
1346
|
- app/dist
|
|
1238
1347
|
exclude:
|
|
1239
1348
|
- app/.env
|
|
1349
|
+
- app/.next/cache/**/*
|
|
1240
1350
|
expire_in: 1 day
|
|
1241
1351
|
when: always
|
|
1242
1352
|
reports: {}
|
|
@@ -103,7 +103,7 @@ before_script:
|
|
|
103
103
|
local section_title="\${1}"
|
|
104
104
|
echo -e "section_end:\`date +%s\`:\${section_title}\\r\\e[0K"
|
|
105
105
|
}
|
|
106
|
-
app ๐ก audit:
|
|
106
|
+
'app ๐ก audit | dev ':
|
|
107
107
|
stage: test
|
|
108
108
|
image: ruby:3.2.1
|
|
109
109
|
variables: {}
|
|
@@ -117,9 +117,6 @@ app ๐ก audit:
|
|
|
117
117
|
- when: never
|
|
118
118
|
if: $CI_PIPELINE_SOURCE == "trigger"
|
|
119
119
|
- if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $CI_COMMIT_MESSAGE !~ /^chore\\(release\\).*/
|
|
120
|
-
- when: never
|
|
121
|
-
if: $CI_PIPELINE_SOURCE == "trigger"
|
|
122
|
-
- if: $CI_MERGE_REQUEST_ID
|
|
123
120
|
needs: []
|
|
124
121
|
retry: &a1
|
|
125
122
|
max: 2
|
|
@@ -128,7 +125,7 @@ app ๐ก audit:
|
|
|
128
125
|
- stuck_or_timeout_failure
|
|
129
126
|
interruptible: true
|
|
130
127
|
allow_failure: true
|
|
131
|
-
app ๐ฎ lint:
|
|
128
|
+
'app ๐ฎ lint | dev ':
|
|
132
129
|
stage: test
|
|
133
130
|
image: ruby:3.2.1
|
|
134
131
|
variables: {}
|
|
@@ -150,13 +147,10 @@ app ๐ฎ lint:
|
|
|
150
147
|
- when: never
|
|
151
148
|
if: $CI_PIPELINE_SOURCE == "trigger"
|
|
152
149
|
- if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $CI_COMMIT_MESSAGE !~ /^chore\\(release\\).*/
|
|
153
|
-
- when: never
|
|
154
|
-
if: $CI_PIPELINE_SOURCE == "trigger"
|
|
155
|
-
- if: $CI_MERGE_REQUEST_ID
|
|
156
150
|
needs: []
|
|
157
151
|
retry: *a1
|
|
158
152
|
interruptible: true
|
|
159
|
-
app ๐งช test:
|
|
153
|
+
'app ๐งช test | dev ':
|
|
160
154
|
stage: test
|
|
161
155
|
image: ruby:3.2.1
|
|
162
156
|
services:
|
|
@@ -181,9 +175,6 @@ app ๐งช test:
|
|
|
181
175
|
- when: never
|
|
182
176
|
if: $CI_PIPELINE_SOURCE == "trigger"
|
|
183
177
|
- if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $CI_COMMIT_MESSAGE !~ /^chore\\(release\\).*/
|
|
184
|
-
- when: never
|
|
185
|
-
if: $CI_PIPELINE_SOURCE == "trigger"
|
|
186
|
-
- if: $CI_MERGE_REQUEST_ID
|
|
187
178
|
needs: []
|
|
188
179
|
retry: *a1
|
|
189
180
|
interruptible: true
|
|
@@ -398,15 +389,15 @@ app ๐งช test:
|
|
|
398
389
|
- when: on_success
|
|
399
390
|
if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $CI_COMMIT_MESSAGE !~ /^chore\\(release\\).*/
|
|
400
391
|
needs:
|
|
401
|
-
- job: app ๐ฎ lint
|
|
392
|
+
- job: 'app ๐ฎ lint | dev '
|
|
402
393
|
artifacts: false
|
|
403
394
|
- job: 'app ๐จ docker | dev '
|
|
404
395
|
artifacts: false
|
|
405
|
-
- job: app ๐งช test
|
|
396
|
+
- job: 'app ๐งช test | dev '
|
|
406
397
|
artifacts: false
|
|
407
398
|
- job: 'app ๐งพ sbom | dev '
|
|
408
399
|
artifacts: true
|
|
409
|
-
- job: app ๐ก audit
|
|
400
|
+
- job: 'app ๐ก audit | dev '
|
|
410
401
|
artifacts: false
|
|
411
402
|
retry: *a1
|
|
412
403
|
interruptible: true
|
|
@@ -519,6 +510,77 @@ app ๐งช test:
|
|
|
519
510
|
retry: *a1
|
|
520
511
|
interruptible: true
|
|
521
512
|
allow_failure: true
|
|
513
|
+
'app ๐ก audit | review ':
|
|
514
|
+
stage: test
|
|
515
|
+
image: ruby:3.2.1
|
|
516
|
+
variables: {}
|
|
517
|
+
script:
|
|
518
|
+
- collapseable_section_start "injectvars" "Injecting variables"
|
|
519
|
+
- collapseable_section_end "injectvars"
|
|
520
|
+
- cd .temp-with-dockerfile
|
|
521
|
+
- gem install bundler-audit
|
|
522
|
+
- bundle audit check
|
|
523
|
+
rules:
|
|
524
|
+
- when: never
|
|
525
|
+
if: $CI_PIPELINE_SOURCE == "trigger"
|
|
526
|
+
- if: $CI_MERGE_REQUEST_ID
|
|
527
|
+
needs: []
|
|
528
|
+
retry: *a1
|
|
529
|
+
interruptible: true
|
|
530
|
+
allow_failure: true
|
|
531
|
+
'app ๐ฎ lint | review ':
|
|
532
|
+
stage: test
|
|
533
|
+
image: ruby:3.2.1
|
|
534
|
+
variables: {}
|
|
535
|
+
script:
|
|
536
|
+
- collapseable_section_start "injectvars" "Injecting variables"
|
|
537
|
+
- collapseable_section_end "injectvars"
|
|
538
|
+
- cd .temp-with-dockerfile
|
|
539
|
+
- bundle config set path 'tmp/cache'
|
|
540
|
+
- bundle install -j $(nproc)
|
|
541
|
+
- bundle exec rubocop
|
|
542
|
+
cache: &a3
|
|
543
|
+
key:
|
|
544
|
+
files:
|
|
545
|
+
- Gemfile.lock
|
|
546
|
+
prefix: $CI_JOB_IMAGE
|
|
547
|
+
paths:
|
|
548
|
+
- tmp/cache
|
|
549
|
+
rules:
|
|
550
|
+
- when: never
|
|
551
|
+
if: $CI_PIPELINE_SOURCE == "trigger"
|
|
552
|
+
- if: $CI_MERGE_REQUEST_ID
|
|
553
|
+
needs: []
|
|
554
|
+
retry: *a1
|
|
555
|
+
interruptible: true
|
|
556
|
+
'app ๐งช test | review ':
|
|
557
|
+
stage: test
|
|
558
|
+
image: ruby:3.2.1
|
|
559
|
+
services:
|
|
560
|
+
- name: docker.io/postgres:latest
|
|
561
|
+
alias: database
|
|
562
|
+
variables:
|
|
563
|
+
POSTGRES_HOST_AUTH_METHOD: trust
|
|
564
|
+
variables:
|
|
565
|
+
RAILS_ENV: test
|
|
566
|
+
DATABASE_URL: postgresql://postgres@database
|
|
567
|
+
script:
|
|
568
|
+
- collapseable_section_start "injectvars" "Injecting variables"
|
|
569
|
+
- collapseable_section_end "injectvars"
|
|
570
|
+
- cd .temp-with-dockerfile
|
|
571
|
+
- bundle config set path 'tmp/cache'
|
|
572
|
+
- bundle install -j $(nproc)
|
|
573
|
+
- bundle exec rake db:test:prepare
|
|
574
|
+
- bundle exec rake assets:precompile assets:clean
|
|
575
|
+
- bundle exec rspec
|
|
576
|
+
cache: *a3
|
|
577
|
+
rules:
|
|
578
|
+
- when: never
|
|
579
|
+
if: $CI_PIPELINE_SOURCE == "trigger"
|
|
580
|
+
- if: $CI_MERGE_REQUEST_ID
|
|
581
|
+
needs: []
|
|
582
|
+
retry: *a1
|
|
583
|
+
interruptible: true
|
|
522
584
|
'app ๐จ docker | review ':
|
|
523
585
|
stage: build
|
|
524
586
|
image: path/to/docker/docker-build:the-version
|
|
@@ -736,15 +798,15 @@ app ๐งช test:
|
|
|
736
798
|
- when: on_success
|
|
737
799
|
if: $CI_MERGE_REQUEST_ID
|
|
738
800
|
needs:
|
|
739
|
-
- job: app ๐ฎ lint
|
|
801
|
+
- job: 'app ๐ฎ lint | review '
|
|
740
802
|
artifacts: false
|
|
741
803
|
- job: 'app ๐จ docker | review '
|
|
742
804
|
artifacts: false
|
|
743
|
-
- job: app ๐งช test
|
|
805
|
+
- job: 'app ๐งช test | review '
|
|
744
806
|
artifacts: false
|
|
745
807
|
- job: 'app ๐งพ sbom | review '
|
|
746
808
|
artifacts: true
|
|
747
|
-
- job: app ๐ก audit
|
|
809
|
+
- job: 'app ๐ก audit | review '
|
|
748
810
|
artifacts: false
|
|
749
811
|
retry: *a1
|
|
750
812
|
interruptible: true
|
|
@@ -1514,13 +1576,13 @@ create release:
|
|
|
1514
1576
|
- semanticRelease
|
|
1515
1577
|
- echo '๐ The project access token might be invald - run \`project-renew-token\` in catladder CLI to fix.'
|
|
1516
1578
|
rules:
|
|
1517
|
-
- &
|
|
1579
|
+
- &a4
|
|
1518
1580
|
if: $CI_COMMIT_MESSAGE =~ /^chore\\(release\\).*/
|
|
1519
1581
|
when: never
|
|
1520
|
-
- &
|
|
1582
|
+
- &a5
|
|
1521
1583
|
if: $CI_PIPELINE_SOURCE == "trigger"
|
|
1522
1584
|
when: never
|
|
1523
|
-
- &
|
|
1585
|
+
- &a6
|
|
1524
1586
|
if: $CI_PIPELINE_SOURCE == "schedule"
|
|
1525
1587
|
when: never
|
|
1526
1588
|
- if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
|
|
@@ -1534,9 +1596,9 @@ create release:
|
|
|
1534
1596
|
- semanticRelease
|
|
1535
1597
|
- echo '๐ The project access token might be invald - run \`project-renew-token\` in catladder CLI to fix.'
|
|
1536
1598
|
rules:
|
|
1537
|
-
- *a3
|
|
1538
1599
|
- *a4
|
|
1539
1600
|
- *a5
|
|
1601
|
+
- *a6
|
|
1540
1602
|
- if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
|
|
1541
1603
|
when: manual
|
|
1542
1604
|
- if: $CI_COMMIT_BRANCH =~ /^[0-9]+.([0-9]+|x).x$/
|
|
@@ -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
|
-
app ๐ก audit:
|
|
106
|
+
'app ๐ก audit | dev ':
|
|
107
107
|
stage: test
|
|
108
108
|
image: ruby:3.2.1
|
|
109
109
|
variables: {}
|
|
@@ -117,9 +117,6 @@ app ๐ก audit:
|
|
|
117
117
|
- when: never
|
|
118
118
|
if: $CI_PIPELINE_SOURCE == "trigger"
|
|
119
119
|
- if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $CI_COMMIT_MESSAGE !~ /^chore\\(release\\).*/
|
|
120
|
-
- when: never
|
|
121
|
-
if: $CI_PIPELINE_SOURCE == "trigger"
|
|
122
|
-
- if: $CI_MERGE_REQUEST_ID
|
|
123
120
|
needs: []
|
|
124
121
|
retry: &a1
|
|
125
122
|
max: 2
|
|
@@ -128,7 +125,7 @@ app ๐ก audit:
|
|
|
128
125
|
- stuck_or_timeout_failure
|
|
129
126
|
interruptible: true
|
|
130
127
|
allow_failure: true
|
|
131
|
-
app ๐ฎ lint:
|
|
128
|
+
'app ๐ฎ lint | dev ':
|
|
132
129
|
stage: test
|
|
133
130
|
image: ruby:3.2.1
|
|
134
131
|
variables: {}
|
|
@@ -150,13 +147,10 @@ app ๐ฎ lint:
|
|
|
150
147
|
- when: never
|
|
151
148
|
if: $CI_PIPELINE_SOURCE == "trigger"
|
|
152
149
|
- if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $CI_COMMIT_MESSAGE !~ /^chore\\(release\\).*/
|
|
153
|
-
- when: never
|
|
154
|
-
if: $CI_PIPELINE_SOURCE == "trigger"
|
|
155
|
-
- if: $CI_MERGE_REQUEST_ID
|
|
156
150
|
needs: []
|
|
157
151
|
retry: *a1
|
|
158
152
|
interruptible: true
|
|
159
|
-
app ๐งช test:
|
|
153
|
+
'app ๐งช test | dev ':
|
|
160
154
|
stage: test
|
|
161
155
|
image: ruby:3.2.1
|
|
162
156
|
services:
|
|
@@ -181,9 +175,6 @@ app ๐งช test:
|
|
|
181
175
|
- when: never
|
|
182
176
|
if: $CI_PIPELINE_SOURCE == "trigger"
|
|
183
177
|
- if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $CI_COMMIT_MESSAGE !~ /^chore\\(release\\).*/
|
|
184
|
-
- when: never
|
|
185
|
-
if: $CI_PIPELINE_SOURCE == "trigger"
|
|
186
|
-
- if: $CI_MERGE_REQUEST_ID
|
|
187
178
|
needs: []
|
|
188
179
|
retry: *a1
|
|
189
180
|
interruptible: true
|
|
@@ -393,15 +384,15 @@ app ๐งช test:
|
|
|
393
384
|
- when: on_success
|
|
394
385
|
if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $CI_COMMIT_MESSAGE !~ /^chore\\(release\\).*/
|
|
395
386
|
needs:
|
|
396
|
-
- job: app ๐ฎ lint
|
|
387
|
+
- job: 'app ๐ฎ lint | dev '
|
|
397
388
|
artifacts: false
|
|
398
389
|
- job: 'app ๐จ docker | dev '
|
|
399
390
|
artifacts: false
|
|
400
|
-
- job: app ๐งช test
|
|
391
|
+
- job: 'app ๐งช test | dev '
|
|
401
392
|
artifacts: false
|
|
402
393
|
- job: 'app ๐งพ sbom | dev '
|
|
403
394
|
artifacts: true
|
|
404
|
-
- job: app ๐ก audit
|
|
395
|
+
- job: 'app ๐ก audit | dev '
|
|
405
396
|
artifacts: false
|
|
406
397
|
retry: *a1
|
|
407
398
|
interruptible: true
|
|
@@ -514,6 +505,77 @@ app ๐งช test:
|
|
|
514
505
|
retry: *a1
|
|
515
506
|
interruptible: true
|
|
516
507
|
allow_failure: true
|
|
508
|
+
'app ๐ก audit | review ':
|
|
509
|
+
stage: test
|
|
510
|
+
image: ruby:3.2.1
|
|
511
|
+
variables: {}
|
|
512
|
+
script:
|
|
513
|
+
- collapseable_section_start "injectvars" "Injecting variables"
|
|
514
|
+
- collapseable_section_end "injectvars"
|
|
515
|
+
- cd .
|
|
516
|
+
- gem install bundler-audit
|
|
517
|
+
- bundle audit check
|
|
518
|
+
rules:
|
|
519
|
+
- when: never
|
|
520
|
+
if: $CI_PIPELINE_SOURCE == "trigger"
|
|
521
|
+
- if: $CI_MERGE_REQUEST_ID
|
|
522
|
+
needs: []
|
|
523
|
+
retry: *a1
|
|
524
|
+
interruptible: true
|
|
525
|
+
allow_failure: true
|
|
526
|
+
'app ๐ฎ lint | review ':
|
|
527
|
+
stage: test
|
|
528
|
+
image: ruby:3.2.1
|
|
529
|
+
variables: {}
|
|
530
|
+
script:
|
|
531
|
+
- collapseable_section_start "injectvars" "Injecting variables"
|
|
532
|
+
- collapseable_section_end "injectvars"
|
|
533
|
+
- cd .
|
|
534
|
+
- bundle config set path 'tmp/cache'
|
|
535
|
+
- bundle install -j $(nproc)
|
|
536
|
+
- bundle exec rubocop
|
|
537
|
+
cache: &a3
|
|
538
|
+
key:
|
|
539
|
+
files:
|
|
540
|
+
- Gemfile.lock
|
|
541
|
+
prefix: $CI_JOB_IMAGE
|
|
542
|
+
paths:
|
|
543
|
+
- tmp/cache
|
|
544
|
+
rules:
|
|
545
|
+
- when: never
|
|
546
|
+
if: $CI_PIPELINE_SOURCE == "trigger"
|
|
547
|
+
- if: $CI_MERGE_REQUEST_ID
|
|
548
|
+
needs: []
|
|
549
|
+
retry: *a1
|
|
550
|
+
interruptible: true
|
|
551
|
+
'app ๐งช test | review ':
|
|
552
|
+
stage: test
|
|
553
|
+
image: ruby:3.2.1
|
|
554
|
+
services:
|
|
555
|
+
- name: docker.io/postgres:latest
|
|
556
|
+
alias: database
|
|
557
|
+
variables:
|
|
558
|
+
POSTGRES_HOST_AUTH_METHOD: trust
|
|
559
|
+
variables:
|
|
560
|
+
RAILS_ENV: test
|
|
561
|
+
DATABASE_URL: postgresql://postgres@database
|
|
562
|
+
script:
|
|
563
|
+
- collapseable_section_start "injectvars" "Injecting variables"
|
|
564
|
+
- collapseable_section_end "injectvars"
|
|
565
|
+
- cd .
|
|
566
|
+
- bundle config set path 'tmp/cache'
|
|
567
|
+
- bundle install -j $(nproc)
|
|
568
|
+
- bundle exec rake db:test:prepare
|
|
569
|
+
- bundle exec rake assets:precompile assets:clean
|
|
570
|
+
- bundle exec rspec
|
|
571
|
+
cache: *a3
|
|
572
|
+
rules:
|
|
573
|
+
- when: never
|
|
574
|
+
if: $CI_PIPELINE_SOURCE == "trigger"
|
|
575
|
+
- if: $CI_MERGE_REQUEST_ID
|
|
576
|
+
needs: []
|
|
577
|
+
retry: *a1
|
|
578
|
+
interruptible: true
|
|
517
579
|
'app ๐จ docker | review ':
|
|
518
580
|
stage: build
|
|
519
581
|
image: path/to/docker/docker-build:the-version
|
|
@@ -726,15 +788,15 @@ app ๐งช test:
|
|
|
726
788
|
- when: on_success
|
|
727
789
|
if: $CI_MERGE_REQUEST_ID
|
|
728
790
|
needs:
|
|
729
|
-
- job: app ๐ฎ lint
|
|
791
|
+
- job: 'app ๐ฎ lint | review '
|
|
730
792
|
artifacts: false
|
|
731
793
|
- job: 'app ๐จ docker | review '
|
|
732
794
|
artifacts: false
|
|
733
|
-
- job: app ๐งช test
|
|
795
|
+
- job: 'app ๐งช test | review '
|
|
734
796
|
artifacts: false
|
|
735
797
|
- job: 'app ๐งพ sbom | review '
|
|
736
798
|
artifacts: true
|
|
737
|
-
- job: app ๐ก audit
|
|
799
|
+
- job: 'app ๐ก audit | review '
|
|
738
800
|
artifacts: false
|
|
739
801
|
retry: *a1
|
|
740
802
|
interruptible: true
|
|
@@ -1494,13 +1556,13 @@ create release:
|
|
|
1494
1556
|
- semanticRelease
|
|
1495
1557
|
- echo '๐ The project access token might be invald - run \`project-renew-token\` in catladder CLI to fix.'
|
|
1496
1558
|
rules:
|
|
1497
|
-
- &
|
|
1559
|
+
- &a4
|
|
1498
1560
|
if: $CI_COMMIT_MESSAGE =~ /^chore\\(release\\).*/
|
|
1499
1561
|
when: never
|
|
1500
|
-
- &
|
|
1562
|
+
- &a5
|
|
1501
1563
|
if: $CI_PIPELINE_SOURCE == "trigger"
|
|
1502
1564
|
when: never
|
|
1503
|
-
- &
|
|
1565
|
+
- &a6
|
|
1504
1566
|
if: $CI_PIPELINE_SOURCE == "schedule"
|
|
1505
1567
|
when: never
|
|
1506
1568
|
- if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
|
|
@@ -1514,9 +1576,9 @@ create release:
|
|
|
1514
1576
|
- semanticRelease
|
|
1515
1577
|
- echo '๐ The project access token might be invald - run \`project-renew-token\` in catladder CLI to fix.'
|
|
1516
1578
|
rules:
|
|
1517
|
-
- *a3
|
|
1518
1579
|
- *a4
|
|
1519
1580
|
- *a5
|
|
1581
|
+
- *a6
|
|
1520
1582
|
- if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
|
|
1521
1583
|
when: manual
|
|
1522
1584
|
- if: $CI_COMMIT_BRANCH =~ /^[0-9]+.([0-9]+|x).x$/
|