Files
zeekay cc9af80a35 feat: bake aarch64 cross-toolchain + musl-tools
Adds gcc-aarch64-linux-gnu, g++-aarch64-linux-gnu, libc6-dev-arm64-cross,
build-essential, pkg-config, musl-tools to the runner image so workflows
cross-compiling linux/arm64 (CGO_ENABLED=1, BLST, etc.) on
hanzo-build-linux-amd64 don't pay 30-60s per job for inline apt-get.

Bumps tag to v0.1.1 (patch only, no behavior change for existing users).
2026-05-19 09:47:12 -07:00

47 lines
2.0 KiB
Docker

FROM ghcr.io/actions/actions-runner:latest
USER root
ARG KUBECTL_VERSION=v1.32.1
ARG DOCTL_VERSION=1.124.0
ARG KUSTOMIZE_VERSION=v5.5.0
ARG HELM_VERSION=v3.16.4
SHELL ["/bin/bash", "-eo", "pipefail", "-c"]
RUN set -eux; \
apt-get update; \
apt-get install -y --no-install-recommends \
ca-certificates curl jq git unzip make gnupg openssh-client \
build-essential pkg-config \
gcc-aarch64-linux-gnu g++-aarch64-linux-gnu libc6-dev-arm64-cross \
musl-tools; \
arch="$(dpkg --print-architecture)"; \
curl -fsSLo /usr/local/bin/kubectl \
"https://dl.k8s.io/release/${KUBECTL_VERSION}/bin/linux/${arch}/kubectl"; \
chmod +x /usr/local/bin/kubectl; \
curl -fsSL "https://github.com/digitalocean/doctl/releases/download/v${DOCTL_VERSION}/doctl-${DOCTL_VERSION}-linux-${arch}.tar.gz" \
| tar -xz -C /usr/local/bin doctl; \
curl -fsSL "https://github.com/kubernetes-sigs/kustomize/releases/download/kustomize%2F${KUSTOMIZE_VERSION}/kustomize_${KUSTOMIZE_VERSION}_linux_${arch}.tar.gz" \
| tar -xz -C /usr/local/bin kustomize; \
curl -fsSL "https://get.helm.sh/helm-${HELM_VERSION}-linux-${arch}.tar.gz" \
| tar -xz --strip-components=1 -C /usr/local/bin "linux-${arch}/helm"; \
install -m 0755 -d /etc/apt/keyrings; \
curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg \
| gpg --dearmor -o /etc/apt/keyrings/githubcli-archive-keyring.gpg; \
chmod 0644 /etc/apt/keyrings/githubcli-archive-keyring.gpg; \
echo "deb [arch=${arch} signed-by=/etc/apt/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" \
> /etc/apt/sources.list.d/github-cli.list; \
apt-get update; \
apt-get install -y --no-install-recommends gh; \
rm -rf /var/lib/apt/lists/*; \
kubectl version --client=true; \
doctl version; \
kustomize version; \
helm version --short; \
gh --version | head -1; \
aarch64-linux-gnu-gcc --version | head -1; \
musl-gcc --version | head -1
USER runner