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 <git@frezbo.dev>
This commit is contained in:
Nebula 2024-11-03 18:41:59 -08:00 committed by Noel Georgi
parent 9abf16108e
commit 4b10c5328b
No known key found for this signature in database
GPG Key ID: 21A9F444075C9E36
4 changed files with 15 additions and 2 deletions

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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)