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