From 4b10c5328b861b4bcdcec3ca21bd55b91e969b44 Mon Sep 17 00:00:00 2001 From: Nebula <40148908+nebula-it@users.noreply.github.com> Date: Sun, 3 Nov 2024 18:41:59 -0800 Subject: [PATCH] chore: add Windows ARM64 build for talosctl Add Windows ARM64 build for talosctl. Signed-off-by: Nebula <40148908+nebula-it@users.noreply.github.com> Signed-off-by: Noel Georgi --- .github/workflows/ci.yaml | 5 +++-- .kres.yaml | 1 + Dockerfile | 8 ++++++++ Makefile | 3 +++ 4 files changed, 15 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 92fa6f366f..e85b53a809 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -3567,8 +3567,8 @@ jobs: - name: Generate Checksums run: | cd _out - sha256sum cloud-images.json initramfs-amd64.xz initramfs-arm64.xz metal-amd64.iso metal-arm64.iso metal-amd64.raw.zst metal-arm64.raw.zst talosctl-cni-bundle-amd64.tar.gz talosctl-cni-bundle-arm64.tar.gz talosctl-darwin-amd64 talosctl-darwin-arm64 talosctl-freebsd-amd64 talosctl-freebsd-arm64 talosctl-linux-amd64 talosctl-linux-arm64 talosctl-linux-armv7 talosctl-windows-amd64.exe vmlinuz-amd64 vmlinuz-arm64 > sha256sum.txt - sha512sum cloud-images.json initramfs-amd64.xz initramfs-arm64.xz metal-amd64.iso metal-arm64.iso metal-amd64.raw.zst metal-arm64.raw.zst talosctl-cni-bundle-amd64.tar.gz talosctl-cni-bundle-arm64.tar.gz talosctl-darwin-amd64 talosctl-darwin-arm64 talosctl-freebsd-amd64 talosctl-freebsd-arm64 talosctl-linux-amd64 talosctl-linux-arm64 talosctl-linux-armv7 talosctl-windows-amd64.exe vmlinuz-amd64 vmlinuz-arm64 > sha512sum.txt + sha256sum cloud-images.json initramfs-amd64.xz initramfs-arm64.xz metal-amd64.iso metal-arm64.iso metal-amd64.raw.zst metal-arm64.raw.zst talosctl-cni-bundle-amd64.tar.gz talosctl-cni-bundle-arm64.tar.gz talosctl-darwin-amd64 talosctl-darwin-arm64 talosctl-freebsd-amd64 talosctl-freebsd-arm64 talosctl-linux-amd64 talosctl-linux-arm64 talosctl-linux-armv7 talosctl-windows-amd64.exe talosctl-windows-arm64.exe vmlinuz-amd64 vmlinuz-arm64 > sha256sum.txt + sha512sum cloud-images.json initramfs-amd64.xz initramfs-arm64.xz metal-amd64.iso metal-arm64.iso metal-amd64.raw.zst metal-arm64.raw.zst talosctl-cni-bundle-amd64.tar.gz talosctl-cni-bundle-arm64.tar.gz talosctl-darwin-amd64 talosctl-darwin-arm64 talosctl-freebsd-amd64 talosctl-freebsd-arm64 talosctl-linux-amd64 talosctl-linux-arm64 talosctl-linux-armv7 talosctl-windows-amd64.exe talosctl-windows-arm64.exe vmlinuz-amd64 vmlinuz-arm64 > sha512sum.txt - name: release uses: crazy-max/ghaction-github-release@v2 with: @@ -3592,6 +3592,7 @@ jobs: _out/talosctl-linux-arm64 _out/talosctl-linux-armv7 _out/talosctl-windows-amd64.exe + _out/talosctl-windows-arm64.exe _out/vmlinuz-amd64 _out/vmlinuz-arm64 _out/sha*.txt diff --git a/.kres.yaml b/.kres.yaml index 95ea9ef949..a959ebc37f 100644 --- a/.kres.yaml +++ b/.kres.yaml @@ -204,6 +204,7 @@ spec: - talosctl-linux-arm64 - talosctl-linux-armv7 - talosctl-windows-amd64.exe + - talosctl-windows-arm64.exe - vmlinuz-amd64 - vmlinuz-arm64 generateChecksums: true diff --git a/Dockerfile b/Dockerfile index 1f4d915b1e..17275851e5 100644 --- a/Dockerfile +++ b/Dockerfile @@ -535,6 +535,13 @@ ARG GOAMD64 RUN --mount=type=cache,target=/.cache GOOS=windows GOARCH=amd64 GOAMD64=${GOAMD64} go build ${GO_BUILDFLAGS_TALOSCTL} -ldflags "${GO_LDFLAGS}" -o /talosctl-windows-amd64.exe RUN touch --date="@${SOURCE_DATE_EPOCH}" /talosctl-windows-amd64.exe +FROM base AS talosctl-windows-arm64-build +WORKDIR /src/cmd/talosctl +ARG GO_BUILDFLAGS_TALOSCTL +ARG GO_LDFLAGS +RUN --mount=type=cache,target=/.cache GOOS=windows GOARCH=arm64 go build ${GO_BUILDFLAGS_TALOSCTL} -ldflags "${GO_LDFLAGS}" -o /talosctl-windows-arm64.exe +RUN touch --date="@${SOURCE_DATE_EPOCH}" /talosctl-windows-arm64.exe + FROM base AS talosctl-freebsd-amd64-build WORKDIR /src/cmd/talosctl ARG GO_BUILDFLAGS_TALOSCTL @@ -585,6 +592,7 @@ COPY --from=talosctl-darwin-arm64 / / COPY --from=talosctl-freebsd-amd64 / / COPY --from=talosctl-freebsd-arm64 / / COPY --from=talosctl-windows-amd64 / / +COPY --from=talosctl-windows-arm64 / / FROM scratch AS talosctl ARG TARGETARCH diff --git a/Makefile b/Makefile index 7ef6b990aa..e7ec215a3f 100644 --- a/Makefile +++ b/Makefile @@ -401,6 +401,9 @@ taloscl-freebsd-arm64: talosctl-windows-amd64: @$(MAKE) local-talosctl-windows-amd64 DEST=$(ARTIFACTS) PUSH=false NAME=Client +talosctl-windows-arm64: + @$(MAKE) local-talosctl-windows-arm64 DEST=$(ARTIFACTS) PUSH=false NAME=Client + talosctl: @$(MAKE) local-talosctl-targetarch DEST=$(ARTIFACTS)