@catladder/pipeline 1.98.0 → 1.98.2

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.
@@ -4,7 +4,458 @@ exports[`matches snapshot 1`] = `
4
4
  {
5
5
  "mainBranch": {
6
6
  "image": "path/to/docker/jobs-default:the-version",
7
- "jobs": {},
7
+ "jobs": {
8
+ "api 👮 lint": {
9
+ "cache": [
10
+ {
11
+ "key": "api-yarn",
12
+ "paths": [
13
+ "api/.yarn",
14
+ ],
15
+ "policy": "pull-push",
16
+ },
17
+ {
18
+ "key": "api-node-modules",
19
+ "paths": [
20
+ "api/node_modules",
21
+ ],
22
+ "policy": "pull-push",
23
+ },
24
+ ],
25
+ "environment": undefined,
26
+ "interruptible": true,
27
+ "needs": [],
28
+ "retry": {
29
+ "max": 2,
30
+ "when": [
31
+ "runner_system_failure",
32
+ "stuck_or_timeout_failure",
33
+ ],
34
+ },
35
+ "script": [
36
+ "cd api",
37
+ "if [ -f ./.nvmrc ]; then source /root/.nvm/nvm.sh && nvm install <<< .nvmrc; fi",
38
+ "yarn install --immutable",
39
+ "yarn lint",
40
+ ],
41
+ "stage": "test",
42
+ "variables": {
43
+ "APP_PATH": "api",
44
+ "KUBERNETES_CPU_LIMIT": "2",
45
+ "KUBERNETES_CPU_REQUEST": "0.5",
46
+ "KUBERNETES_MEMORY_LIMIT": "4Gi",
47
+ "KUBERNETES_MEMORY_REQUEST": "2Gi",
48
+ },
49
+ },
50
+ "api 🔨 app | asdf ": {
51
+ "artifacts": {
52
+ "paths": [
53
+ "api/__build_info.json",
54
+ "api/dist",
55
+ "api/.next",
56
+ ],
57
+ "reports": {
58
+ "junit": undefined,
59
+ },
60
+ },
61
+ "cache": [
62
+ {
63
+ "key": "api-yarn",
64
+ "paths": [
65
+ "api/.yarn",
66
+ ],
67
+ "policy": "pull-push",
68
+ },
69
+ {
70
+ "key": "api-node-modules",
71
+ "paths": [
72
+ "api/node_modules",
73
+ ],
74
+ "policy": "pull-push",
75
+ },
76
+ {
77
+ "key": "api-next-cache",
78
+ "paths": [
79
+ "api/.next/cache/",
80
+ ],
81
+ "policy": "pull-push",
82
+ },
83
+ ],
84
+ "environment": undefined,
85
+ "image": "path/to/docker/jobs-default:the-version",
86
+ "interruptible": true,
87
+ "needs": [],
88
+ "retry": {
89
+ "max": 2,
90
+ "when": [
91
+ "runner_system_failure",
92
+ "stuck_or_timeout_failure",
93
+ ],
94
+ },
95
+ "script": [
96
+ "echo '{"id":"some-id","time":"01-01-2023 12:13:14"}' > api/__build_info.json",
97
+ "if [ -f ./.nvmrc ]; then source /root/.nvm/nvm.sh && nvm install <<< .nvmrc; fi",
98
+ "cd api",
99
+ "if [ -f ./.nvmrc ]; then source /root/.nvm/nvm.sh && nvm install <<< .nvmrc; fi",
100
+ "yarn install --immutable",
101
+ ],
102
+ "stage": "build",
103
+ "variables": {
104
+ "APP_DIR": "api",
105
+ "ENV_SHORT": "asdf",
106
+ "ENV_TYPE": "dev",
107
+ "HOST": "unknown-host.example.com",
108
+ "KUBERNETES_CPU_LIMIT": "2",
109
+ "KUBERNETES_CPU_REQUEST": "0.5",
110
+ "KUBERNETES_MEMORY_LIMIT": "4Gi",
111
+ "KUBERNETES_MEMORY_REQUEST": "2Gi",
112
+ "ROOT_URL": "https://unknown-host.example.com",
113
+ "_ALL_ENV_VAR_KEYS": "["ENV_SHORT","APP_DIR","ENV_TYPE","HOST","ROOT_URL"]",
114
+ },
115
+ },
116
+ "api 🔨 app | bla ": {
117
+ "artifacts": {
118
+ "paths": [
119
+ "api/__build_info.json",
120
+ "api/dist",
121
+ "api/.next",
122
+ ],
123
+ "reports": {
124
+ "junit": undefined,
125
+ },
126
+ },
127
+ "cache": [
128
+ {
129
+ "key": "api-yarn",
130
+ "paths": [
131
+ "api/.yarn",
132
+ ],
133
+ "policy": "pull-push",
134
+ },
135
+ {
136
+ "key": "api-node-modules",
137
+ "paths": [
138
+ "api/node_modules",
139
+ ],
140
+ "policy": "pull-push",
141
+ },
142
+ {
143
+ "key": "api-next-cache",
144
+ "paths": [
145
+ "api/.next/cache/",
146
+ ],
147
+ "policy": "pull-push",
148
+ },
149
+ ],
150
+ "environment": undefined,
151
+ "image": "path/to/docker/jobs-default:the-version",
152
+ "interruptible": true,
153
+ "needs": [],
154
+ "retry": {
155
+ "max": 2,
156
+ "when": [
157
+ "runner_system_failure",
158
+ "stuck_or_timeout_failure",
159
+ ],
160
+ },
161
+ "script": [
162
+ "echo '{"id":"some-id","time":"01-01-2023 12:13:14"}' > api/__build_info.json",
163
+ "if [ -f ./.nvmrc ]; then source /root/.nvm/nvm.sh && nvm install <<< .nvmrc; fi",
164
+ "cd api",
165
+ "if [ -f ./.nvmrc ]; then source /root/.nvm/nvm.sh && nvm install <<< .nvmrc; fi",
166
+ "yarn install --immutable",
167
+ ],
168
+ "stage": "build",
169
+ "variables": {
170
+ "APP_DIR": "api",
171
+ "ENV_SHORT": "bla",
172
+ "ENV_TYPE": "dev",
173
+ "HOST": "unknown-host.example.com",
174
+ "KUBERNETES_CPU_LIMIT": "2",
175
+ "KUBERNETES_CPU_REQUEST": "0.5",
176
+ "KUBERNETES_MEMORY_LIMIT": "4Gi",
177
+ "KUBERNETES_MEMORY_REQUEST": "2Gi",
178
+ "ROOT_URL": "https://unknown-host.example.com",
179
+ "_ALL_ENV_VAR_KEYS": "["ENV_SHORT","APP_DIR","ENV_TYPE","HOST","ROOT_URL"]",
180
+ },
181
+ },
182
+ "api 🔨 app | dev ": {
183
+ "artifacts": {
184
+ "paths": [
185
+ "api/__build_info.json",
186
+ "api/dist",
187
+ "api/.next",
188
+ ],
189
+ "reports": {
190
+ "junit": undefined,
191
+ },
192
+ },
193
+ "cache": [
194
+ {
195
+ "key": "api-yarn",
196
+ "paths": [
197
+ "api/.yarn",
198
+ ],
199
+ "policy": "pull-push",
200
+ },
201
+ {
202
+ "key": "api-node-modules",
203
+ "paths": [
204
+ "api/node_modules",
205
+ ],
206
+ "policy": "pull-push",
207
+ },
208
+ {
209
+ "key": "api-next-cache",
210
+ "paths": [
211
+ "api/.next/cache/",
212
+ ],
213
+ "policy": "pull-push",
214
+ },
215
+ ],
216
+ "environment": undefined,
217
+ "image": "path/to/docker/jobs-default:the-version",
218
+ "interruptible": true,
219
+ "needs": [],
220
+ "retry": {
221
+ "max": 2,
222
+ "when": [
223
+ "runner_system_failure",
224
+ "stuck_or_timeout_failure",
225
+ ],
226
+ },
227
+ "script": [
228
+ "echo '{"id":"some-id","time":"01-01-2023 12:13:14"}' > api/__build_info.json",
229
+ "if [ -f ./.nvmrc ]; then source /root/.nvm/nvm.sh && nvm install <<< .nvmrc; fi",
230
+ "cd api",
231
+ "if [ -f ./.nvmrc ]; then source /root/.nvm/nvm.sh && nvm install <<< .nvmrc; fi",
232
+ "yarn install --immutable",
233
+ ],
234
+ "stage": "build",
235
+ "variables": {
236
+ "APP_DIR": "api",
237
+ "ENV_SHORT": "dev",
238
+ "ENV_TYPE": "dev",
239
+ "HOST": "unknown-host.example.com",
240
+ "KUBERNETES_CPU_LIMIT": "2",
241
+ "KUBERNETES_CPU_REQUEST": "0.5",
242
+ "KUBERNETES_MEMORY_LIMIT": "4Gi",
243
+ "KUBERNETES_MEMORY_REQUEST": "2Gi",
244
+ "ROOT_URL": "https://unknown-host.example.com",
245
+ "_ALL_ENV_VAR_KEYS": "["ENV_SHORT","APP_DIR","ENV_TYPE","HOST","ROOT_URL"]",
246
+ },
247
+ },
248
+ "api 🛡 audit": {
249
+ "allow_failure": true,
250
+ "cache": undefined,
251
+ "environment": undefined,
252
+ "interruptible": true,
253
+ "needs": [],
254
+ "retry": {
255
+ "max": 2,
256
+ "when": [
257
+ "runner_system_failure",
258
+ "stuck_or_timeout_failure",
259
+ ],
260
+ },
261
+ "script": [
262
+ "cd api",
263
+ "yarn npm audit --environment production",
264
+ ],
265
+ "stage": "test",
266
+ "variables": {
267
+ "APP_PATH": "api",
268
+ "KUBERNETES_CPU_LIMIT": "2",
269
+ "KUBERNETES_CPU_REQUEST": "0.5",
270
+ "KUBERNETES_MEMORY_LIMIT": "4Gi",
271
+ "KUBERNETES_MEMORY_REQUEST": "2Gi",
272
+ },
273
+ },
274
+ "api 🧪 test": {
275
+ "cache": [
276
+ {
277
+ "key": "api-yarn",
278
+ "paths": [
279
+ "api/.yarn",
280
+ ],
281
+ "policy": "pull-push",
282
+ },
283
+ {
284
+ "key": "api-node-modules",
285
+ "paths": [
286
+ "api/node_modules",
287
+ ],
288
+ "policy": "pull-push",
289
+ },
290
+ ],
291
+ "environment": undefined,
292
+ "image": "path/to/docker/jobs-testing-chrome:the-version",
293
+ "interruptible": true,
294
+ "needs": [],
295
+ "retry": {
296
+ "max": 2,
297
+ "when": [
298
+ "runner_system_failure",
299
+ "stuck_or_timeout_failure",
300
+ ],
301
+ },
302
+ "script": [
303
+ "cd api",
304
+ "if [ -f ./.nvmrc ]; then source /root/.nvm/nvm.sh && nvm install <<< .nvmrc; fi",
305
+ "yarn install --immutable",
306
+ "yarn test",
307
+ ],
308
+ "stage": "test",
309
+ "variables": {
310
+ "APP_PATH": "api",
311
+ "KUBERNETES_CPU_LIMIT": "2",
312
+ "KUBERNETES_CPU_REQUEST": "0.5",
313
+ "KUBERNETES_MEMORY_LIMIT": "4Gi",
314
+ "KUBERNETES_MEMORY_REQUEST": "2Gi",
315
+ },
316
+ },
317
+ "api 🧾 sbom upload | asdf ": {
318
+ "allow_failure": true,
319
+ "cache": undefined,
320
+ "environment": undefined,
321
+ "image": "git.panter.ch:5001/open-source/dependency-track-uploader:dtrackuploader-v0.2.1",
322
+ "interruptible": true,
323
+ "needs": [
324
+ "api 🧾 sbom | asdf ",
325
+ ],
326
+ "retry": {
327
+ "max": 2,
328
+ "when": [
329
+ "runner_system_failure",
330
+ "stuck_or_timeout_failure",
331
+ ],
332
+ },
333
+ "script": [
334
+ "/dtrackuploader https://dep.panter.dev/ "$DT_KEY" upload "pan-test-app/api" "asdf" "__sbom.json" vex.json",
335
+ ],
336
+ "stage": "verify",
337
+ "variables": {},
338
+ },
339
+ "api 🧾 sbom upload | bla ": {
340
+ "allow_failure": true,
341
+ "cache": undefined,
342
+ "environment": undefined,
343
+ "image": "git.panter.ch:5001/open-source/dependency-track-uploader:dtrackuploader-v0.2.1",
344
+ "interruptible": true,
345
+ "needs": [
346
+ "api 🧾 sbom | bla ",
347
+ ],
348
+ "retry": {
349
+ "max": 2,
350
+ "when": [
351
+ "runner_system_failure",
352
+ "stuck_or_timeout_failure",
353
+ ],
354
+ },
355
+ "script": [
356
+ "/dtrackuploader https://dep.panter.dev/ "$DT_KEY" upload "pan-test-app/api" "bla" "__sbom.json" vex.json",
357
+ ],
358
+ "stage": "verify",
359
+ "variables": {},
360
+ },
361
+ "api 🧾 sbom upload | dev ": {
362
+ "allow_failure": true,
363
+ "cache": undefined,
364
+ "environment": undefined,
365
+ "image": "git.panter.ch:5001/open-source/dependency-track-uploader:dtrackuploader-v0.2.1",
366
+ "interruptible": true,
367
+ "needs": [
368
+ "api 🧾 sbom | dev ",
369
+ ],
370
+ "retry": {
371
+ "max": 2,
372
+ "when": [
373
+ "runner_system_failure",
374
+ "stuck_or_timeout_failure",
375
+ ],
376
+ },
377
+ "script": [
378
+ "/dtrackuploader https://dep.panter.dev/ "$DT_KEY" upload "pan-test-app/api" "dev" "__sbom.json" vex.json",
379
+ ],
380
+ "stage": "verify",
381
+ "variables": {},
382
+ },
383
+ "api 🧾 sbom | asdf ": {
384
+ "allow_failure": true,
385
+ "artifacts": {
386
+ "paths": [
387
+ "__sbom.json",
388
+ ],
389
+ },
390
+ "cache": undefined,
391
+ "environment": undefined,
392
+ "image": "aquasec/trivy:0.38.3",
393
+ "interruptible": true,
394
+ "needs": [],
395
+ "retry": {
396
+ "max": 2,
397
+ "when": [
398
+ "runner_system_failure",
399
+ "stuck_or_timeout_failure",
400
+ ],
401
+ },
402
+ "script": [
403
+ "trivy fs --quiet --format cyclonedx --output "__sbom.json" api",
404
+ ],
405
+ "stage": "verify",
406
+ "variables": {},
407
+ },
408
+ "api 🧾 sbom | bla ": {
409
+ "allow_failure": true,
410
+ "artifacts": {
411
+ "paths": [
412
+ "__sbom.json",
413
+ ],
414
+ },
415
+ "cache": undefined,
416
+ "environment": undefined,
417
+ "image": "aquasec/trivy:0.38.3",
418
+ "interruptible": true,
419
+ "needs": [],
420
+ "retry": {
421
+ "max": 2,
422
+ "when": [
423
+ "runner_system_failure",
424
+ "stuck_or_timeout_failure",
425
+ ],
426
+ },
427
+ "script": [
428
+ "trivy fs --quiet --format cyclonedx --output "__sbom.json" api",
429
+ ],
430
+ "stage": "verify",
431
+ "variables": {},
432
+ },
433
+ "api 🧾 sbom | dev ": {
434
+ "allow_failure": true,
435
+ "artifacts": {
436
+ "paths": [
437
+ "__sbom.json",
438
+ ],
439
+ },
440
+ "cache": undefined,
441
+ "environment": undefined,
442
+ "image": "aquasec/trivy:0.38.3",
443
+ "interruptible": true,
444
+ "needs": [],
445
+ "retry": {
446
+ "max": 2,
447
+ "when": [
448
+ "runner_system_failure",
449
+ "stuck_or_timeout_failure",
450
+ ],
451
+ },
452
+ "script": [
453
+ "trivy fs --quiet --format cyclonedx --output "__sbom.json" api",
454
+ ],
455
+ "stage": "verify",
456
+ "variables": {},
457
+ },
458
+ },
8
459
  "stages": [
9
460
  "setup",
10
461
  "setup dev",
@@ -89,7 +540,232 @@ exports[`matches snapshot 1`] = `
89
540
  },
90
541
  "mr": {
91
542
  "image": "path/to/docker/jobs-default:the-version",
92
- "jobs": {},
543
+ "jobs": {
544
+ "api 👮 lint": {
545
+ "cache": [
546
+ {
547
+ "key": "api-yarn",
548
+ "paths": [
549
+ "api/.yarn",
550
+ ],
551
+ "policy": "pull-push",
552
+ },
553
+ {
554
+ "key": "api-node-modules",
555
+ "paths": [
556
+ "api/node_modules",
557
+ ],
558
+ "policy": "pull-push",
559
+ },
560
+ ],
561
+ "environment": undefined,
562
+ "interruptible": true,
563
+ "needs": [],
564
+ "retry": {
565
+ "max": 2,
566
+ "when": [
567
+ "runner_system_failure",
568
+ "stuck_or_timeout_failure",
569
+ ],
570
+ },
571
+ "script": [
572
+ "cd api",
573
+ "if [ -f ./.nvmrc ]; then source /root/.nvm/nvm.sh && nvm install <<< .nvmrc; fi",
574
+ "yarn install --immutable",
575
+ "yarn lint",
576
+ ],
577
+ "stage": "test",
578
+ "variables": {
579
+ "APP_PATH": "api",
580
+ "KUBERNETES_CPU_LIMIT": "2",
581
+ "KUBERNETES_CPU_REQUEST": "0.5",
582
+ "KUBERNETES_MEMORY_LIMIT": "4Gi",
583
+ "KUBERNETES_MEMORY_REQUEST": "2Gi",
584
+ },
585
+ },
586
+ "api 🔨 app | review ": {
587
+ "artifacts": {
588
+ "paths": [
589
+ "api/__build_info.json",
590
+ "api/dist",
591
+ "api/.next",
592
+ ],
593
+ "reports": {
594
+ "junit": undefined,
595
+ },
596
+ },
597
+ "cache": [
598
+ {
599
+ "key": "api-yarn",
600
+ "paths": [
601
+ "api/.yarn",
602
+ ],
603
+ "policy": "pull-push",
604
+ },
605
+ {
606
+ "key": "api-node-modules",
607
+ "paths": [
608
+ "api/node_modules",
609
+ ],
610
+ "policy": "pull-push",
611
+ },
612
+ {
613
+ "key": "api-next-cache",
614
+ "paths": [
615
+ "api/.next/cache/",
616
+ ],
617
+ "policy": "pull-push",
618
+ },
619
+ ],
620
+ "environment": undefined,
621
+ "image": "path/to/docker/jobs-default:the-version",
622
+ "interruptible": true,
623
+ "needs": [],
624
+ "retry": {
625
+ "max": 2,
626
+ "when": [
627
+ "runner_system_failure",
628
+ "stuck_or_timeout_failure",
629
+ ],
630
+ },
631
+ "script": [
632
+ "echo '{"id":"some-id","time":"01-01-2023 12:13:14"}' > api/__build_info.json",
633
+ "if [ -f ./.nvmrc ]; then source /root/.nvm/nvm.sh && nvm install <<< .nvmrc; fi",
634
+ "cd api",
635
+ "if [ -f ./.nvmrc ]; then source /root/.nvm/nvm.sh && nvm install <<< .nvmrc; fi",
636
+ "yarn install --immutable",
637
+ ],
638
+ "stage": "build",
639
+ "variables": {
640
+ "APP_DIR": "api",
641
+ "ENV_SHORT": "review",
642
+ "ENV_TYPE": "review",
643
+ "HOST": "unknown-host.example.com",
644
+ "KUBERNETES_CPU_LIMIT": "2",
645
+ "KUBERNETES_CPU_REQUEST": "0.5",
646
+ "KUBERNETES_MEMORY_LIMIT": "4Gi",
647
+ "KUBERNETES_MEMORY_REQUEST": "2Gi",
648
+ "ROOT_URL": "https://unknown-host.example.com",
649
+ "_ALL_ENV_VAR_KEYS": "["ENV_SHORT","APP_DIR","ENV_TYPE","HOST","ROOT_URL"]",
650
+ },
651
+ },
652
+ "api 🛡 audit": {
653
+ "allow_failure": true,
654
+ "cache": undefined,
655
+ "environment": undefined,
656
+ "interruptible": true,
657
+ "needs": [],
658
+ "retry": {
659
+ "max": 2,
660
+ "when": [
661
+ "runner_system_failure",
662
+ "stuck_or_timeout_failure",
663
+ ],
664
+ },
665
+ "script": [
666
+ "cd api",
667
+ "yarn npm audit --environment production",
668
+ ],
669
+ "stage": "test",
670
+ "variables": {
671
+ "APP_PATH": "api",
672
+ "KUBERNETES_CPU_LIMIT": "2",
673
+ "KUBERNETES_CPU_REQUEST": "0.5",
674
+ "KUBERNETES_MEMORY_LIMIT": "4Gi",
675
+ "KUBERNETES_MEMORY_REQUEST": "2Gi",
676
+ },
677
+ },
678
+ "api 🧪 test": {
679
+ "cache": [
680
+ {
681
+ "key": "api-yarn",
682
+ "paths": [
683
+ "api/.yarn",
684
+ ],
685
+ "policy": "pull-push",
686
+ },
687
+ {
688
+ "key": "api-node-modules",
689
+ "paths": [
690
+ "api/node_modules",
691
+ ],
692
+ "policy": "pull-push",
693
+ },
694
+ ],
695
+ "environment": undefined,
696
+ "image": "path/to/docker/jobs-testing-chrome:the-version",
697
+ "interruptible": true,
698
+ "needs": [],
699
+ "retry": {
700
+ "max": 2,
701
+ "when": [
702
+ "runner_system_failure",
703
+ "stuck_or_timeout_failure",
704
+ ],
705
+ },
706
+ "script": [
707
+ "cd api",
708
+ "if [ -f ./.nvmrc ]; then source /root/.nvm/nvm.sh && nvm install <<< .nvmrc; fi",
709
+ "yarn install --immutable",
710
+ "yarn test",
711
+ ],
712
+ "stage": "test",
713
+ "variables": {
714
+ "APP_PATH": "api",
715
+ "KUBERNETES_CPU_LIMIT": "2",
716
+ "KUBERNETES_CPU_REQUEST": "0.5",
717
+ "KUBERNETES_MEMORY_LIMIT": "4Gi",
718
+ "KUBERNETES_MEMORY_REQUEST": "2Gi",
719
+ },
720
+ },
721
+ "api 🧾 sbom upload | review ": {
722
+ "allow_failure": true,
723
+ "cache": undefined,
724
+ "environment": undefined,
725
+ "image": "git.panter.ch:5001/open-source/dependency-track-uploader:dtrackuploader-v0.2.1",
726
+ "interruptible": true,
727
+ "needs": [
728
+ "api 🧾 sbom | review ",
729
+ ],
730
+ "retry": {
731
+ "max": 2,
732
+ "when": [
733
+ "runner_system_failure",
734
+ "stuck_or_timeout_failure",
735
+ ],
736
+ },
737
+ "script": [
738
+ "/dtrackuploader https://dep.panter.dev/ "$DT_KEY" upload "pan-test-app/api" "review" "__sbom.json" vex.json",
739
+ ],
740
+ "stage": "verify",
741
+ "variables": {},
742
+ },
743
+ "api 🧾 sbom | review ": {
744
+ "allow_failure": true,
745
+ "artifacts": {
746
+ "paths": [
747
+ "__sbom.json",
748
+ ],
749
+ },
750
+ "cache": undefined,
751
+ "environment": undefined,
752
+ "image": "aquasec/trivy:0.38.3",
753
+ "interruptible": true,
754
+ "needs": [],
755
+ "retry": {
756
+ "max": 2,
757
+ "when": [
758
+ "runner_system_failure",
759
+ "stuck_or_timeout_failure",
760
+ ],
761
+ },
762
+ "script": [
763
+ "trivy fs --quiet --format cyclonedx --output "__sbom.json" api",
764
+ ],
765
+ "stage": "verify",
766
+ "variables": {},
767
+ },
768
+ },
93
769
  "stages": [
94
770
  "setup",
95
771
  "setup dev",
@@ -174,7 +850,234 @@ exports[`matches snapshot 1`] = `
174
850
  },
175
851
  "taggedRelease": {
176
852
  "image": "path/to/docker/jobs-default:the-version",
177
- "jobs": {},
853
+ "jobs": {
854
+ "api 🔨 app | prod ": {
855
+ "artifacts": {
856
+ "paths": [
857
+ "api/__build_info.json",
858
+ "api/dist",
859
+ "api/.next",
860
+ ],
861
+ "reports": {
862
+ "junit": undefined,
863
+ },
864
+ },
865
+ "cache": [
866
+ {
867
+ "key": "api-yarn",
868
+ "paths": [
869
+ "api/.yarn",
870
+ ],
871
+ "policy": "pull-push",
872
+ },
873
+ {
874
+ "key": "api-node-modules",
875
+ "paths": [
876
+ "api/node_modules",
877
+ ],
878
+ "policy": "pull-push",
879
+ },
880
+ {
881
+ "key": "api-next-cache",
882
+ "paths": [
883
+ "api/.next/cache/",
884
+ ],
885
+ "policy": "pull-push",
886
+ },
887
+ ],
888
+ "environment": undefined,
889
+ "image": "path/to/docker/jobs-default:the-version",
890
+ "interruptible": true,
891
+ "needs": [],
892
+ "retry": {
893
+ "max": 2,
894
+ "when": [
895
+ "runner_system_failure",
896
+ "stuck_or_timeout_failure",
897
+ ],
898
+ },
899
+ "script": [
900
+ "echo '{"id":"some-id","time":"01-01-2023 12:13:14"}' > api/__build_info.json",
901
+ "if [ -f ./.nvmrc ]; then source /root/.nvm/nvm.sh && nvm install <<< .nvmrc; fi",
902
+ "cd api",
903
+ "if [ -f ./.nvmrc ]; then source /root/.nvm/nvm.sh && nvm install <<< .nvmrc; fi",
904
+ "yarn install --immutable",
905
+ ],
906
+ "stage": "build",
907
+ "variables": {
908
+ "APP_DIR": "api",
909
+ "ENV_SHORT": "prod",
910
+ "ENV_TYPE": "prod",
911
+ "HOST": "unknown-host.example.com",
912
+ "KUBERNETES_CPU_LIMIT": "2",
913
+ "KUBERNETES_CPU_REQUEST": "0.5",
914
+ "KUBERNETES_MEMORY_LIMIT": "4Gi",
915
+ "KUBERNETES_MEMORY_REQUEST": "2Gi",
916
+ "ROOT_URL": "https://unknown-host.example.com",
917
+ "_ALL_ENV_VAR_KEYS": "["ENV_SHORT","APP_DIR","ENV_TYPE","HOST","ROOT_URL"]",
918
+ },
919
+ },
920
+ "api 🔨 app | stage ": {
921
+ "artifacts": {
922
+ "paths": [
923
+ "api/__build_info.json",
924
+ "api/dist",
925
+ "api/.next",
926
+ ],
927
+ "reports": {
928
+ "junit": undefined,
929
+ },
930
+ },
931
+ "cache": [
932
+ {
933
+ "key": "api-yarn",
934
+ "paths": [
935
+ "api/.yarn",
936
+ ],
937
+ "policy": "pull-push",
938
+ },
939
+ {
940
+ "key": "api-node-modules",
941
+ "paths": [
942
+ "api/node_modules",
943
+ ],
944
+ "policy": "pull-push",
945
+ },
946
+ {
947
+ "key": "api-next-cache",
948
+ "paths": [
949
+ "api/.next/cache/",
950
+ ],
951
+ "policy": "pull-push",
952
+ },
953
+ ],
954
+ "environment": undefined,
955
+ "image": "path/to/docker/jobs-default:the-version",
956
+ "interruptible": true,
957
+ "needs": [],
958
+ "retry": {
959
+ "max": 2,
960
+ "when": [
961
+ "runner_system_failure",
962
+ "stuck_or_timeout_failure",
963
+ ],
964
+ },
965
+ "script": [
966
+ "echo '{"id":"some-id","time":"01-01-2023 12:13:14"}' > api/__build_info.json",
967
+ "if [ -f ./.nvmrc ]; then source /root/.nvm/nvm.sh && nvm install <<< .nvmrc; fi",
968
+ "cd api",
969
+ "if [ -f ./.nvmrc ]; then source /root/.nvm/nvm.sh && nvm install <<< .nvmrc; fi",
970
+ "yarn install --immutable",
971
+ ],
972
+ "stage": "build",
973
+ "variables": {
974
+ "APP_DIR": "api",
975
+ "ENV_SHORT": "stage",
976
+ "ENV_TYPE": "stage",
977
+ "HOST": "unknown-host.example.com",
978
+ "KUBERNETES_CPU_LIMIT": "2",
979
+ "KUBERNETES_CPU_REQUEST": "0.5",
980
+ "KUBERNETES_MEMORY_LIMIT": "4Gi",
981
+ "KUBERNETES_MEMORY_REQUEST": "2Gi",
982
+ "ROOT_URL": "https://unknown-host.example.com",
983
+ "_ALL_ENV_VAR_KEYS": "["ENV_SHORT","APP_DIR","ENV_TYPE","HOST","ROOT_URL"]",
984
+ },
985
+ },
986
+ "api 🧾 sbom upload | prod ": {
987
+ "allow_failure": true,
988
+ "cache": undefined,
989
+ "environment": undefined,
990
+ "image": "git.panter.ch:5001/open-source/dependency-track-uploader:dtrackuploader-v0.2.1",
991
+ "interruptible": true,
992
+ "needs": [
993
+ "api 🧾 sbom | prod ",
994
+ ],
995
+ "retry": {
996
+ "max": 2,
997
+ "when": [
998
+ "runner_system_failure",
999
+ "stuck_or_timeout_failure",
1000
+ ],
1001
+ },
1002
+ "script": [
1003
+ "/dtrackuploader https://dep.panter.dev/ "$DT_KEY" upload "pan-test-app/api" "prod" "__sbom.json" vex.json",
1004
+ ],
1005
+ "stage": "verify",
1006
+ "variables": {},
1007
+ },
1008
+ "api 🧾 sbom upload | stage ": {
1009
+ "allow_failure": true,
1010
+ "cache": undefined,
1011
+ "environment": undefined,
1012
+ "image": "git.panter.ch:5001/open-source/dependency-track-uploader:dtrackuploader-v0.2.1",
1013
+ "interruptible": true,
1014
+ "needs": [
1015
+ "api 🧾 sbom | stage ",
1016
+ ],
1017
+ "retry": {
1018
+ "max": 2,
1019
+ "when": [
1020
+ "runner_system_failure",
1021
+ "stuck_or_timeout_failure",
1022
+ ],
1023
+ },
1024
+ "script": [
1025
+ "/dtrackuploader https://dep.panter.dev/ "$DT_KEY" upload "pan-test-app/api" "stage" "__sbom.json" vex.json",
1026
+ ],
1027
+ "stage": "verify",
1028
+ "variables": {},
1029
+ },
1030
+ "api 🧾 sbom | prod ": {
1031
+ "allow_failure": true,
1032
+ "artifacts": {
1033
+ "paths": [
1034
+ "__sbom.json",
1035
+ ],
1036
+ },
1037
+ "cache": undefined,
1038
+ "environment": undefined,
1039
+ "image": "aquasec/trivy:0.38.3",
1040
+ "interruptible": true,
1041
+ "needs": [],
1042
+ "retry": {
1043
+ "max": 2,
1044
+ "when": [
1045
+ "runner_system_failure",
1046
+ "stuck_or_timeout_failure",
1047
+ ],
1048
+ },
1049
+ "script": [
1050
+ "trivy fs --quiet --format cyclonedx --output "__sbom.json" api",
1051
+ ],
1052
+ "stage": "verify",
1053
+ "variables": {},
1054
+ },
1055
+ "api 🧾 sbom | stage ": {
1056
+ "allow_failure": true,
1057
+ "artifacts": {
1058
+ "paths": [
1059
+ "__sbom.json",
1060
+ ],
1061
+ },
1062
+ "cache": undefined,
1063
+ "environment": undefined,
1064
+ "image": "aquasec/trivy:0.38.3",
1065
+ "interruptible": true,
1066
+ "needs": [],
1067
+ "retry": {
1068
+ "max": 2,
1069
+ "when": [
1070
+ "runner_system_failure",
1071
+ "stuck_or_timeout_failure",
1072
+ ],
1073
+ },
1074
+ "script": [
1075
+ "trivy fs --quiet --format cyclonedx --output "__sbom.json" api",
1076
+ ],
1077
+ "stage": "verify",
1078
+ "variables": {},
1079
+ },
1080
+ },
178
1081
  "stages": [
179
1082
  "setup",
180
1083
  "setup dev",