main Dockerfile
Chance Zibolski  ·  2026-08-05
 1FROM debian:12
 2
 3RUN apt-get update && apt-get install -y curl git bats coreutils && rm -rf /var/lib/apt/lists/*
 4
 5ARG ZIG_VERSION=0.16.0
 6# `uname -m` already reports the names zig uses in its tarballs (x86_64,
 7# aarch64), so it needs no mapping.
 8RUN ARCH="$(uname -m)" && \
 9	case "$ARCH" in \
10	  x86_64|aarch64) ;; \
11	  *) echo "unsupported arch: $ARCH" >&2; exit 1 ;; \
12	esac && \
13	curl -L -o /tmp/zig.tar.xz https://ziglang.org/download/${ZIG_VERSION}/zig-${ARCH}-linux-${ZIG_VERSION}.tar.xz && \
14	cd /tmp && \
15	tar -xf zig.tar.xz && \
16	mv zig-${ARCH}-linux-${ZIG_VERSION} /usr/local/zig && \
17	ln -s /usr/local/zig/zig /usr/local/bin/zig && \
18	rm -f /tmp/zig.tar.xz
19
20ENV PATH=/usr/local/zig:$PATH
21
22WORKDIR /app
23
24CMD ["zig"]