feat: build talosctl for ARM v7

This adds an ARM v7 build of `talosctl`.

Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
This commit is contained in:
Andrew Rynhard 2020-03-21 18:08:09 -07:00
parent 98a368befd
commit c6581fabac
3 changed files with 14 additions and 1 deletions

View File

@ -3459,6 +3459,7 @@ steps:
- _out/talosctl-darwin-amd64 - _out/talosctl-darwin-amd64
- _out/talosctl-linux-amd64 - _out/talosctl-linux-amd64
- _out/talosctl-linux-arm64 - _out/talosctl-linux-arm64
- _out/talosctl-linux-armv7
- _out/vmware.ova - _out/vmware.ova
- _out/vmlinux - _out/vmlinux
- _out/vmlinuz - _out/vmlinuz
@ -3573,6 +3574,6 @@ depends_on:
--- ---
kind: signature kind: signature
hmac: 16c7e32ef2ca8687136040290ea9f3e1b74c54d3ec103c908fc1cea2d38858c0 hmac: ce26e0c326108f56e6e30eb0094e42e74746851b92ed37ea95a6afff16648cfb
... ...

View File

@ -237,9 +237,20 @@ WORKDIR /src/cmd/talosctl
RUN --mount=type=cache,target=/.cache/go-build GOOS=linux GOARCH=arm64 go build -ldflags "-s -w -X ${VERSION_PKG}.Name=Client -X ${VERSION_PKG}.SHA=${SHA} -X ${VERSION_PKG}.Tag=${TAG} -X ${MGMT_HELPERS_PKG}.ArtifactsPath=${ARTIFACTS}" -o /talosctl-linux-arm64 RUN --mount=type=cache,target=/.cache/go-build GOOS=linux GOARCH=arm64 go build -ldflags "-s -w -X ${VERSION_PKG}.Name=Client -X ${VERSION_PKG}.SHA=${SHA} -X ${VERSION_PKG}.Tag=${TAG} -X ${MGMT_HELPERS_PKG}.ArtifactsPath=${ARTIFACTS}" -o /talosctl-linux-arm64
RUN chmod +x /talosctl-linux-arm64 RUN chmod +x /talosctl-linux-arm64
FROM base AS talosctl-linux-armv7-build
ARG SHA
ARG TAG
ARG ARTIFACTS
ARG VERSION_PKG="github.com/talos-systems/talos/pkg/version"
ARG MGMT_HELPERS_PKG="github.com/talos-systems/talos/cmd/talosctl/pkg/mgmt/helpers"
WORKDIR /src/cmd/talosctl
RUN --mount=type=cache,target=/.cache/go-build GOOS=linux GOARCH=arm GOARM=7 go build -ldflags "-s -w -X ${VERSION_PKG}.Name=Client -X ${VERSION_PKG}.SHA=${SHA} -X ${VERSION_PKG}.Tag=${TAG} -X ${MGMT_HELPERS_PKG}.ArtifactsPath=${ARTIFACTS}" -o /talosctl-linux-armv7
RUN chmod +x /talosctl-linux-armv7
FROM scratch AS talosctl-linux FROM scratch AS talosctl-linux
COPY --from=talosctl-linux-amd64-build /talosctl-linux-amd64 /talosctl-linux-amd64 COPY --from=talosctl-linux-amd64-build /talosctl-linux-amd64 /talosctl-linux-amd64
COPY --from=talosctl-linux-arm64-build /talosctl-linux-arm64 /talosctl-linux-arm64 COPY --from=talosctl-linux-arm64-build /talosctl-linux-arm64 /talosctl-linux-arm64
COPY --from=talosctl-linux-armv7-build /talosctl-linux-armv7 /talosctl-linux-armv7
FROM base AS talosctl-darwin-build FROM base AS talosctl-darwin-build
ARG SHA ARG SHA

View File

@ -429,6 +429,7 @@ local release = {
'_out/talosctl-darwin-amd64', '_out/talosctl-darwin-amd64',
'_out/talosctl-linux-amd64', '_out/talosctl-linux-amd64',
'_out/talosctl-linux-arm64', '_out/talosctl-linux-arm64',
'_out/talosctl-linux-armv7',
'_out/vmware.ova', '_out/vmware.ova',
'_out/vmlinux', '_out/vmlinux',
'_out/vmlinuz', '_out/vmlinuz',