talos

Форк
0
/
.kres.yaml 
1850 строк · 58.6 Кб
1
---
2
kind: auto.CI
3
spec:
4
  compileGHWorkflowsOnly: true
5
---
6
kind: common.SOPS
7
spec:
8
  enabled: true
9
  config: |-
10
    creation_rules:
11
      - age: age1xrpa9ujxxcj2u2gzfrzv8mxak4rts94a6y60ypurv6rs5cpr4e4sg95f0k
12
        # order: Andrey, Noel, Artem, Utku, Dmitriy
13
        pgp: >-
14
          15D5721F5F5BAF121495363EFE042E3D4085A811,
15
          CC51116A94490FA6FB3C18EB2401FCAE863A06CA,
16
          4919F560F0D35F80CF382D76E084A2DF1143C14D,
17
          966BC282A680D8BB3E8363E865933E76F0549B0D,
18
          AA5213AF261C1977AF38B03A94B473337258BFD5
19
---
20
kind: common.Repository
21
spec:
22
  conformScopes:
23
    - apid
24
    - machined
25
    - networkd
26
    - talosctl
27
    - trustd
28
    - talosctl
29
    - kernel
30
    - security
31
    - ci
32
    - ^v1.8
33
  licenseChecks:
34
    - skipPaths:
35
        - .git/
36
        - testdata/
37
      includeSuffixes:
38
        - .go
39
      excludeSuffixes:
40
        - .pb.go
41
        - .pb.gw.go
42
        - _string.go
43
        - _enumer.go
44
        - _string_linux.go
45
        - zz_generated.deepcopy.go
46
      header: |
47
        // This Source Code Form is subject to the terms of the Mozilla Public
48
        // License, v. 2.0. If a copy of the MPL was not distributed with this
49
        // file, You can obtain one at http://mozilla.org/MPL/2.0/.
50
  enforceContexts:
51
    - default
52
    - e2e-iso
53
    - e2e-qemu-short
54
    - e2e-docker-short
55
    - integration-qemu
56
    - integration-trusted-boot
57
    - integration-provision-0
58
    - integration-provision-1
59
    - integration-provision-2
60
    - integration-misc-0
61
    - integration-misc-1
62
    - integration-misc-2
63
    - integration-misc-3
64
    - integration-misc-4
65
    - integration-extensions
66
    - integration-cilium
67
    - integration-conformance
68
    - integration-qemu-encrypted-vip
69
    - integration-qemu-race
70
    - integration-qemu-csi
71
    - integration-images
72
    - integration-reproducibility-test
73
    - integration-cloud-images
74
    - integration-image-factory
75
    - integration-aws
76
    - integration-aws-nvidia-oss
77
    - integration-aws-nvidia-nonfree
78
    - integration-azure
79
    - integration-equinix-metal
80
---
81
kind: common.GHWorkflow
82
spec:
83
  jobs:
84
    - name: default
85
      buildxOptions:
86
        enabled: true
87
      runners:
88
        - self-hosted
89
        - talos
90
      conditions:
91
        - on-pull-request
92
      steps:
93
        - name: external-artifacts
94
        - name: generate
95
          command: generate docs
96
        - name: uki-certs
97
          environment:
98
            PLATFORM: linux/amd64
99
        - name: check-dirty
100
        - name: build
101
          command: talosctl-linux-amd64 kernel sd-boot sd-stub initramfs installer imager talos _out/integration-test-linux-amd64
102
          environment:
103
            PLATFORM: linux/amd64,linux/arm64
104
            IMAGE_REGISTRY: registry.dev.siderolabs.io
105
            PUSH: true
106
        - name: lint
107
        - name: talosctl-cni-bundle
108
        - name: iso
109
          command: iso secureboot-iso
110
          environment:
111
            IMAGE_REGISTRY: registry.dev.siderolabs.io
112
        - name: images-essential
113
          environment:
114
            PLATFORM: linux/amd64,linux/arm64
115
            IMAGE_REGISTRY: registry.dev.siderolabs.io
116
        - name: unit-tests
117
        - name: unit-tests-race
118
        - name: coverage
119
          coverageStep:
120
            files:
121
              - _out/coverage.txt
122
          timeoutMinutes: 3
123
        - name: save-artifacts
124
          artifactStep:
125
            type: upload
126
            artifactName: talos-artifacts
127
            artifactPath: _out
128
            additionalArtifacts:
129
              - "!_out/coverage.txt"
130
    - name: push
131
      buildxOptions:
132
        enabled: true
133
      runners:
134
        - self-hosted
135
        - talos
136
      conditions:
137
        - except-pull-request
138
      steps:
139
        - name: build
140
          command: talosctl-all kernel sd-boot sd-stub initramfs installer imager talos
141
        - name: release-notes
142
        - name: login-to-registry
143
          registryLoginStep:
144
            registry: ghcr.io
145
        - name: push
146
        - name: push-latest
147
          conditions:
148
            - not-on-tag
149
    - name: tag
150
      sops: true
151
      buildxOptions:
152
        enabled: true
153
      runners:
154
        - self-hosted
155
        - talos
156
      conditions:
157
        - only-on-tag
158
      steps:
159
        - name: build
160
          command: talosctl-all kernel sd-boot sd-stub initramfs installer imager talos
161
        - name: release-notes
162
        - name: login-to-registry
163
          registryLoginStep:
164
            registry: ghcr.io
165
        - name: push
166
        - name: images
167
        - name: cloud-images
168
        - name: release
169
          releaseStep:
170
            baseDirectory: _out
171
            artifacts:
172
              - akamai-amd64.raw.gz
173
              - akamai-arm64.raw.gz
174
              - aws-amd64.raw.zst
175
              - aws-arm64.raw.zst
176
              - azure-amd64.vhd.zst
177
              - azure-arm64.vhd.zst
178
              - cloud-images.json
179
              - digital-ocean-amd64.raw.gz
180
              - digital-ocean-arm64.raw.gz
181
              - exoscale-amd64.qcow2.zst
182
              - exoscale-arm64.qcow2.zst
183
              - gcp-amd64.raw.tar.gz
184
              - gcp-arm64.raw.tar.gz
185
              - hcloud-amd64.raw.zst
186
              - hcloud-arm64.raw.zst
187
              - initramfs-amd64.xz
188
              - initramfs-arm64.xz
189
              - metal-amd64.iso
190
              - metal-arm64.iso
191
              - metal-amd64.raw.zst
192
              - metal-arm64.raw.zst
193
              - nocloud-amd64.raw.zst
194
              - nocloud-arm64.raw.zst
195
              - opennebula-amd64.raw.zst
196
              - opennebula-arm64.raw.zst
197
              - openstack-amd64.raw.zst
198
              - openstack-arm64.raw.zst
199
              - oracle-amd64.qcow2.zst
200
              - oracle-arm64.qcow2.zst
201
              - scaleway-amd64.raw.zst
202
              - scaleway-arm64.raw.zst
203
              - sd-boot-amd64.efi
204
              - sd-boot-arm64.efi
205
              - sd-stub-amd64.efi
206
              - sd-stub-arm64.efi
207
              - talosctl-cni-bundle-amd64.tar.gz
208
              - talosctl-cni-bundle-arm64.tar.gz
209
              - talosctl-darwin-amd64
210
              - talosctl-darwin-arm64
211
              - talosctl-freebsd-amd64
212
              - talosctl-freebsd-arm64
213
              - talosctl-linux-amd64
214
              - talosctl-linux-arm64
215
              - talosctl-linux-armv7
216
              - talosctl-windows-amd64.exe
217
              - upcloud-amd64.raw.zst
218
              - upcloud-arm64.raw.zst
219
              - vmware-amd64.ova
220
              - vmware-arm64.ova
221
              - vmlinuz-amd64
222
              - vmlinuz-arm64
223
              - vultr-amd64.raw.zst
224
              - vultr-arm64.raw.zst
225
            generateChecksums: true
226
            releaseNotes: RELEASE_NOTES.md
227
    - name: e2e-iso
228
      depends:
229
        - default
230
      runners:
231
        - self-hosted
232
        - talos
233
      steps:
234
        - name: download-artifacts
235
          artifactStep:
236
            type: download
237
            artifactName: talos-artifacts
238
            artifactPath: _out
239
        - name: e2e-iso
240
          withSudo: true
241
          environment:
242
            IMAGE_REGISTRY: registry.dev.siderolabs.io
243
        - name: save-talos-logs
244
          conditions:
245
            - always
246
          artifactStep:
247
            type: upload
248
            artifactName: talos-logs-e2e-iso
249
            disableExecutableListGeneration: true
250
            artifactPath: ~/.talos/clusters/**/*.log
251
            additionalArtifacts:
252
              - "!~/.talos/clusters/**/swtpm.log"
253
    - name: e2e-qemu-short
254
      depends:
255
        - default
256
      runners:
257
        - self-hosted
258
        - talos
259
      steps:
260
        - name: download-artifacts
261
          artifactStep:
262
            type: download
263
            artifactName: talos-artifacts
264
            artifactPath: _out
265
        - name: e2e-qemu
266
          withSudo: true
267
          environment:
268
            IMAGE_REGISTRY: registry.dev.siderolabs.io
269
            SHORT_INTEGRATION_TEST: yes
270
        - name: save-talos-logs
271
          conditions:
272
            - always
273
          artifactStep:
274
            type: upload
275
            artifactName: talos-logs-e2e-qemu-short
276
            disableExecutableListGeneration: true
277
            artifactPath: ~/.talos/clusters/**/*.log
278
            additionalArtifacts:
279
              - "!~/.talos/clusters/**/swtpm.log"
280
    - name: e2e-docker-short
281
      depends:
282
        - default
283
      runners:
284
        - self-hosted
285
        - talos
286
      steps:
287
        - name: download-artifacts
288
          artifactStep:
289
            type: download
290
            artifactName: talos-artifacts
291
            artifactPath: _out
292
        - name: e2e-docker
293
          withSudo: false
294
          environment:
295
            IMAGE_REGISTRY: registry.dev.siderolabs.io
296
            SHORT_INTEGRATION_TEST: yes
297
        - name: save-talos-logs
298
          conditions:
299
            - always
300
          artifactStep:
301
            type: upload
302
            artifactName: talos-logs-e2e-docker-short
303
            disableExecutableListGeneration: true
304
            artifactPath: ~/.talos/clusters/**/*.log
305
            additionalArtifacts:
306
              - "!~/.talos/clusters/**/swtpm.log"
307
    - name: integration-qemu
308
      buildxOptions:
309
        enabled: true
310
      depends:
311
        - default
312
      runners:
313
        - self-hosted
314
        - talos
315
      crons:
316
        - '30 3 * * *'
317
      triggerLabels:
318
        - integration/qemu
319
      steps:
320
        - name: download-artifacts
321
          conditions:
322
            - not-on-schedule
323
          artifactStep:
324
            type: download
325
            artifactName: talos-artifacts
326
            artifactPath: _out
327
        - name: build
328
          conditions:
329
            - only-on-schedule
330
          command: talosctl-linux-amd64 kernel sd-boot sd-stub initramfs installer imager talos _out/integration-test-linux-amd64
331
          environment:
332
            PLATFORM: linux/amd64
333
            IMAGE_REGISTRY: registry.dev.siderolabs.io
334
            PUSH: true
335
        - name: talosctl-cni-bundle
336
          conditions:
337
            - only-on-schedule
338
        - name: e2e-qemu
339
          withSudo: true
340
          environment:
341
            IMAGE_REGISTRY: registry.dev.siderolabs.io
342
        - name: save-talos-logs
343
          conditions:
344
            - always
345
          artifactStep:
346
            type: upload
347
            artifactName: talos-logs-integration-qemu
348
            disableExecutableListGeneration: true
349
            artifactPath: ~/.talos/clusters/**/*.log
350
            additionalArtifacts:
351
              - "!~/.talos/clusters/**/swtpm.log"
352
    - name: integration-conformance
353
      buildxOptions:
354
        enabled: true
355
      depends:
356
        - default
357
      runners:
358
        - self-hosted
359
        - talos
360
      crons:
361
        - '30 4 * * *'
362
      triggerLabels:
363
        - integration/conformance
364
      steps:
365
        - name: download-artifacts
366
          conditions:
367
            - not-on-schedule
368
          artifactStep:
369
            type: download
370
            artifactName: talos-artifacts
371
            artifactPath: _out
372
        - name: build
373
          conditions:
374
            - only-on-schedule
375
          command: talosctl-linux-amd64 kernel sd-boot sd-stub initramfs installer imager talos _out/integration-test-linux-amd64
376
          environment:
377
            PLATFORM: linux/amd64
378
            IMAGE_REGISTRY: registry.dev.siderolabs.io
379
            PUSH: true
380
        - name: talosctl-cni-bundle
381
          conditions:
382
            - only-on-schedule
383
        - name: conformance-qemu
384
          command: e2e-qemu
385
          withSudo: true
386
          environment:
387
            QEMU_WORKERS: 2
388
            QEMU_CPUS: 4
389
            TEST_MODE: fast-conformance
390
            IMAGE_REGISTRY: registry.dev.siderolabs.io
391
        - name: save-talos-logs
392
          conditions:
393
            - always
394
          artifactStep:
395
            type: upload
396
            artifactName: talos-logs-integration-qemu
397
            disableExecutableListGeneration: true
398
            artifactPath: ~/.talos/clusters/**/*.log
399
            additionalArtifacts:
400
              - "!~/.talos/clusters/**/swtpm.log"
401
    - name: integration-trusted-boot
402
      buildxOptions:
403
        enabled: true
404
      depends:
405
        - default
406
      runners:
407
        - self-hosted
408
        - talos
409
      crons:
410
        - '30 3 * * *'
411
      triggerLabels:
412
        - integration/trusted-boot
413
      steps:
414
        - name: download-artifacts
415
          conditions:
416
            - not-on-schedule
417
          artifactStep:
418
            type: download
419
            artifactName: talos-artifacts
420
            artifactPath: _out
421
        - name: uki-certs
422
          conditions:
423
            - only-on-schedule
424
          environment:
425
            PLATFORM: linux/amd64
426
        - name: build
427
          conditions:
428
            - only-on-schedule
429
          command: talosctl-linux-amd64 kernel sd-boot sd-stub initramfs installer imager talos _out/integration-test-linux-amd64
430
          environment:
431
            PLATFORM: linux/amd64
432
            IMAGE_REGISTRY: registry.dev.siderolabs.io
433
            PUSH: true
434
        - name: talosctl-cni-bundle
435
          conditions:
436
            - only-on-schedule
437
        - name: images-essential
438
          conditions:
439
            - only-on-schedule
440
          environment:
441
            PLATFORM: linux/amd64
442
            IMAGE_REGISTRY: registry.dev.siderolabs.io
443
        - name: secureboot-iso
444
          conditions:
445
            - only-on-schedule
446
          environment:
447
            PLATFORM: linux/amd64
448
            IMAGE_REGISTRY: registry.dev.siderolabs.io
449
        - name: integration-trusted-boot
450
          command: e2e-qemu
451
          withSudo: true
452
          environment:
453
            VIA_MAINTENANCE_MODE: true
454
            WITH_TRUSTED_BOOT_ISO: true
455
            EXTRA_TEST_ARGS: -talos.trustedboot
456
            IMAGE_REGISTRY: registry.dev.siderolabs.io
457
        - name: save-talos-logs
458
          conditions:
459
            - always
460
          artifactStep:
461
            type: upload
462
            artifactName: talos-logs-integration-trusted-boot
463
            disableExecutableListGeneration: true
464
            artifactPath: ~/.talos/clusters/**/*.log
465
            additionalArtifacts:
466
              - "!~/.talos/clusters/**/swtpm.log"
467
    - name: integration-provision-0
468
      buildxOptions:
469
        enabled: true
470
      depends:
471
        - default
472
      runners:
473
        - self-hosted
474
        - talos
475
      crons:
476
        - '30 4 * * *'
477
      triggerLabels:
478
        - integration/provision
479
        - integration/provision-0
480
      steps:
481
        - name: download-artifacts
482
          conditions:
483
            - not-on-schedule
484
          artifactStep:
485
            type: download
486
            artifactName: talos-artifacts
487
            artifactPath: _out
488
        - name: build
489
          conditions:
490
            - only-on-schedule
491
          command: talosctl-linux-amd64 kernel sd-boot sd-stub initramfs installer imager talos _out/integration-test-linux-amd64
492
          environment:
493
            PLATFORM: linux/amd64
494
            IMAGE_REGISTRY: registry.dev.siderolabs.io
495
            PUSH: true
496
        - name: talosctl-cni-bundle
497
          conditions:
498
            - only-on-schedule
499
        - name: provision-tests-prepare
500
        - name: provision-tests-track-0
501
          withSudo: true
502
          environment:
503
            IMAGE_REGISTRY: registry.dev.siderolabs.io
504
        - name: save-talos-logs
505
          conditions:
506
            - always
507
          artifactStep:
508
            type: upload
509
            artifactName: talos-logs-integration-provision-0
510
            disableExecutableListGeneration: true
511
            artifactPath: ~/.talos/clusters/**/*.log
512
            additionalArtifacts:
513
              - "!~/.talos/clusters/**/swtpm.log"
514
    - name: integration-provision-1
515
      buildxOptions:
516
        enabled: true
517
      depends:
518
        - default
519
      runners:
520
        - self-hosted
521
        - talos
522
      crons:
523
        - '30 4 * * *'
524
      triggerLabels:
525
        - integration/provision
526
        - integration/provision-1
527
      steps:
528
        - name: download-artifacts
529
          conditions:
530
            - not-on-schedule
531
          artifactStep:
532
            type: download
533
            artifactName: talos-artifacts
534
            artifactPath: _out
535
        - name: build
536
          conditions:
537
            - only-on-schedule
538
          command: talosctl-linux-amd64 kernel sd-boot sd-stub initramfs installer imager talos _out/integration-test-linux-amd64
539
          environment:
540
            PLATFORM: linux/amd64
541
            IMAGE_REGISTRY: registry.dev.siderolabs.io
542
            PUSH: true
543
        - name: talosctl-cni-bundle
544
          conditions:
545
            - only-on-schedule
546
        - name: provision-tests-prepare
547
        - name: provision-tests-track-1
548
          withSudo: true
549
          environment:
550
            IMAGE_REGISTRY: registry.dev.siderolabs.io
551
        - name: save-talos-logs
552
          conditions:
553
            - always
554
          artifactStep:
555
            type: upload
556
            artifactName: talos-logs-integration-provision-1
557
            disableExecutableListGeneration: true
558
            artifactPath: ~/.talos/clusters/**/*.log
559
            additionalArtifacts:
560
              - "!~/.talos/clusters/**/swtpm.log"
561
    - name: integration-provision-2
562
      buildxOptions:
563
        enabled: true
564
      depends:
565
        - default
566
      runners:
567
        - self-hosted
568
        - talos
569
      crons:
570
        - '30 4 * * *'
571
      triggerLabels:
572
        - integration/provision
573
        - integration/provision-2
574
      steps:
575
        - name: download-artifacts
576
          conditions:
577
            - not-on-schedule
578
          artifactStep:
579
            type: download
580
            artifactName: talos-artifacts
581
            artifactPath: _out
582
        - name: build
583
          conditions:
584
            - only-on-schedule
585
          command: talosctl-linux-amd64 kernel sd-boot sd-stub initramfs installer imager talos _out/integration-test-linux-amd64
586
          environment:
587
            PLATFORM: linux/amd64
588
            IMAGE_REGISTRY: registry.dev.siderolabs.io
589
            PUSH: true
590
        - name: talosctl-cni-bundle
591
          conditions:
592
            - only-on-schedule
593
        - name: provision-tests-prepare
594
        - name: provision-tests-track-2
595
          withSudo: true
596
          environment:
597
            IMAGE_REGISTRY: registry.dev.siderolabs.io
598
        - name: save-talos-logs
599
          conditions:
600
            - always
601
          artifactStep:
602
            type: upload
603
            artifactName: talos-logs-integration-provision-2
604
            disableExecutableListGeneration: true
605
            artifactPath: ~/.talos/clusters/**/*.log
606
            additionalArtifacts:
607
              - "!~/.talos/clusters/**/swtpm.log"
608
    - name: integration-misc-0
609
      buildxOptions:
610
        enabled: true
611
      depends:
612
        - default
613
      runners:
614
        - self-hosted
615
        - talos
616
      crons:
617
        - '30 5 * * *'
618
      triggerLabels:
619
        - integration/misc
620
        - integration/misc-0
621
      steps:
622
        - name: download-artifacts
623
          conditions:
624
            - not-on-schedule
625
          artifactStep:
626
            type: download
627
            artifactName: talos-artifacts
628
            artifactPath: _out
629
        - name: build
630
          conditions:
631
            - only-on-schedule
632
          command: talosctl-linux-amd64 kernel sd-boot sd-stub initramfs installer imager talos _out/integration-test-linux-amd64
633
          environment:
634
            PLATFORM: linux/amd64
635
            IMAGE_REGISTRY: registry.dev.siderolabs.io
636
            PUSH: true
637
        - name: talosctl-cni-bundle
638
          conditions:
639
            - only-on-schedule
640
        - name: e2e-firewall
641
          command: e2e-qemu
642
          withSudo: true
643
          environment:
644
            SHORT_INTEGRATION_TEST: yes
645
            WITH_FIREWALL: block
646
            IMAGE_REGISTRY: registry.dev.siderolabs.io
647
        - name: e2e-canal-reset
648
          command: e2e-qemu
649
          withSudo: true
650
          environment:
651
            INTEGRATION_TEST_RUN: TestIntegration/api.ResetSuite/TestResetWithSpec
652
            CUSTOM_CNI_URL: https://raw.githubusercontent.com/projectcalico/calico/v3.25.0/manifests/canal.yaml
653
            IMAGE_REGISTRY: registry.dev.siderolabs.io
654
        - name: e2e-controlplane-port
655
          command: e2e-qemu
656
          withSudo: true
657
          environment:
658
            SHORT_INTEGRATION_TEST: yes
659
            WITH_CONTROL_PLANE_PORT: 443
660
            IMAGE_REGISTRY: registry.dev.siderolabs.io
661
        - name: save-talos-logs
662
          conditions:
663
            - always
664
          artifactStep:
665
            type: upload
666
            artifactName: talos-logs-integration-misc-0
667
            disableExecutableListGeneration: true
668
            artifactPath: ~/.talos/clusters/**/*.log
669
            additionalArtifacts:
670
              - "!~/.talos/clusters/**/swtpm.log"
671
    - name: integration-misc-1
672
      buildxOptions:
673
        enabled: true
674
      depends:
675
        - default
676
      runners:
677
        - self-hosted
678
        - talos
679
      crons:
680
        - '30 5 * * *'
681
      triggerLabels:
682
        - integration/misc
683
        - integration/misc-1
684
      steps:
685
        - name: download-artifacts
686
          conditions:
687
            - not-on-schedule
688
          artifactStep:
689
            type: download
690
            artifactName: talos-artifacts
691
            artifactPath: _out
692
        - name: build
693
          conditions:
694
            - only-on-schedule
695
          command: talosctl-linux-amd64 kernel sd-boot sd-stub initramfs installer imager talos _out/integration-test-linux-amd64
696
          environment:
697
            PLATFORM: linux/amd64
698
            IMAGE_REGISTRY: registry.dev.siderolabs.io
699
            PUSH: true
700
        - name: talosctl-cni-bundle
701
          conditions:
702
            - only-on-schedule
703
        - name: e2e-no-cluster-discovery
704
          command: e2e-qemu
705
          withSudo: true
706
          environment:
707
            SHORT_INTEGRATION_TEST: yes
708
            WITH_CLUSTER_DISCOVERY: false
709
            IMAGE_REGISTRY: registry.dev.siderolabs.io
710
        - name: e2e-kubespan
711
          command: e2e-qemu
712
          withSudo: true
713
          environment:
714
            SHORT_INTEGRATION_TEST: yes
715
            WITH_CLUSTER_DISCOVERY: true
716
            WITH_KUBESPAN: true
717
            IMAGE_REGISTRY: registry.dev.siderolabs.io\
718
        - name: e2e-default-hostname
719
          command: e2e-qemu
720
          withSudo: true
721
          environment:
722
            SHORT_INTEGRATION_TEST: yes
723
            VIA_MAINTENANCE_MODE: true
724
            DISABLE_DHCP_HOSTNAME: true
725
            IMAGE_REGISTRY: registry.dev.siderolabs.io
726
        - name: e2e-siderolink
727
          command: e2e-qemu
728
          withSudo: true
729
          environment:
730
            SHORT_INTEGRATION_TEST: yes
731
            WITH_SIDEROLINK_AGENT: true
732
            VIA_MAINTENANCE_MODE: true
733
            IMAGE_REGISTRY: registry.dev.siderolabs.io
734
        - name: e2e-siderolink-tunnel
735
          command: e2e-qemu
736
          withSudo: true
737
          environment:
738
            SHORT_INTEGRATION_TEST: yes
739
            WITH_SIDEROLINK_AGENT: tunnel
740
            VIA_MAINTENANCE_MODE: true
741
            IMAGE_REGISTRY: registry.dev.siderolabs.io
742
        - name: save-talos-logs
743
          conditions:
744
            - always
745
          artifactStep:
746
            type: upload
747
            artifactName: talos-logs-integration-misc-1
748
            disableExecutableListGeneration: true
749
            artifactPath: ~/.talos/clusters/**/*.log
750
            additionalArtifacts:
751
              - "!~/.talos/clusters/**/swtpm.log"
752
    - name: integration-misc-2
753
      buildxOptions:
754
        enabled: true
755
      depends:
756
        - default
757
      runners:
758
        - self-hosted
759
        - talos
760
      crons:
761
        - '30 5 * * *'
762
      triggerLabels:
763
        - integration/misc
764
        - integration/misc-2
765
      steps:
766
        - name: download-artifacts
767
          conditions:
768
            - not-on-schedule
769
          artifactStep:
770
            type: download
771
            artifactName: talos-artifacts
772
            artifactPath: _out
773
        - name: uki-certs
774
          conditions:
775
            - only-on-schedule
776
          environment:
777
            PLATFORM: linux/amd64
778
        - name: build
779
          conditions:
780
            - only-on-schedule
781
          command: talosctl-linux-amd64 kernel sd-boot sd-stub initramfs installer imager talos _out/integration-test-linux-amd64
782
          environment:
783
            PLATFORM: linux/amd64
784
            IMAGE_REGISTRY: registry.dev.siderolabs.io
785
            PUSH: true
786
        - name: talosctl-cni-bundle
787
          conditions:
788
            - only-on-schedule
789
        - name: images-essential
790
          conditions:
791
            - only-on-schedule
792
          environment:
793
            PLATFORM: linux/amd64
794
            IMAGE_REGISTRY: registry.dev.siderolabs.io
795
        - name: e2e-bios-cgroupsv1
796
          command: e2e-qemu
797
          withSudo: true
798
          environment:
799
            SHORT_INTEGRATION_TEST: yes
800
            WITH_UEFI: false
801
            WITH_CONFIG_PATCH: '[{"op": "add", "path": "/machine/install/extraKernelArgs/-", "value": "talos.unified_cgroup_hierarchy=0"}]' #use cgroupsv1
802
            IMAGE_REGISTRY: registry.dev.siderolabs.io
803
        - name: e2e-disk-image
804
          command: e2e-qemu
805
          withSudo: true
806
          environment:
807
            SHORT_INTEGRATION_TEST: yes
808
            USE_DISK_IMAGE: true
809
            VIA_MAINTENANCE_MODE: true
810
            WITH_DISK_ENCRYPTION: true
811
            IMAGE_REGISTRY: registry.dev.siderolabs.io
812
        - name: save-talos-logs
813
          conditions:
814
            - always
815
          artifactStep:
816
            type: upload
817
            artifactName: talos-logs-integration-misc-2
818
            disableExecutableListGeneration: true
819
            artifactPath: ~/.talos/clusters/**/*.log
820
            additionalArtifacts:
821
              - "!~/.talos/clusters/**/swtpm.log"
822
    - name: integration-misc-3
823
      buildxOptions:
824
        enabled: true
825
      depends:
826
        - default
827
      runners:
828
        - self-hosted
829
        - talos
830
      crons:
831
        - '30 5 * * *'
832
      triggerLabels:
833
        - integration/misc
834
        - integration/misc-3
835
      steps:
836
        - name: download-artifacts
837
          conditions:
838
            - not-on-schedule
839
          artifactStep:
840
            type: download
841
            artifactName: talos-artifacts
842
            artifactPath: _out
843
        - name: build
844
          conditions:
845
            - only-on-schedule
846
          command: talosctl-linux-amd64 kernel sd-boot sd-stub initramfs installer imager talos _out/integration-test-linux-amd64
847
          environment:
848
            PLATFORM: linux/amd64
849
            IMAGE_REGISTRY: registry.dev.siderolabs.io
850
            PUSH: true
851
        - name: talosctl-cni-bundle
852
          conditions:
853
            - only-on-schedule
854
        - name: e2e-network-chaos
855
          command: e2e-qemu
856
          withSudo: true
857
          environment:
858
            SHORT_INTEGRATION_TEST: yes
859
            WITH_NETWORK_CHAOS: yes
860
            IMAGE_REGISTRY: registry.dev.siderolabs.io
861
        - name: save-talos-logs
862
          conditions:
863
            - always
864
          artifactStep:
865
            type: upload
866
            artifactName: talos-logs-integration-misc-3
867
            disableExecutableListGeneration: true
868
            artifactPath: ~/.talos/clusters/**/*.log
869
            additionalArtifacts:
870
              - "!~/.talos/clusters/**/swtpm.log"
871
    - name: integration-misc-4
872
      buildxOptions:
873
        enabled: true
874
      depends:
875
        - default
876
      runners:
877
        - self-hosted
878
        - talos
879
      crons:
880
        - '30 5 * * *'
881
      triggerLabels:
882
        - integration/misc
883
        - integration/misc-4
884
      steps:
885
        - name: download-artifacts
886
          conditions:
887
            - not-on-schedule
888
          artifactStep:
889
            type: download
890
            artifactName: talos-artifacts
891
            artifactPath: _out
892
        - name: build
893
          conditions:
894
            - only-on-schedule
895
          command: talosctl-linux-amd64 kernel sd-boot sd-stub initramfs installer imager talos _out/integration-test-linux-amd64
896
          environment:
897
            PLATFORM: linux/amd64
898
            IMAGE_REGISTRY: registry.dev.siderolabs.io
899
            PUSH: true
900
        - name: talosctl-cni-bundle
901
          conditions:
902
            - only-on-schedule
903
        - name: e2e-siderolink
904
          command: e2e-qemu
905
          withSudo: true
906
          environment:
907
            SHORT_INTEGRATION_TEST: yes
908
            WITH_SIDEROLINK_AGENT: true
909
            VIA_MAINTENANCE_MODE: true
910
            IMAGE_REGISTRY: registry.dev.siderolabs.io
911
        - name: e2e-siderolink-tunnel
912
          command: e2e-qemu
913
          withSudo: true
914
          environment:
915
            SHORT_INTEGRATION_TEST: yes
916
            WITH_SIDEROLINK_AGENT: tunnel
917
            VIA_MAINTENANCE_MODE: true
918
            IMAGE_REGISTRY: registry.dev.siderolabs.io
919
        - name: save-talos-logs
920
          conditions:
921
            - always
922
          artifactStep:
923
            type: upload
924
            artifactName: talos-logs-integration-misc-4
925
            disableExecutableListGeneration: true
926
            artifactPath: ~/.talos/clusters/**/*.log
927
            additionalArtifacts:
928
              - "!~/.talos/clusters/**/swtpm.log"
929
    - name: integration-extensions
930
      buildxOptions:
931
        enabled: true
932
      depends:
933
        - default
934
      runners:
935
        - self-hosted
936
        - talos
937
      crons:
938
        - '30 6 * * *'
939
      triggerLabels:
940
        - integration/extensions
941
      steps:
942
        - name: download-artifacts
943
          conditions:
944
            - not-on-schedule
945
          artifactStep:
946
            type: download
947
            artifactName: talos-artifacts
948
            artifactPath: _out
949
        - name: generate
950
          conditions:
951
            - only-on-schedule
952
        - name: build
953
          conditions:
954
            - only-on-schedule
955
          command: talosctl-linux-amd64 kernel sd-boot sd-stub initramfs installer imager talos _out/integration-test-linux-amd64
956
          environment:
957
            PLATFORM: linux/amd64
958
            IMAGE_REGISTRY: registry.dev.siderolabs.io
959
            PUSH: true
960
        - name: talosctl-cni-bundle
961
          conditions:
962
            - only-on-schedule
963
        - name: checkout extensions
964
          checkoutStep:
965
            repository: siderolabs/extensions
966
            ref: main
967
            path: _out/extensions
968
        - name: unshallow-extensions
969
          nonMakeStep: true
970
          command: git -C _out/extensions fetch --prune --unshallow
971
        - name: set variables
972
          nonMakeStep: true
973
          command: cat _out/talos-metadata >> "$GITHUB_ENV"
974
        - name: build extensions
975
          command: all extensions-metadata
976
          arguments:
977
            - -C
978
            - _out/extensions
979
          environment:
980
            PLATFORM: linux/amd64
981
            PUSH: true
982
            REGISTRY: registry.dev.siderolabs.io
983
        - name: installer extensions
984
          command: installer-with-extensions
985
          environment:
986
            IMAGE_REGISTRY: registry.dev.siderolabs.io
987
        - name: e2e-extensions
988
          command: e2e-qemu
989
          withSudo: true
990
          environment:
991
            QEMU_MEMORY_WORKERS: 4096
992
            WITH_CONFIG_PATCH_WORKER: "@_out/extensions-patch.yaml"
993
            QEMU_EXTRA_DISKS: 3
994
            SHORT_INTEGRATION_TEST: yes
995
            EXTRA_TEST_ARGS: -talos.extensions.qemu
996
            IMAGE_REGISTRY: registry.dev.siderolabs.io
997
        - name: save-talos-logs
998
          conditions:
999
            - always
1000
          artifactStep:
1001
            type: upload
1002
            artifactName: talos-logs-integration-extensions
1003
            disableExecutableListGeneration: true
1004
            artifactPath: ~/.talos/clusters/**/*.log
1005
            additionalArtifacts:
1006
              - "!~/.talos/clusters/**/swtpm.log"
1007
    - name: integration-cilium
1008
      buildxOptions:
1009
        enabled: true
1010
      depends:
1011
        - default
1012
      runners:
1013
        - self-hosted
1014
        - talos
1015
      crons:
1016
        - '30 3 * * *'
1017
      triggerLabels:
1018
        - integration/cilium
1019
      steps:
1020
        - name: download-artifacts
1021
          conditions:
1022
            - not-on-schedule
1023
          artifactStep:
1024
            type: download
1025
            artifactName: talos-artifacts
1026
            artifactPath: _out
1027
        - name: build
1028
          conditions:
1029
            - only-on-schedule
1030
          command: talosctl-linux-amd64 kernel sd-boot sd-stub initramfs installer imager talos _out/integration-test-linux-amd64
1031
          environment:
1032
            PLATFORM: linux/amd64
1033
            IMAGE_REGISTRY: registry.dev.siderolabs.io
1034
            PUSH: true
1035
        - name: talosctl-cni-bundle
1036
          conditions:
1037
            - only-on-schedule
1038
        - name: e2e-cilium
1039
          command: e2e-qemu
1040
          withSudo: true
1041
          environment:
1042
            SHORT_INTEGRATION_TEST: yes
1043
            WITH_SKIP_BOOT_PHASE_FINISHED_CHECK: yes
1044
            WITH_CUSTOM_CNI: cilium
1045
            WITH_FIREWALL: accept
1046
            QEMU_WORKERS: 2
1047
            WITH_CONFIG_PATCH: '[{"op": "add", "path": "/cluster/network", "value": {"cni": {"name": "none"}}}]'
1048
            IMAGE_REGISTRY: registry.dev.siderolabs.io
1049
        - name: e2e-cilium-strict
1050
          command: e2e-qemu
1051
          withSudo: true
1052
          environment:
1053
            SHORT_INTEGRATION_TEST: yes
1054
            WITH_SKIP_BOOT_PHASE_FINISHED_CHECK: yes
1055
            WITH_CUSTOM_CNI: cilium
1056
            WITH_FIREWALL: accept
1057
            QEMU_WORKERS: 2
1058
            CILIUM_INSTALL_TYPE: strict
1059
            WITH_CONFIG_PATCH: '[{"op": "add", "path": "/cluster/network", "value": {"cni": {"name": "none"}}}, {"op": "add", "path": "/cluster/proxy", "value": {"disabled": true}}]'
1060
            IMAGE_REGISTRY: registry.dev.siderolabs.io
1061
        - name: e2e-cilium-strict-kubespan
1062
          command: e2e-qemu
1063
          withSudo: true
1064
          environment:
1065
            SHORT_INTEGRATION_TEST: yes
1066
            WITH_SKIP_BOOT_PHASE_FINISHED_CHECK: yes
1067
            WITH_CUSTOM_CNI: cilium
1068
            WITH_FIREWALL: accept
1069
            WITH_KUBESPAN: true
1070
            QEMU_WORKERS: 2
1071
            CILIUM_INSTALL_TYPE: strict
1072
            WITH_CONFIG_PATCH: '[{"op": "add", "path": "/cluster/network", "value": {"cni": {"name": "none"}}}, {"op": "add", "path": "/cluster/proxy", "value": {"disabled": true}}]'
1073
            IMAGE_REGISTRY: registry.dev.siderolabs.io
1074
        - name: save-talos-logs
1075
          conditions:
1076
            - always
1077
          artifactStep:
1078
            type: upload
1079
            artifactName: talos-logs-integration-cilium
1080
            disableExecutableListGeneration: true
1081
            artifactPath: ~/.talos/clusters/**/*.log
1082
            additionalArtifacts:
1083
              - "!~/.talos/clusters/**/swtpm.log"
1084
    - name: integration-qemu-encrypted-vip
1085
      buildxOptions:
1086
        enabled: true
1087
      depends:
1088
        - default
1089
      runners:
1090
        - self-hosted
1091
        - talos
1092
      crons:
1093
        - '30 3 * * *'
1094
      triggerLabels:
1095
        - integration/qemu-encrypted-vip
1096
      steps:
1097
        - name: download-artifacts
1098
          conditions:
1099
            - not-on-schedule
1100
          artifactStep:
1101
            type: download
1102
            artifactName: talos-artifacts
1103
            artifactPath: _out
1104
        - name: build
1105
          conditions:
1106
            - only-on-schedule
1107
          command: talosctl-linux-amd64 kernel sd-boot sd-stub initramfs installer imager talos _out/integration-test-linux-amd64
1108
          environment:
1109
            PLATFORM: linux/amd64
1110
            IMAGE_REGISTRY: registry.dev.siderolabs.io
1111
            PUSH: true
1112
        - name: talosctl-cni-bundle
1113
          conditions:
1114
            - only-on-schedule
1115
        - name: e2e-qemu
1116
          withSudo: true
1117
          environment:
1118
            WITH_DISK_ENCRYPTION: true
1119
            WITH_VIRTUAL_IP: true
1120
            WITH_KUBESPAN: true
1121
            IMAGE_REGISTRY: registry.dev.siderolabs.io
1122
        - name: save-talos-logs
1123
          conditions:
1124
            - always
1125
          artifactStep:
1126
            type: upload
1127
            artifactName: talos-logs-integration-qemu-encrypted-vip
1128
            disableExecutableListGeneration: true
1129
            artifactPath: ~/.talos/clusters/**/*.log
1130
            additionalArtifacts:
1131
              - "!~/.talos/clusters/**/swtpm.log"
1132
    - name: integration-qemu-race
1133
      buildxOptions:
1134
        enabled: true
1135
      depends:
1136
        - default
1137
      runners:
1138
        - self-hosted
1139
        - talos
1140
      crons:
1141
        - '30 3 * * *'
1142
      triggerLabels:
1143
        - integration/qemu-race
1144
      steps:
1145
        - name: download-artifacts
1146
          conditions:
1147
            - not-on-schedule
1148
          artifactStep:
1149
            type: download
1150
            artifactName: talos-artifacts
1151
            artifactPath: _out
1152
        - name: build
1153
          conditions:
1154
            - only-on-schedule
1155
          command: talosctl-linux-amd64 kernel sd-boot sd-stub initramfs installer imager talos _out/integration-test-linux-amd64
1156
          environment:
1157
            PLATFORM: linux/amd64
1158
            IMAGE_REGISTRY: registry.dev.siderolabs.io
1159
            PUSH: true
1160
        - name: talosctl-cni-bundle
1161
          conditions:
1162
            - only-on-schedule
1163
        - name: build-race
1164
          command: initramfs installer
1165
          environment:
1166
            PUSH: true
1167
            TAG_SUFFIX: -race
1168
            WITH_RACE: 1
1169
            PLATFORM: linux/amd64
1170
            IMAGE_REGISTRY: registry.dev.siderolabs.io
1171
        - name: e2e-qemu-race
1172
          command: e2e-qemu
1173
          withSudo: true
1174
          environment:
1175
            TAG_SUFFIX: -race
1176
            IMAGE_REGISTRY: registry.dev.siderolabs.io
1177
        - name: save-talos-logs
1178
          conditions:
1179
            - always
1180
          artifactStep:
1181
            type: upload
1182
            artifactName: talos-logs-integration-qemu-race
1183
            disableExecutableListGeneration: true
1184
            artifactPath: ~/.talos/clusters/**/*.log
1185
            additionalArtifacts:
1186
              - "!~/.talos/clusters/**/swtpm.log"
1187
    - name: integration-qemu-csi
1188
      buildxOptions:
1189
        enabled: true
1190
      depends:
1191
        - default
1192
      runners:
1193
        - self-hosted
1194
        - talos
1195
      crons:
1196
        - '30 3 * * *'
1197
      triggerLabels:
1198
        - integration/qemu-csi
1199
      steps:
1200
        - name: download-artifacts
1201
          conditions:
1202
            - not-on-schedule
1203
          artifactStep:
1204
            type: download
1205
            artifactName: talos-artifacts
1206
            artifactPath: _out
1207
        - name: build
1208
          conditions:
1209
            - only-on-schedule
1210
          command: talosctl-linux-amd64 kernel sd-boot sd-stub initramfs installer imager talos _out/integration-test-linux-amd64
1211
          environment:
1212
            PLATFORM: linux/amd64
1213
            IMAGE_REGISTRY: registry.dev.siderolabs.io
1214
            PUSH: true
1215
        - name: talosctl-cni-bundle
1216
          conditions:
1217
            - only-on-schedule
1218
        - name: e2e-qemu-csi
1219
          command: e2e-qemu
1220
          withSudo: true
1221
          environment:
1222
            SHORT_INTEGRATION_TEST: yes
1223
            QEMU_WORKERS: 3
1224
            QEMU_CPUS_WORKERS: 4
1225
            QEMU_MEMORY_WORKERS: 5120
1226
            QEMU_EXTRA_DISKS: 1
1227
            QEMU_EXTRA_DISKS_SIZE: 12288
1228
            WITH_TEST: run_csi_tests
1229
            IMAGE_REGISTRY: registry.dev.siderolabs.io
1230
        - name: save-talos-logs
1231
          conditions:
1232
            - always
1233
          artifactStep:
1234
            type: upload
1235
            artifactName: talos-logs-integration-qemu-csi
1236
            disableExecutableListGeneration: true
1237
            artifactPath: ~/.talos/clusters/**/*.log
1238
            additionalArtifacts:
1239
              - "!~/.talos/clusters/**/swtpm.log"
1240
    - name: integration-images
1241
      buildxOptions:
1242
        enabled: true
1243
      depends:
1244
        - default
1245
      runners:
1246
        - self-hosted
1247
        - generic # this is pretty fast, so we can use generic
1248
      crons:
1249
        - '30 2 * * *'
1250
      triggerLabels:
1251
        - integration/images
1252
      steps:
1253
        - name: download-artifacts
1254
          conditions:
1255
            - not-on-schedule
1256
          artifactStep:
1257
            type: download
1258
            artifactName: talos-artifacts
1259
            artifactPath: _out
1260
        - name: build
1261
          conditions:
1262
            - only-on-schedule
1263
          command: talosctl-linux-amd64 kernel sd-boot sd-stub initramfs installer imager talos _out/integration-test-linux-amd64
1264
          environment:
1265
            PLATFORM: linux/amd64
1266
            IMAGE_REGISTRY: registry.dev.siderolabs.io
1267
            PUSH: true
1268
        - name: talosctl-cni-bundle
1269
          conditions:
1270
            - only-on-schedule
1271
        - name: images
1272
          environment:
1273
            PLATFORM: linux/amd64,linux/arm64
1274
            IMAGE_REGISTRY: registry.dev.siderolabs.io
1275
    - name: integration-reproducibility-test
1276
      buildxOptions:
1277
        enabled: true
1278
      depends:
1279
        - default
1280
      runners:
1281
        - self-hosted
1282
        - talos
1283
      crons:
1284
        - '30 2 * * *'
1285
      triggerLabels:
1286
        - integration/reproducibility-test
1287
      steps:
1288
        - name: download-artifacts
1289
          conditions:
1290
            - not-on-schedule
1291
          artifactStep:
1292
            type: download
1293
            artifactName: talos-artifacts
1294
            artifactPath: _out
1295
        - name: reproducibility-test
1296
          environment:
1297
            IMAGE_REGISTRY: registry.dev.siderolabs.io
1298
    - name: integration-cloud-images
1299
      buildxOptions:
1300
        enabled: true
1301
      sops: true
1302
      depends:
1303
        - default
1304
      runners:
1305
        - self-hosted
1306
        - generic # this is not compute intensive, so we can use generic
1307
      crons:
1308
        - '30 2 * * *'
1309
      triggerLabels:
1310
        - integration/cloud-images
1311
      steps:
1312
        - name: download-artifacts
1313
          conditions:
1314
            - not-on-schedule
1315
          artifactStep:
1316
            type: download
1317
            artifactName: talos-artifacts
1318
            artifactPath: _out
1319
        - name: build
1320
          conditions:
1321
            - only-on-schedule
1322
          command: talosctl-linux-amd64 kernel sd-boot sd-stub initramfs installer imager talos _out/integration-test-linux-amd64
1323
          environment:
1324
            PLATFORM: linux/amd64
1325
            IMAGE_REGISTRY: registry.dev.siderolabs.io
1326
            PUSH: true
1327
        - name: images
1328
          environment:
1329
            PLATFORM: linux/amd64,linux/arm64
1330
            IMAGE_REGISTRY: registry.dev.siderolabs.io
1331
        - name: cloud-images
1332
    - name: integration-image-factory
1333
      buildxOptions:
1334
        enabled: true
1335
      depends:
1336
        - default
1337
      runners:
1338
        - self-hosted
1339
        - talos
1340
      crons:
1341
        - '30 6 * * *'
1342
      triggerLabels:
1343
        - integration/image-factory
1344
      steps:
1345
        - name: download-artifacts
1346
          conditions:
1347
            - not-on-schedule
1348
          artifactStep:
1349
            type: download
1350
            artifactName: talos-artifacts
1351
            artifactPath: _out
1352
        - name: uki-certs
1353
          conditions:
1354
            - only-on-schedule
1355
          environment:
1356
            PLATFORM: linux/amd64
1357
        - name: build
1358
          conditions:
1359
            - only-on-schedule
1360
          command: talosctl-linux-amd64 kernel sd-boot sd-stub initramfs installer imager talos _out/integration-test-linux-amd64
1361
          environment:
1362
            PLATFORM: linux/amd64,linux/arm64
1363
            IMAGE_REGISTRY: registry.dev.siderolabs.io
1364
            PUSH: true
1365
        - name: talosctl-cni-bundle
1366
          conditions:
1367
            - only-on-schedule
1368
        - name: iso
1369
          conditions:
1370
            - only-on-schedule
1371
          command: iso secureboot-iso
1372
          environment:
1373
            IMAGE_REGISTRY: registry.dev.siderolabs.io
1374
        - name: images-essential
1375
          conditions:
1376
            - only-on-schedule
1377
          environment:
1378
            PLATFORM: linux/amd64
1379
            IMAGE_REGISTRY: registry.dev.siderolabs.io
1380
        - name: factory-1.6-iso
1381
          command: e2e-image-factory
1382
          withSudo: true
1383
          environment:
1384
            FACTORY_BOOT_METHOD: iso
1385
            FACTORY_VERSION: v1.6.0
1386
            FACTORY_SCHEMATIC: 376567988ad370138ad8b2698212367b8edcb69b5fd68c80be1f2ec7d603b4ba
1387
            KUBERNETES_VERSION: 1.29.0
1388
            FACTORY_UPGRADE: true
1389
            FACTORY_UPGRADE_SCHEMATIC: cf9b7aab9ed7c365d5384509b4d31c02fdaa06d2b3ac6cc0bc806f28130eff1f
1390
            FACTORY_UPGRADE_VERSION: v1.6.1
1391
        - name: factory-1.6-image
1392
          command: e2e-image-factory
1393
          withSudo: true
1394
          environment:
1395
            FACTORY_BOOT_METHOD: disk-image
1396
            FACTORY_VERSION: v1.6.0
1397
            FACTORY_SCHEMATIC: 376567988ad370138ad8b2698212367b8edcb69b5fd68c80be1f2ec7d603b4ba
1398
            KUBERNETES_VERSION: 1.29.0
1399
            FACTORY_UPGRADE: true
1400
            FACTORY_UPGRADE_SCHEMATIC: cf9b7aab9ed7c365d5384509b4d31c02fdaa06d2b3ac6cc0bc806f28130eff1f
1401
            FACTORY_UPGRADE_VERSION: v1.6.1
1402
        - name: factory-1.6-pxe
1403
          command: e2e-image-factory
1404
          withSudo: true
1405
          environment:
1406
            FACTORY_BOOT_METHOD: pxe
1407
            FACTORY_VERSION: v1.6.1
1408
            FACTORY_SCHEMATIC: 376567988ad370138ad8b2698212367b8edcb69b5fd68c80be1f2ec7d603b4ba
1409
            KUBERNETES_VERSION: 1.29.0
1410
        - name: factory-1.6-secureboot
1411
          command: e2e-image-factory
1412
          withSudo: true
1413
          environment:
1414
            FACTORY_BOOT_METHOD: secureboot-iso
1415
            FACTORY_VERSION: v1.6.0
1416
            FACTORY_SCHEMATIC: cf9b7aab9ed7c365d5384509b4d31c02fdaa06d2b3ac6cc0bc806f28130eff1f
1417
            KUBERNETES_VERSION: 1.29.0
1418
            FACTORY_UPGRADE: true
1419
            FACTORY_UPGRADE_SCHEMATIC: 376567988ad370138ad8b2698212367b8edcb69b5fd68c80be1f2ec7d603b4ba
1420
            FACTORY_UPGRADE_VERSION: v1.6.1
1421
        - name: factory-1.5-iso
1422
          command: e2e-image-factory
1423
          withSudo: true
1424
          environment:
1425
            FACTORY_BOOT_METHOD: iso
1426
            FACTORY_VERSION: v1.5.5
1427
            FACTORY_SCHEMATIC: 376567988ad370138ad8b2698212367b8edcb69b5fd68c80be1f2ec7d603b4ba
1428
            KUBERNETES_VERSION: 1.28.5
1429
            FACTORY_UPGRADE: true
1430
            FACTORY_UPGRADE_SCHEMATIC: cf9b7aab9ed7c365d5384509b4d31c02fdaa06d2b3ac6cc0bc806f28130eff1f
1431
            FACTORY_UPGRADE_VERSION: v1.5.5
1432
        - name: factory-1.3-iso
1433
          command: e2e-image-factory
1434
          withSudo: true
1435
          environment:
1436
            FACTORY_BOOT_METHOD: iso
1437
            FACTORY_VERSION: v1.3.7
1438
            FACTORY_SCHEMATIC: 376567988ad370138ad8b2698212367b8edcb69b5fd68c80be1f2ec7d603b4ba
1439
            KUBERNETES_VERSION: 1.26.5
1440
            FACTORY_UPGRADE: true
1441
            FACTORY_UPGRADE_SCHEMATIC: cf9b7aab9ed7c365d5384509b4d31c02fdaa06d2b3ac6cc0bc806f28130eff1f
1442
            FACTORY_UPGRADE_VERSION: v1.3.7
1443
        - name: factory-1.3-image
1444
          command: e2e-image-factory
1445
          withSudo: true
1446
          environment:
1447
            FACTORY_BOOT_METHOD: disk-image
1448
            FACTORY_VERSION: v1.3.7
1449
            FACTORY_SCHEMATIC: 376567988ad370138ad8b2698212367b8edcb69b5fd68c80be1f2ec7d603b4ba
1450
            KUBERNETES_VERSION: 1.26.5
1451
        - name: save-talos-logs
1452
          conditions:
1453
            - always
1454
          artifactStep:
1455
            type: upload
1456
            artifactName: talos-logs-integration-image-factory
1457
            disableExecutableListGeneration: true
1458
            artifactPath: ~/.talos/clusters/**/*.log
1459
            additionalArtifacts:
1460
              - "!~/.talos/clusters/**/swtpm.log"
1461
    - name: integration-aws
1462
      buildxOptions:
1463
        enabled: true
1464
      sops: true
1465
      depends:
1466
        - default
1467
      runners:
1468
        - self-hosted
1469
        - generic # we can use generic here since the tests run against a remote talos cluster
1470
      crons:
1471
        - '30 7 * * *'
1472
      triggerLabels:
1473
        - integration/aws
1474
      steps:
1475
        - name: download-artifacts
1476
          conditions:
1477
            - not-on-schedule
1478
          artifactStep:
1479
            type: download
1480
            artifactName: talos-artifacts
1481
            artifactPath: _out
1482
        - name: uki-certs
1483
          conditions:
1484
            - only-on-schedule
1485
          environment:
1486
            PLATFORM: linux/amd64
1487
        - name: build
1488
          conditions:
1489
            - only-on-schedule
1490
          command: talosctl-linux-amd64 kernel sd-boot sd-stub initramfs installer imager talos _out/integration-test-linux-amd64
1491
          environment:
1492
            PLATFORM: linux/amd64
1493
            IMAGE_REGISTRY: registry.dev.siderolabs.io
1494
            PUSH: true
1495
        - name: talosctl-cni-bundle
1496
          conditions:
1497
            - only-on-schedule
1498
        - name: images-essential
1499
          conditions:
1500
            - only-on-schedule
1501
          environment:
1502
            PLATFORM: linux/amd64
1503
            IMAGE_REGISTRY: registry.dev.siderolabs.io
1504
        - name: e2e-aws-prepare
1505
          environment:
1506
            E2E_AWS_TARGET: default
1507
            IMAGE_REGISTRY: registry.dev.siderolabs.io
1508
        - name: checkout contrib
1509
          checkoutStep:
1510
            repository: siderolabs/contrib
1511
            ref: main
1512
            path: _out/contrib
1513
        - name: setup tf
1514
          terraformStep: true
1515
        - name: tf apply
1516
          command: e2e-cloud-tf
1517
          environment:
1518
            TF_SCRIPT_DIR: _out/contrib
1519
            TF_E2E_TEST_TYPE: aws
1520
            TF_E2E_ACTION: apply
1521
        - name: e2e-aws
1522
        - name: tf destroy
1523
          command: e2e-cloud-tf
1524
          conditions:
1525
            - always
1526
          environment:
1527
            TF_SCRIPT_DIR: _out/contrib
1528
            TF_E2E_TEST_TYPE: aws
1529
            TF_E2E_ACTION: destroy
1530
    - name: integration-aws-nvidia-oss
1531
      buildxOptions:
1532
        enabled: true
1533
      sops: true
1534
      depends:
1535
        - default
1536
      runners:
1537
        - self-hosted
1538
        - generic # we can use generic here since the tests run against a remote talos cluster
1539
      crons:
1540
        - '30 7 * * *'
1541
      triggerLabels:
1542
        - integration/aws-nvidia-oss
1543
      steps:
1544
        - name: download-artifacts
1545
          conditions:
1546
            - not-on-schedule
1547
          artifactStep:
1548
            type: download
1549
            artifactName: talos-artifacts
1550
            artifactPath: _out
1551
        - name: generate
1552
          conditions:
1553
            - only-on-schedule
1554
        - name: uki-certs
1555
          conditions:
1556
            - only-on-schedule
1557
          environment:
1558
            PLATFORM: linux/amd64
1559
        - name: build
1560
          conditions:
1561
            - only-on-schedule
1562
          command: talosctl-linux-amd64 kernel sd-boot sd-stub initramfs installer imager talos _out/integration-test-linux-amd64
1563
          environment:
1564
            PLATFORM: linux/amd64
1565
            IMAGE_REGISTRY: registry.dev.siderolabs.io
1566
            PUSH: true
1567
        - name: talosctl-cni-bundle
1568
          conditions:
1569
            - only-on-schedule
1570
        - name: images-essential
1571
          conditions:
1572
            - only-on-schedule
1573
          environment:
1574
            PLATFORM: linux/amd64
1575
            IMAGE_REGISTRY: registry.dev.siderolabs.io
1576
        - name: checkout extensions
1577
          checkoutStep:
1578
            repository: siderolabs/extensions
1579
            ref: main
1580
            path: _out/extensions
1581
        - name: set variables
1582
          nonMakeStep: true
1583
          command: cat _out/talos-metadata >> "$GITHUB_ENV"
1584
        - name: build extensions
1585
          command: nvidia-container-toolkit nvidia-open-gpu-kernel-modules zfs extensions-metadata
1586
          arguments:
1587
            - -C
1588
            - _out/extensions
1589
          environment:
1590
            PLATFORM: linux/amd64
1591
            PUSH: true
1592
            REGISTRY: registry.dev.siderolabs.io
1593
        - name: e2e-aws-prepare
1594
          environment:
1595
            EXTENSIONS_METADATA_FILE: _out/extensions/_out/extensions-metadata
1596
            E2E_AWS_TARGET: nvidia-oss
1597
            IMAGE_REGISTRY: registry.dev.siderolabs.io
1598
        - name: checkout contrib
1599
          checkoutStep:
1600
            repository: siderolabs/contrib
1601
            ref: main
1602
            path: _out/contrib
1603
        - name: setup tf
1604
          terraformStep: true
1605
        - name: tf apply
1606
          command: e2e-cloud-tf
1607
          environment:
1608
            TF_SCRIPT_DIR: _out/contrib
1609
            TF_E2E_TEST_TYPE: aws
1610
            TF_E2E_ACTION: apply
1611
        - name: e2e-aws-nvidia-oss
1612
          command: e2e-aws
1613
          environment:
1614
            TEST_NUM_NODES: 4
1615
            EXTRA_TEST_ARGS: -talos.extensions.nvidia
1616
        - name: tf destroy
1617
          command: e2e-cloud-tf
1618
          conditions:
1619
            - always
1620
          environment:
1621
            TF_SCRIPT_DIR: _out/contrib
1622
            TF_E2E_TEST_TYPE: aws
1623
            TF_E2E_ACTION: destroy
1624
    - name: integration-aws-nvidia-nonfree
1625
      buildxOptions:
1626
        enabled: true
1627
      sops: true
1628
      depends:
1629
        - default
1630
      runners:
1631
        - self-hosted
1632
        - generic # we can use generic here since the tests run against a remote talos cluster
1633
      crons:
1634
        - '30 7 * * *'
1635
      triggerLabels:
1636
        - integration/aws-nvidia-nonfree
1637
      steps:
1638
        - name: download-artifacts
1639
          conditions:
1640
            - not-on-schedule
1641
          artifactStep:
1642
            type: download
1643
            artifactName: talos-artifacts
1644
            artifactPath: _out
1645
        - name: generate
1646
          conditions:
1647
            - only-on-schedule
1648
        - name: uki-certs
1649
          conditions:
1650
            - only-on-schedule
1651
          environment:
1652
            PLATFORM: linux/amd64
1653
        - name: build
1654
          conditions:
1655
            - only-on-schedule
1656
          command: talosctl-linux-amd64 kernel sd-boot sd-stub initramfs installer imager talos _out/integration-test-linux-amd64
1657
          environment:
1658
            PLATFORM: linux/amd64
1659
            IMAGE_REGISTRY: registry.dev.siderolabs.io
1660
            PUSH: true
1661
        - name: talosctl-cni-bundle
1662
          conditions:
1663
            - only-on-schedule
1664
        - name: images-essential
1665
          conditions:
1666
            - only-on-schedule
1667
          environment:
1668
            PLATFORM: linux/amd64
1669
            IMAGE_REGISTRY: registry.dev.siderolabs.io
1670
        - name: checkout extensions
1671
          checkoutStep:
1672
            repository: siderolabs/extensions
1673
            ref: main
1674
            path: _out/extensions
1675
        - name: set variables
1676
          nonMakeStep: true
1677
          command: cat _out/talos-metadata >> "$GITHUB_ENV"
1678
        - name: build extensions
1679
          command: nvidia-container-toolkit nonfree-kmod-nvidia extensions-metadata
1680
          arguments:
1681
            - -C
1682
            - _out/extensions
1683
          environment:
1684
            PLATFORM: linux/amd64
1685
            PUSH: true
1686
            REGISTRY: registry.dev.siderolabs.io
1687
        - name: e2e-aws-prepare
1688
          environment:
1689
            EXTENSIONS_METADATA_FILE: _out/extensions/_out/extensions-metadata
1690
            E2E_AWS_TARGET: nvidia-nonfree
1691
            IMAGE_REGISTRY: registry.dev.siderolabs.io
1692
        - name: checkout contrib
1693
          checkoutStep:
1694
            repository: siderolabs/contrib
1695
            ref: main
1696
            path: _out/contrib
1697
        - name: setup tf
1698
          terraformStep: true
1699
        - name: tf apply
1700
          command: e2e-cloud-tf
1701
          environment:
1702
            TF_SCRIPT_DIR: _out/contrib
1703
            TF_E2E_TEST_TYPE: aws
1704
            TF_E2E_ACTION: apply
1705
        - name: e2e-aws-nvidia-nonfree
1706
          command: e2e-aws
1707
          environment:
1708
            TEST_NUM_NODES: 4
1709
            EXTRA_TEST_ARGS: -talos.extensions.nvidia
1710
        - name: tf destroy
1711
          command: e2e-cloud-tf
1712
          conditions:
1713
            - always
1714
          environment:
1715
            TF_SCRIPT_DIR: _out/contrib
1716
            TF_E2E_TEST_TYPE: aws
1717
            TF_E2E_ACTION: destroy
1718
    - name: integration-azure
1719
      buildxOptions:
1720
        enabled: true
1721
      sops: true
1722
      depends:
1723
        - default
1724
      runners:
1725
        - self-hosted
1726
        - generic # we can use generic here since the tests run against a remote talos cluster
1727
      crons:
1728
        - '30 7 * * *'
1729
      triggerLabels:
1730
        - integration/azure
1731
      steps:
1732
        - name: download-artifacts
1733
          conditions:
1734
            - not-on-schedule
1735
          artifactStep:
1736
            type: download
1737
            artifactName: talos-artifacts
1738
            artifactPath: _out
1739
        - name: uki-certs
1740
          conditions:
1741
            - only-on-schedule
1742
          environment:
1743
            PLATFORM: linux/amd64
1744
        - name: build
1745
          conditions:
1746
            - only-on-schedule
1747
          command: talosctl-linux-amd64 kernel sd-boot sd-stub initramfs installer imager talos _out/integration-test-linux-amd64
1748
          environment:
1749
            PLATFORM: linux/amd64
1750
            IMAGE_REGISTRY: registry.dev.siderolabs.io
1751
            PUSH: true
1752
        - name: talosctl-cni-bundle
1753
          conditions:
1754
            - only-on-schedule
1755
        - name: images-essential
1756
          conditions:
1757
            - only-on-schedule
1758
          environment:
1759
            PLATFORM: linux/amd64
1760
            IMAGE_REGISTRY: registry.dev.siderolabs.io
1761
        - name: e2e-azure-prepare
1762
          environment:
1763
            IMAGE_REGISTRY: registry.dev.siderolabs.io
1764
        - name: checkout contrib
1765
          checkoutStep:
1766
            repository: siderolabs/contrib
1767
            ref: main
1768
            path: _out/contrib
1769
        - name: setup tf
1770
          terraformStep: true
1771
        - name: tf apply
1772
          command: e2e-cloud-tf
1773
          environment:
1774
            TF_SCRIPT_DIR: _out/contrib
1775
            TF_E2E_TEST_TYPE: azure
1776
            TF_E2E_ACTION: apply
1777
            ARM_SUBSCRIPTION_ID: ${{ env.AZURE_SUBSCRIPTION_ID }}
1778
            ARM_CLIENT_ID: ${{ env.AZURE_CLIENT_ID }}
1779
            ARM_CLIENT_SECRET: ${{ env.AZURE_CLIENT_SECRET }}
1780
            ARM_TENANT_ID: ${{ env.AZURE_TENANT_ID }}
1781
        - name: e2e-azure
1782
        - name: tf destroy
1783
          command: e2e-cloud-tf
1784
          conditions:
1785
            - always
1786
          environment:
1787
            TF_SCRIPT_DIR: _out/contrib
1788
            TF_E2E_TEST_TYPE: azure
1789
            TF_E2E_ACTION: destroy
1790
            ARM_SUBSCRIPTION_ID: ${{ env.AZURE_SUBSCRIPTION_ID }}
1791
            ARM_CLIENT_ID: ${{ env.AZURE_CLIENT_ID }}
1792
            ARM_CLIENT_SECRET: ${{ env.AZURE_CLIENT_SECRET }}
1793
            ARM_TENANT_ID: ${{ env.AZURE_TENANT_ID }}
1794
    - name: integration-equinix-metal
1795
      buildxOptions:
1796
        enabled: true
1797
      sops: true
1798
      depends:
1799
        - default
1800
      runners:
1801
        - self-hosted
1802
        - generic # we can use generic here since the tests run against a remote talos cluster
1803
      crons:
1804
        - '30 7 * * *'
1805
      triggerLabels:
1806
        - integration/equinix-metal
1807
      steps:
1808
        - name: download-artifacts
1809
          conditions:
1810
            - not-on-schedule
1811
          artifactStep:
1812
            type: download
1813
            artifactName: talos-artifacts
1814
            artifactPath: _out
1815
        - name: build
1816
          conditions:
1817
            - only-on-schedule
1818
          command: talosctl-linux-amd64 kernel sd-boot sd-stub initramfs installer imager talos _out/integration-test-linux-amd64
1819
          environment:
1820
            PLATFORM: linux/amd64,linux/arm64
1821
            IMAGE_REGISTRY: registry.dev.siderolabs.io
1822
            PUSH: true
1823
        - name: talosctl-cni-bundle
1824
          conditions:
1825
            - only-on-schedule
1826
        - name: e2e-equinix-metal-prepare
1827
          environment:
1828
            IMAGE_REGISTRY: registry.dev.siderolabs.io
1829
        - name: checkout contrib
1830
          checkoutStep:
1831
            repository: siderolabs/contrib
1832
            ref: main
1833
            path: _out/contrib
1834
        - name: setup tf
1835
          terraformStep: true
1836
        - name: tf apply
1837
          command: e2e-cloud-tf
1838
          environment:
1839
            TF_SCRIPT_DIR: _out/contrib
1840
            TF_E2E_TEST_TYPE: equinix-metal
1841
            TF_E2E_ACTION: apply
1842
        - name: e2e-equinix-metal
1843
        - name: tf destroy
1844
          command: e2e-cloud-tf
1845
          conditions:
1846
            - always
1847
          environment:
1848
            TF_SCRIPT_DIR: _out/contrib
1849
            TF_E2E_TEST_TYPE: equinix-metal
1850
            TF_E2E_ACTION: destroy
1851

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.