Skip to content

Commit f593732

Browse files
committed
fix: support ARMv7 talosctl builds
Use the NFS stubs on unsupported Linux architectures so the ARMv7 CLI does not compile the 64-bit-only dependency chain. Add an integration suite which builds every published talosctl CLI before release. Signed-off-by: Mateusz Urbanek <mateusz.urbanek@siderolabs.com>
1 parent 682a0c9 commit f593732

5 files changed

Lines changed: 74 additions & 4 deletions

File tree

.github/workflows/ci.yaml

Lines changed: 58 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.kres.yaml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,7 @@ spec:
108108
integration/qemu-13: "Run QEMU integration tests with Talos version contract v1.13"
109109
integration/release-gate: "Run all release-gate integration tests"
110110
integration/reproducibility-test: "Run build reproducibility tests"
111+
integration/talosctl: "Build talosctl for all supported platforms"
111112
integration/trusted-boot: "Run trusted-boot integration tests (all variants)"
112113
integration/trusted-boot-default: "Run trusted-boot integration tests on default variant"
113114
integration/trusted-boot-disk-image: "Run trusted-boot integration tests on disk-image variant"
@@ -1840,6 +1841,18 @@ spec:
18401841
environment:
18411842
PLATFORM: linux/amd64,linux/arm64
18421843
IMAGE_REGISTRY: registry.dev.siderolabs.io
1844+
- name: integration-talosctl
1845+
buildxOptions:
1846+
enabled: true
1847+
depends:
1848+
- default
1849+
runnerGroup: large
1850+
triggerLabels:
1851+
- integration/talosctl
1852+
- integration/release-gate
1853+
steps:
1854+
- name: ci-temp-release-tag
1855+
- name: talosctl-all
18431856
- name: integration-reproducibility-test
18441857
buildxOptions:
18451858
enabled: true

cmd/talosctl/cmd/mgmt/nfs_launch.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
// License, v. 2.0. If a copy of the MPL was not distributed with this
33
// file, You can obtain one at http://mozilla.org/MPL/2.0/.
44

5-
//go:build linux
5+
//go:build linux && (amd64 || arm64 || riscv64)
66

77
package mgmt
88

pkg/provision/providers/vm/nfs_linux.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
// License, v. 2.0. If a copy of the MPL was not distributed with this
33
// file, You can obtain one at http://mozilla.org/MPL/2.0/.
44

5-
//go:build linux
5+
//go:build linux && (amd64 || arm64 || riscv64)
66

77
package vm
88

pkg/provision/providers/vm/nfs_other.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
// License, v. 2.0. If a copy of the MPL was not distributed with this
33
// file, You can obtain one at http://mozilla.org/MPL/2.0/.
44

5-
//go:build !linux
5+
//go:build !linux || (!amd64 && !arm64 && !riscv64)
66

77
package vm
88

0 commit comments

Comments
 (0)