Skip to content

Commit

Permalink
minisign: install using binaries to support arm64
Browse files Browse the repository at this point in the history
The docker images is not available for arm64. This commit moves to the
release package from GitHub that ships with the binaries for amd64 and
arm64
  • Loading branch information
lucor committed Jan 19, 2025
1 parent 9186ad4 commit 250d0b6
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 17 deletions.
29 changes: 16 additions & 13 deletions base/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
# minisign is needed to verify the zig download
FROM jedisct1/minisign AS minisign

FROM debian:bookworm-slim AS base

ENV GO_VERSION=1.23.5
Expand All @@ -10,6 +7,7 @@ ENV ZIG_VERSION=0.13.0
ENV ZIG_MINISIGN_KEY="RWSGOq2NVecA2UPNdBUZykf1CCb147pkmdtYxgb3Ti+JO/wCYvhbAb/U"
ENV FYNE_VERSION=v2.5.3
ENV FIXUID_VERSION=0.5.1
ENV MINISIGN_VERSION=0.12

# Install common dependencies

Expand Down Expand Up @@ -62,36 +60,41 @@ WORKDIR $GOPATH
# https://github.com/docker-library/golang/issues/472
ENV GOTOOLCHAIN=local

# Install Zig

# copy minisign
COPY --from=minisign /usr/local/bin/minisign /usr/local/bin/minisign
# Install minisign
RUN set -eux; \
curl -sSL https://github.com/jedisct1/minisign/releases/download/${MINISIGN_VERSION}/minisign-${MINISIGN_VERSION}-linux.tar.gz -o minisign.tgz; \
mkdir -p /usr/local/minisign; ls -l;\
tar -C /usr/local/minisign --strip-components=1 -zxvf minisign.tgz; \
rm minisign.tgz

# Install Zig
RUN set -eux; \
arch="$(dpkg --print-architecture)"; \
url=; \
public_key=${ZIG_MINISIGN_KEY}; \
case "$arch" in \
'amd64') \
arch="x86_64";\
# dev release
# url="https://ziglang.org/builds/zig-linux-x86_64-${ZIG_VERSION}.tar.xz";\
# url="https://ziglang.org/builds/zig-linux-${arch}-${ZIG_VERSION}.tar.xz";\
# stable release
url="https://ziglang.org/download/${ZIG_VERSION}/zig-linux-x86_64-${ZIG_VERSION}.tar.xz";\
url="https://ziglang.org/download/${ZIG_VERSION}/zig-linux-${arch}-${ZIG_VERSION}.tar.xz";\
;; \
'arm64') \
arch="aarch64";\
# dev release
#url="https://ziglang.org/builds/zig-linux-aarch64-${ZIG_VERSION}.tar.xz";\
#url="https://ziglang.org/builds/zig-linux-${arch}-${ZIG_VERSION}.tar.xz";\
# stable release
url="https://ziglang.org/download/${ZIG_VERSION}/zig-linux-aarch64-${ZIG_VERSION}.tar.xz";\
url="https://ziglang.org/download/${ZIG_VERSION}/zig-linux-${arch}-${ZIG_VERSION}.tar.xz";\
;; \
*) echo >&2 "error: unsupported architecture '$arch'"; exit 1 ;; \
esac; \
curl -sSL ${url} -o zig.tar.xz; \
curl -sSL ${url}.minisig -o zig.tar.xz.minisig; \
minisign -Vm zig.tar.xz -P ${public_key}; \
/usr/local/minisign/${arch}/minisign -Vm zig.tar.xz -P ${public_key}; \
tar -C /usr/local -Jxvf zig.tar.xz; \
mv /usr/local/zig-* /usr/local/zig; \
rm zig.tar.xz; \
rm zig.tar*; \
zig version;

##################################################################
Expand Down
10 changes: 6 additions & 4 deletions darwin/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -16,18 +16,20 @@ RUN set -eux; \
public_key=${ZIG_MINISIGN_KEY}; \
case "$arch" in \
'amd64') \
url="https://ziglang.org/download/${ZIG_VERSION}/zig-linux-x86_64-${ZIG_VERSION}.tar.xz";\
arch="x86_64";\
url="https://ziglang.org/download/${ZIG_VERSION}/zig-linux-${arch}-${ZIG_VERSION}.tar.xz";\
;; \
'arm64') \
url="https://ziglang.org/download/${ZIG_VERSION}/zig-linux-aarch64-${ZIG_VERSION}.tar.xz";\
arch="aarch64";\
url="https://ziglang.org/download/${ZIG_VERSION}/zig-linux-${arch}-${ZIG_VERSION}.tar.xz";\
;; \
*) echo >&2 "error: unsupported architecture '$arch'"; exit 1 ;; \
esac; \
curl -sSL ${url} -o zig.tar.xz; \
curl -sSL ${url}.minisig -o zig.tar.xz.minisig; \
minisign -Vm zig.tar.xz -P ${public_key}; \
/usr/local/minisign/${arch}/minisign -Vm zig.tar.xz -P ${public_key}; \
tar -C /usr/local -Jxvf zig.tar.xz; \
mv /usr/local/zig-* /usr/local/zig; \
rm zig.tar.xz; \
rm zig.tar*; \
zig version;

0 comments on commit 250d0b6

Please sign in to comment.