diff --git a/images/full/Dockerfile b/images/full/Dockerfile index 6174c00..ac1e8c1 100644 --- a/images/full/Dockerfile +++ b/images/full/Dockerfile @@ -3,6 +3,7 @@ FROM ubuntu:24.04 ENV DEBIAN_FRONTEND=noninteractive ARG TARGETARCH +ARG NODE_VERSION=22.23.1 # Install base tools, Docker, and utilities RUN apt-get update && apt-get install -y \ @@ -24,9 +25,25 @@ RUN apt-get update && apt-get install -y \ docker.io \ docker-buildx \ docker-compose-v2 \ - nodejs \ + xz-utils \ && rm -rf /var/lib/apt/lists/* +# Install a current Node.js LTS runtime for JavaScript actions such as +# actions/checkout@v4. Ubuntu 24.04's nodejs package is Node 18, which is too +# old for current Gitea Actions runners. The official tarball supplies `node`; +# keep a `nodejs` alias as well for tooling that expects Debian's command name. +RUN case "${TARGETARCH}" in \ + amd64) NODE_ARCH=x64 ;; \ + arm64) NODE_ARCH=arm64 ;; \ + *) echo "Unsupported Node.js architecture: ${TARGETARCH}" >&2; exit 1 ;; \ + esac && \ + curl -fsSLO "https://nodejs.org/dist/v${NODE_VERSION}/node-v${NODE_VERSION}-linux-${NODE_ARCH}.tar.xz" && \ + curl -fsSLO "https://nodejs.org/dist/v${NODE_VERSION}/SHASUMS256.txt" && \ + grep " node-v${NODE_VERSION}-linux-${NODE_ARCH}.tar.xz$" SHASUMS256.txt | sha256sum -c - && \ + tar -xJf "node-v${NODE_VERSION}-linux-${NODE_ARCH}.tar.xz" -C /usr/local --strip-components=1 --no-same-owner && \ + ln -sf /usr/local/bin/node /usr/local/bin/nodejs && \ + rm "node-v${NODE_VERSION}-linux-${NODE_ARCH}.tar.xz" SHASUMS256.txt + # Download and install kubectl matching the target architecture RUN KUBE_VER=$(curl -L -s https://dl.k8s.io/release/stable.txt) && \ curl -LO "https://dl.k8s.io/release/${KUBE_VER}/bin/linux/${TARGETARCH}/kubectl" && \ diff --git a/images/slim/Dockerfile b/images/slim/Dockerfile index 7c07de6..6a40770 100644 --- a/images/slim/Dockerfile +++ b/images/slim/Dockerfile @@ -13,7 +13,12 @@ RUN apk add --no-cache \ tar \ gzip \ nodejs \ - docker-cli + docker-cli \ + docker-cli-buildx \ + docker-cli-compose \ + && docker --version \ + && docker buildx version \ + && docker compose version # Download and install kubectl matching the target architecture RUN KUBE_VER=$(curl -L -s https://dl.k8s.io/release/stable.txt) && \