From a72055f8d51ee87224b0247f0a5ca010ce3d6f24 Mon Sep 17 00:00:00 2001 From: Tom Wieczorek Date: Fri, 15 Aug 2025 12:09:24 +0200 Subject: [PATCH 1/3] Sort package install lists alphabetically Signed-off-by: Tom Wieczorek --- runner/actions-runner-dind-rootless.ubuntu-20.04.dockerfile | 6 +++--- runner/actions-runner-dind-rootless.ubuntu-22.04.dockerfile | 4 ++-- runner/actions-runner-dind-rootless.ubuntu-24.04.dockerfile | 4 ++-- runner/actions-runner-dind.ubuntu-20.04.dockerfile | 6 +++--- runner/actions-runner-dind.ubuntu-22.04.dockerfile | 2 +- runner/actions-runner-dind.ubuntu-24.04.dockerfile | 2 +- runner/actions-runner.ubuntu-20.04.dockerfile | 2 +- runner/actions-runner.ubuntu-22.04.dockerfile | 2 +- runner/actions-runner.ubuntu-24.04.dockerfile | 2 +- 9 files changed, 15 insertions(+), 15 deletions(-) diff --git a/runner/actions-runner-dind-rootless.ubuntu-20.04.dockerfile b/runner/actions-runner-dind-rootless.ubuntu-20.04.dockerfile index 1e65c8bc6a..63ddb5763e 100644 --- a/runner/actions-runner-dind-rootless.ubuntu-20.04.dockerfile +++ b/runner/actions-runner-dind-rootless.ubuntu-20.04.dockerfile @@ -22,19 +22,19 @@ RUN apt-get update -y \ && apt-get update -y \ && apt-get install -y --no-install-recommends \ build-essential \ - curl \ ca-certificates \ + curl \ dnsutils \ ftp \ git \ iproute2 \ - iputils-ping \ iptables \ + iputils-ping \ jq \ libunwind8 \ locales \ - netcat \ net-tools \ + netcat \ openssh-client \ parallel \ python3-pip \ diff --git a/runner/actions-runner-dind-rootless.ubuntu-22.04.dockerfile b/runner/actions-runner-dind-rootless.ubuntu-22.04.dockerfile index 0639ccdf45..c805ec8b00 100644 --- a/runner/actions-runner-dind-rootless.ubuntu-22.04.dockerfile +++ b/runner/actions-runner-dind-rootless.ubuntu-22.04.dockerfile @@ -20,8 +20,9 @@ RUN apt-get update -y \ && add-apt-repository -y ppa:git-core/ppa \ && apt-get update -y \ && apt-get install -y --no-install-recommends \ - curl \ ca-certificates \ + curl \ + fuse-overlayfs \ git \ iproute2 \ iptables \ @@ -30,7 +31,6 @@ RUN apt-get update -y \ uidmap \ unzip \ zip \ - fuse-overlayfs \ && rm -rf /var/lib/apt/lists/* # Download latest git-lfs version diff --git a/runner/actions-runner-dind-rootless.ubuntu-24.04.dockerfile b/runner/actions-runner-dind-rootless.ubuntu-24.04.dockerfile index ea3d56ca10..ac39239bec 100644 --- a/runner/actions-runner-dind-rootless.ubuntu-24.04.dockerfile +++ b/runner/actions-runner-dind-rootless.ubuntu-24.04.dockerfile @@ -20,8 +20,9 @@ RUN apt-get update -y \ && add-apt-repository -y ppa:git-core/ppa \ && apt-get update -y \ && apt-get install -y --no-install-recommends \ - curl \ ca-certificates \ + curl \ + fuse-overlayfs \ git \ iproute2 \ iptables \ @@ -30,7 +31,6 @@ RUN apt-get update -y \ uidmap \ unzip \ zip \ - fuse-overlayfs \ && rm -rf /var/lib/apt/lists/* # Download latest git-lfs version diff --git a/runner/actions-runner-dind.ubuntu-20.04.dockerfile b/runner/actions-runner-dind.ubuntu-20.04.dockerfile index 5213004d0f..196b560df9 100644 --- a/runner/actions-runner-dind.ubuntu-20.04.dockerfile +++ b/runner/actions-runner-dind.ubuntu-20.04.dockerfile @@ -20,19 +20,19 @@ RUN apt-get update -y \ && apt-get update -y \ && apt-get install -y --no-install-recommends \ build-essential \ - curl \ ca-certificates \ + curl \ dnsutils \ ftp \ git \ iproute2 \ - iputils-ping \ iptables \ + iputils-ping \ jq \ libunwind8 \ locales \ - netcat \ net-tools \ + netcat \ openssh-client \ parallel \ python3-pip \ diff --git a/runner/actions-runner-dind.ubuntu-22.04.dockerfile b/runner/actions-runner-dind.ubuntu-22.04.dockerfile index 9e9ec8660d..fb5980362a 100644 --- a/runner/actions-runner-dind.ubuntu-22.04.dockerfile +++ b/runner/actions-runner-dind.ubuntu-22.04.dockerfile @@ -17,8 +17,8 @@ RUN apt-get update -y \ && add-apt-repository -y ppa:git-core/ppa \ && apt-get update -y \ && apt-get install -y --no-install-recommends \ - curl \ ca-certificates \ + curl \ git \ iptables \ jq \ diff --git a/runner/actions-runner-dind.ubuntu-24.04.dockerfile b/runner/actions-runner-dind.ubuntu-24.04.dockerfile index de4bf852dd..8353e6e3fb 100644 --- a/runner/actions-runner-dind.ubuntu-24.04.dockerfile +++ b/runner/actions-runner-dind.ubuntu-24.04.dockerfile @@ -17,8 +17,8 @@ RUN apt-get update -y \ && add-apt-repository -y ppa:git-core/ppa \ && apt-get update -y \ && apt-get install -y --no-install-recommends \ - curl \ ca-certificates \ + curl \ git \ iptables \ jq \ diff --git a/runner/actions-runner.ubuntu-20.04.dockerfile b/runner/actions-runner.ubuntu-20.04.dockerfile index 142ca3ace6..3deb6b4ea1 100644 --- a/runner/actions-runner.ubuntu-20.04.dockerfile +++ b/runner/actions-runner.ubuntu-20.04.dockerfile @@ -20,8 +20,8 @@ RUN apt-get update -y \ && apt-get update -y \ && apt-get install -y --no-install-recommends \ build-essential \ - curl \ ca-certificates \ + curl \ dnsutils \ ftp \ git \ diff --git a/runner/actions-runner.ubuntu-22.04.dockerfile b/runner/actions-runner.ubuntu-22.04.dockerfile index a8d31e3984..b633a0dc4c 100644 --- a/runner/actions-runner.ubuntu-22.04.dockerfile +++ b/runner/actions-runner.ubuntu-22.04.dockerfile @@ -17,8 +17,8 @@ RUN apt-get update -y \ && add-apt-repository -y ppa:git-core/ppa \ && apt-get update -y \ && apt-get install -y --no-install-recommends \ - curl \ ca-certificates \ + curl \ git \ jq \ sudo \ diff --git a/runner/actions-runner.ubuntu-24.04.dockerfile b/runner/actions-runner.ubuntu-24.04.dockerfile index a905590d87..720ee13c86 100644 --- a/runner/actions-runner.ubuntu-24.04.dockerfile +++ b/runner/actions-runner.ubuntu-24.04.dockerfile @@ -17,8 +17,8 @@ RUN apt-get update -y \ && add-apt-repository -y ppa:git-core/ppa \ && apt-get update -y \ && apt-get install -y --no-install-recommends \ - curl \ ca-certificates \ + curl \ git \ jq \ sudo \ From 6f77d96686e881420ac6f747718de43eb8d28155 Mon Sep 17 00:00:00 2001 From: Tom Wieczorek Date: Fri, 15 Aug 2025 12:23:29 +0200 Subject: [PATCH 2/3] Use dumb-init from Ubuntu repositories dumb-init is available in the Ubuntu package repositories, so let's use that. This makes adding new architectures easier. For Ubuntu 20.04, this means a downgrade from 1.2.5 to 1.2.2. However, given that Ubuntu 20.04 reached the end of its support cycle in May 2025, this seems acceptable. The only regression is that dumb-init won't attempt to cd into the root directory in order to release the file descriptor for its current working directory, besides some fixes around the --help and --version flags. Signed-off-by: Tom Wieczorek --- .../actions-runner-dind-rootless.ubuntu-20.04.dockerfile | 8 +------- .../actions-runner-dind-rootless.ubuntu-22.04.dockerfile | 8 +------- .../actions-runner-dind-rootless.ubuntu-24.04.dockerfile | 8 +------- runner/actions-runner-dind.ubuntu-20.04.dockerfile | 8 +------- runner/actions-runner-dind.ubuntu-22.04.dockerfile | 8 +------- runner/actions-runner-dind.ubuntu-24.04.dockerfile | 8 +------- runner/actions-runner.ubuntu-20.04.dockerfile | 8 +------- runner/actions-runner.ubuntu-22.04.dockerfile | 8 +------- runner/actions-runner.ubuntu-24.04.dockerfile | 8 +------- 9 files changed, 9 insertions(+), 63 deletions(-) diff --git a/runner/actions-runner-dind-rootless.ubuntu-20.04.dockerfile b/runner/actions-runner-dind-rootless.ubuntu-20.04.dockerfile index 63ddb5763e..292c6d2392 100644 --- a/runner/actions-runner-dind-rootless.ubuntu-20.04.dockerfile +++ b/runner/actions-runner-dind-rootless.ubuntu-20.04.dockerfile @@ -6,7 +6,6 @@ ARG RUNNER_CONTAINER_HOOKS_VERSION # Docker and Docker Compose arguments ENV CHANNEL=stable ARG DOCKER_COMPOSE_VERSION=v2.23.0 -ARG DUMB_INIT_VERSION=1.2.5 # Other arguments ARG DEBUG=false @@ -25,6 +24,7 @@ RUN apt-get update -y \ ca-certificates \ curl \ dnsutils \ + dumb-init \ ftp \ git \ iproute2 \ @@ -71,12 +71,6 @@ RUN set -eux; \ echo 'dockremap:165536:65536' >> /etc/subuid; \ echo 'dockremap:165536:65536' >> /etc/subgid -RUN export ARCH=$(echo ${TARGETPLATFORM} | cut -d / -f2) \ - && if [ "$ARCH" = "arm64" ]; then export ARCH=aarch64 ; fi \ - && if [ "$ARCH" = "amd64" ] || [ "$ARCH" = "i386" ]; then export ARCH=x86_64 ; fi \ - && curl -fLo /usr/bin/dumb-init https://github.com/Yelp/dumb-init/releases/download/v${DUMB_INIT_VERSION}/dumb-init_${DUMB_INIT_VERSION}_${ARCH} \ - && chmod +x /usr/bin/dumb-init - ENV RUNNER_ASSETS_DIR=/runnertmp RUN export ARCH=$(echo ${TARGETPLATFORM} | cut -d / -f2) \ && if [ "$ARCH" = "amd64" ] || [ "$ARCH" = "x86_64" ] || [ "$ARCH" = "i386" ]; then export ARCH=x64 ; fi \ diff --git a/runner/actions-runner-dind-rootless.ubuntu-22.04.dockerfile b/runner/actions-runner-dind-rootless.ubuntu-22.04.dockerfile index c805ec8b00..565f8ce6f7 100644 --- a/runner/actions-runner-dind-rootless.ubuntu-22.04.dockerfile +++ b/runner/actions-runner-dind-rootless.ubuntu-22.04.dockerfile @@ -6,7 +6,6 @@ ARG RUNNER_CONTAINER_HOOKS_VERSION # Docker and Docker Compose arguments ENV CHANNEL=stable ARG DOCKER_COMPOSE_VERSION=v2.23.0 -ARG DUMB_INIT_VERSION=1.2.5 ARG RUNNER_USER_UID=1001 # Other arguments @@ -22,6 +21,7 @@ RUN apt-get update -y \ && apt-get install -y --no-install-recommends \ ca-certificates \ curl \ + dumb-init \ fuse-overlayfs \ git \ iproute2 \ @@ -49,12 +49,6 @@ RUN set -eux; \ echo 'dockremap:165536:65536' >> /etc/subuid; \ echo 'dockremap:165536:65536' >> /etc/subgid -RUN export ARCH=$(echo ${TARGETPLATFORM} | cut -d / -f2) \ - && if [ "$ARCH" = "arm64" ]; then export ARCH=aarch64 ; fi \ - && if [ "$ARCH" = "amd64" ] || [ "$ARCH" = "i386" ]; then export ARCH=x86_64 ; fi \ - && curl -fLo /usr/bin/dumb-init https://github.com/Yelp/dumb-init/releases/download/v${DUMB_INIT_VERSION}/dumb-init_${DUMB_INIT_VERSION}_${ARCH} \ - && chmod +x /usr/bin/dumb-init - ENV RUNNER_ASSETS_DIR=/runnertmp RUN export ARCH=$(echo ${TARGETPLATFORM} | cut -d / -f2) \ && if [ "$ARCH" = "amd64" ] || [ "$ARCH" = "x86_64" ] || [ "$ARCH" = "i386" ]; then export ARCH=x64 ; fi \ diff --git a/runner/actions-runner-dind-rootless.ubuntu-24.04.dockerfile b/runner/actions-runner-dind-rootless.ubuntu-24.04.dockerfile index ac39239bec..ce66c69be6 100644 --- a/runner/actions-runner-dind-rootless.ubuntu-24.04.dockerfile +++ b/runner/actions-runner-dind-rootless.ubuntu-24.04.dockerfile @@ -6,7 +6,6 @@ ARG RUNNER_CONTAINER_HOOKS_VERSION # Docker and Docker Compose arguments ENV CHANNEL=stable ARG DOCKER_COMPOSE_VERSION=v2.23.0 -ARG DUMB_INIT_VERSION=1.2.5 ARG RUNNER_USER_UID=1001 # Other arguments @@ -22,6 +21,7 @@ RUN apt-get update -y \ && apt-get install -y --no-install-recommends \ ca-certificates \ curl \ + dumb-init \ fuse-overlayfs \ git \ iproute2 \ @@ -49,12 +49,6 @@ RUN set -eux; \ echo 'dockremap:165536:65536' >> /etc/subuid; \ echo 'dockremap:165536:65536' >> /etc/subgid -RUN export ARCH=$(echo ${TARGETPLATFORM} | cut -d / -f2) \ - && if [ "$ARCH" = "arm64" ]; then export ARCH=aarch64 ; fi \ - && if [ "$ARCH" = "amd64" ] || [ "$ARCH" = "i386" ]; then export ARCH=x86_64 ; fi \ - && curl -fLo /usr/bin/dumb-init https://github.com/Yelp/dumb-init/releases/download/v${DUMB_INIT_VERSION}/dumb-init_${DUMB_INIT_VERSION}_${ARCH} \ - && chmod +x /usr/bin/dumb-init - ENV RUNNER_ASSETS_DIR=/runnertmp RUN export ARCH=$(echo ${TARGETPLATFORM} | cut -d / -f2) \ && if [ "$ARCH" = "amd64" ] || [ "$ARCH" = "x86_64" ] || [ "$ARCH" = "i386" ]; then export ARCH=x64 ; fi \ diff --git a/runner/actions-runner-dind.ubuntu-20.04.dockerfile b/runner/actions-runner-dind.ubuntu-20.04.dockerfile index 196b560df9..af5b7b9071 100644 --- a/runner/actions-runner-dind.ubuntu-20.04.dockerfile +++ b/runner/actions-runner-dind.ubuntu-20.04.dockerfile @@ -7,7 +7,6 @@ ARG RUNNER_CONTAINER_HOOKS_VERSION ARG CHANNEL=stable ARG DOCKER_VERSION=24.0.7 ARG DOCKER_COMPOSE_VERSION=v2.23.0 -ARG DUMB_INIT_VERSION=1.2.5 # Use 1001 and 121 for compatibility with GitHub-hosted runners ARG RUNNER_UID=1000 @@ -23,6 +22,7 @@ RUN apt-get update -y \ ca-certificates \ curl \ dnsutils \ + dumb-init \ ftp \ git \ iproute2 \ @@ -66,12 +66,6 @@ RUN adduser --disabled-password --gecos "" --uid $RUNNER_UID runner \ ENV HOME=/home/runner -RUN export ARCH=$(echo ${TARGETPLATFORM} | cut -d / -f2) \ - && if [ "$ARCH" = "arm64" ]; then export ARCH=aarch64 ; fi \ - && if [ "$ARCH" = "amd64" ] || [ "$ARCH" = "i386" ]; then export ARCH=x86_64 ; fi \ - && curl -fLo /usr/bin/dumb-init https://github.com/Yelp/dumb-init/releases/download/v${DUMB_INIT_VERSION}/dumb-init_${DUMB_INIT_VERSION}_${ARCH} \ - && chmod +x /usr/bin/dumb-init - ENV RUNNER_ASSETS_DIR=/runnertmp RUN export ARCH=$(echo ${TARGETPLATFORM} | cut -d / -f2) \ && if [ "$ARCH" = "amd64" ] || [ "$ARCH" = "x86_64" ] || [ "$ARCH" = "i386" ]; then export ARCH=x64 ; fi \ diff --git a/runner/actions-runner-dind.ubuntu-22.04.dockerfile b/runner/actions-runner-dind.ubuntu-22.04.dockerfile index fb5980362a..c4e5f0fd58 100644 --- a/runner/actions-runner-dind.ubuntu-22.04.dockerfile +++ b/runner/actions-runner-dind.ubuntu-22.04.dockerfile @@ -7,7 +7,6 @@ ARG RUNNER_CONTAINER_HOOKS_VERSION ARG CHANNEL=stable ARG DOCKER_VERSION=24.0.7 ARG DOCKER_COMPOSE_VERSION=v2.23.0 -ARG DUMB_INIT_VERSION=1.2.5 ARG RUNNER_USER_UID=1001 ARG DOCKER_GROUP_GID=121 @@ -19,6 +18,7 @@ RUN apt-get update -y \ && apt-get install -y --no-install-recommends \ ca-certificates \ curl \ + dumb-init \ git \ iptables \ jq \ @@ -42,12 +42,6 @@ RUN adduser --disabled-password --gecos "" --uid $RUNNER_USER_UID runner \ ENV HOME=/home/runner -RUN export ARCH=$(echo ${TARGETPLATFORM} | cut -d / -f2) \ - && if [ "$ARCH" = "arm64" ]; then export ARCH=aarch64 ; fi \ - && if [ "$ARCH" = "amd64" ] || [ "$ARCH" = "i386" ]; then export ARCH=x86_64 ; fi \ - && curl -fLo /usr/bin/dumb-init https://github.com/Yelp/dumb-init/releases/download/v${DUMB_INIT_VERSION}/dumb-init_${DUMB_INIT_VERSION}_${ARCH} \ - && chmod +x /usr/bin/dumb-init - ENV RUNNER_ASSETS_DIR=/runnertmp RUN export ARCH=$(echo ${TARGETPLATFORM} | cut -d / -f2) \ && if [ "$ARCH" = "amd64" ] || [ "$ARCH" = "x86_64" ] || [ "$ARCH" = "i386" ]; then export ARCH=x64 ; fi \ diff --git a/runner/actions-runner-dind.ubuntu-24.04.dockerfile b/runner/actions-runner-dind.ubuntu-24.04.dockerfile index 8353e6e3fb..9995ddd8b5 100644 --- a/runner/actions-runner-dind.ubuntu-24.04.dockerfile +++ b/runner/actions-runner-dind.ubuntu-24.04.dockerfile @@ -7,7 +7,6 @@ ARG RUNNER_CONTAINER_HOOKS_VERSION ARG CHANNEL=stable ARG DOCKER_VERSION=24.0.7 ARG DOCKER_COMPOSE_VERSION=v2.23.0 -ARG DUMB_INIT_VERSION=1.2.5 ARG RUNNER_USER_UID=1001 ARG DOCKER_GROUP_GID=121 @@ -19,6 +18,7 @@ RUN apt-get update -y \ && apt-get install -y --no-install-recommends \ ca-certificates \ curl \ + dumb-init \ git \ iptables \ jq \ @@ -42,12 +42,6 @@ RUN adduser --disabled-password --gecos "" --uid $RUNNER_USER_UID runner \ ENV HOME=/home/runner -RUN export ARCH=$(echo ${TARGETPLATFORM} | cut -d / -f2) \ - && if [ "$ARCH" = "arm64" ]; then export ARCH=aarch64 ; fi \ - && if [ "$ARCH" = "amd64" ] || [ "$ARCH" = "i386" ]; then export ARCH=x86_64 ; fi \ - && curl -fLo /usr/bin/dumb-init https://github.com/Yelp/dumb-init/releases/download/v${DUMB_INIT_VERSION}/dumb-init_${DUMB_INIT_VERSION}_${ARCH} \ - && chmod +x /usr/bin/dumb-init - ENV RUNNER_ASSETS_DIR=/runnertmp RUN export ARCH=$(echo ${TARGETPLATFORM} | cut -d / -f2) \ && if [ "$ARCH" = "amd64" ] || [ "$ARCH" = "x86_64" ] || [ "$ARCH" = "i386" ]; then export ARCH=x64 ; fi \ diff --git a/runner/actions-runner.ubuntu-20.04.dockerfile b/runner/actions-runner.ubuntu-20.04.dockerfile index 3deb6b4ea1..9de30a1446 100644 --- a/runner/actions-runner.ubuntu-20.04.dockerfile +++ b/runner/actions-runner.ubuntu-20.04.dockerfile @@ -7,7 +7,6 @@ ARG RUNNER_CONTAINER_HOOKS_VERSION ARG CHANNEL=stable ARG DOCKER_VERSION=24.0.7 ARG DOCKER_COMPOSE_VERSION=v2.23.0 -ARG DUMB_INIT_VERSION=1.2.5 # Use 1001 and 121 for compatibility with GitHub-hosted runners ARG RUNNER_UID=1000 @@ -23,6 +22,7 @@ RUN apt-get update -y \ ca-certificates \ curl \ dnsutils \ + dumb-init \ ftp \ git \ iproute2 \ @@ -62,12 +62,6 @@ RUN adduser --disabled-password --gecos "" --uid $RUNNER_UID runner \ ENV HOME=/home/runner -RUN export ARCH=$(echo ${TARGETPLATFORM} | cut -d / -f2) \ - && if [ "$ARCH" = "arm64" ]; then export ARCH=aarch64 ; fi \ - && if [ "$ARCH" = "amd64" ] || [ "$ARCH" = "i386" ]; then export ARCH=x86_64 ; fi \ - && curl -fLo /usr/bin/dumb-init https://github.com/Yelp/dumb-init/releases/download/v${DUMB_INIT_VERSION}/dumb-init_${DUMB_INIT_VERSION}_${ARCH} \ - && chmod +x /usr/bin/dumb-init - ENV RUNNER_ASSETS_DIR=/runnertmp RUN export ARCH=$(echo ${TARGETPLATFORM} | cut -d / -f2) \ && if [ "$ARCH" = "amd64" ] || [ "$ARCH" = "x86_64" ] || [ "$ARCH" = "i386" ]; then export ARCH=x64 ; fi \ diff --git a/runner/actions-runner.ubuntu-22.04.dockerfile b/runner/actions-runner.ubuntu-22.04.dockerfile index b633a0dc4c..f827e8dab6 100644 --- a/runner/actions-runner.ubuntu-22.04.dockerfile +++ b/runner/actions-runner.ubuntu-22.04.dockerfile @@ -7,7 +7,6 @@ ARG RUNNER_CONTAINER_HOOKS_VERSION ARG CHANNEL=stable ARG DOCKER_VERSION=24.0.7 ARG DOCKER_COMPOSE_VERSION=v2.23.0 -ARG DUMB_INIT_VERSION=1.2.5 ARG RUNNER_USER_UID=1001 ARG DOCKER_GROUP_GID=121 @@ -19,6 +18,7 @@ RUN apt-get update -y \ && apt-get install -y --no-install-recommends \ ca-certificates \ curl \ + dumb-init \ git \ jq \ sudo \ @@ -39,12 +39,6 @@ RUN adduser --disabled-password --gecos "" --uid $RUNNER_USER_UID runner \ ENV HOME=/home/runner -RUN export ARCH=$(echo ${TARGETPLATFORM} | cut -d / -f2) \ - && if [ "$ARCH" = "arm64" ]; then export ARCH=aarch64 ; fi \ - && if [ "$ARCH" = "amd64" ] || [ "$ARCH" = "i386" ]; then export ARCH=x86_64 ; fi \ - && curl -fLo /usr/bin/dumb-init https://github.com/Yelp/dumb-init/releases/download/v${DUMB_INIT_VERSION}/dumb-init_${DUMB_INIT_VERSION}_${ARCH} \ - && chmod +x /usr/bin/dumb-init - ENV RUNNER_ASSETS_DIR=/runnertmp RUN export ARCH=$(echo ${TARGETPLATFORM} | cut -d / -f2) \ && if [ "$ARCH" = "amd64" ] || [ "$ARCH" = "x86_64" ] || [ "$ARCH" = "i386" ]; then export ARCH=x64 ; fi \ diff --git a/runner/actions-runner.ubuntu-24.04.dockerfile b/runner/actions-runner.ubuntu-24.04.dockerfile index 720ee13c86..a43ab7fbf4 100644 --- a/runner/actions-runner.ubuntu-24.04.dockerfile +++ b/runner/actions-runner.ubuntu-24.04.dockerfile @@ -7,7 +7,6 @@ ARG RUNNER_CONTAINER_HOOKS_VERSION ARG CHANNEL=stable ARG DOCKER_VERSION=24.0.7 ARG DOCKER_COMPOSE_VERSION=v2.23.0 -ARG DUMB_INIT_VERSION=1.2.5 ARG RUNNER_USER_UID=1001 ARG DOCKER_GROUP_GID=121 @@ -19,6 +18,7 @@ RUN apt-get update -y \ && apt-get install -y --no-install-recommends \ ca-certificates \ curl \ + dumb-init \ git \ jq \ sudo \ @@ -39,12 +39,6 @@ RUN adduser --disabled-password --gecos "" --uid $RUNNER_USER_UID runner \ ENV HOME=/home/runner -RUN export ARCH=$(echo ${TARGETPLATFORM} | cut -d / -f2) \ - && if [ "$ARCH" = "arm64" ]; then export ARCH=aarch64 ; fi \ - && if [ "$ARCH" = "amd64" ] || [ "$ARCH" = "i386" ]; then export ARCH=x86_64 ; fi \ - && curl -fLo /usr/bin/dumb-init https://github.com/Yelp/dumb-init/releases/download/v${DUMB_INIT_VERSION}/dumb-init_${DUMB_INIT_VERSION}_${ARCH} \ - && chmod +x /usr/bin/dumb-init - ENV RUNNER_ASSETS_DIR=/runnertmp RUN export ARCH=$(echo ${TARGETPLATFORM} | cut -d / -f2) \ && if [ "$ARCH" = "amd64" ] || [ "$ARCH" = "x86_64" ] || [ "$ARCH" = "i386" ]; then export ARCH=x64 ; fi \ From f6993b5105222b86184df1406b594d22c89609dd Mon Sep 17 00:00:00 2001 From: Tom Wieczorek Date: Fri, 15 Aug 2025 12:37:17 +0200 Subject: [PATCH 3/3] Add ARMv7 support to actions-runner container images Signed-off-by: Tom Wieczorek --- runner/Makefile | 2 +- runner/actions-runner-dind-rootless.ubuntu-20.04.dockerfile | 1 + runner/actions-runner-dind-rootless.ubuntu-22.04.dockerfile | 1 + runner/actions-runner-dind-rootless.ubuntu-24.04.dockerfile | 1 + runner/actions-runner-dind.ubuntu-20.04.dockerfile | 2 ++ runner/actions-runner-dind.ubuntu-22.04.dockerfile | 2 ++ runner/actions-runner-dind.ubuntu-24.04.dockerfile | 2 ++ runner/actions-runner.ubuntu-20.04.dockerfile | 2 ++ runner/actions-runner.ubuntu-22.04.dockerfile | 2 ++ runner/actions-runner.ubuntu-24.04.dockerfile | 2 ++ 10 files changed, 16 insertions(+), 1 deletion(-) diff --git a/runner/Makefile b/runner/Makefile index a470870f61..6dc468e6b6 100644 --- a/runner/Makefile +++ b/runner/Makefile @@ -12,7 +12,7 @@ DOCKER_VERSION ?= 24.0.7 # default list of platforms for which multiarch image is built ifeq (${PLATFORMS}, ) - export PLATFORMS="linux/amd64,linux/arm64" + export PLATFORMS="linux/amd64,linux/arm64,linux/arm/v7" endif # if IMG_RESULT is unspecified, by default the image will be pushed to registry diff --git a/runner/actions-runner-dind-rootless.ubuntu-20.04.dockerfile b/runner/actions-runner-dind-rootless.ubuntu-20.04.dockerfile index 292c6d2392..d5d76b651e 100644 --- a/runner/actions-runner-dind-rootless.ubuntu-20.04.dockerfile +++ b/runner/actions-runner-dind-rootless.ubuntu-20.04.dockerfile @@ -136,6 +136,7 @@ RUN export SKIP_IPTABLES=1 \ RUN export ARCH=$(echo ${TARGETPLATFORM} | cut -d / -f2) \ && if [ "$ARCH" = "arm64" ]; then export ARCH=aarch64 ; fi \ && if [ "$ARCH" = "amd64" ] || [ "$ARCH" = "i386" ]; then export ARCH=x86_64 ; fi \ + && if [ "$ARCH" = "arm" ]; then export ARCH=armv7 ; fi \ && mkdir -p /home/runner/.docker/cli-plugins \ && curl -fLo /home/runner/.docker/cli-plugins/docker-compose https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_VERSION}/docker-compose-linux-${ARCH} \ && chmod +x /home/runner/.docker/cli-plugins/docker-compose \ diff --git a/runner/actions-runner-dind-rootless.ubuntu-22.04.dockerfile b/runner/actions-runner-dind-rootless.ubuntu-22.04.dockerfile index 565f8ce6f7..484b1e6f9f 100644 --- a/runner/actions-runner-dind-rootless.ubuntu-22.04.dockerfile +++ b/runner/actions-runner-dind-rootless.ubuntu-22.04.dockerfile @@ -114,6 +114,7 @@ RUN export SKIP_IPTABLES=1 \ RUN export ARCH=$(echo ${TARGETPLATFORM} | cut -d / -f2) \ && if [ "$ARCH" = "arm64" ]; then export ARCH=aarch64 ; fi \ && if [ "$ARCH" = "amd64" ] || [ "$ARCH" = "i386" ]; then export ARCH=x86_64 ; fi \ + && if [ "$ARCH" = "arm" ]; then export ARCH=armv7 ; fi \ && mkdir -p /home/runner/.docker/cli-plugins \ && curl -fLo /home/runner/.docker/cli-plugins/docker-compose https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_VERSION}/docker-compose-linux-${ARCH} \ && chmod +x /home/runner/.docker/cli-plugins/docker-compose \ diff --git a/runner/actions-runner-dind-rootless.ubuntu-24.04.dockerfile b/runner/actions-runner-dind-rootless.ubuntu-24.04.dockerfile index ce66c69be6..1ffe4a85f2 100644 --- a/runner/actions-runner-dind-rootless.ubuntu-24.04.dockerfile +++ b/runner/actions-runner-dind-rootless.ubuntu-24.04.dockerfile @@ -114,6 +114,7 @@ RUN export SKIP_IPTABLES=1 \ RUN export ARCH=$(echo ${TARGETPLATFORM} | cut -d / -f2) \ && if [ "$ARCH" = "arm64" ]; then export ARCH=aarch64 ; fi \ && if [ "$ARCH" = "amd64" ] || [ "$ARCH" = "i386" ]; then export ARCH=x86_64 ; fi \ + && if [ "$ARCH" = "arm" ]; then export ARCH=armv7 ; fi \ && mkdir -p /home/runner/.docker/cli-plugins \ && curl -fLo /home/runner/.docker/cli-plugins/docker-compose https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_VERSION}/docker-compose-linux-${ARCH} \ && chmod +x /home/runner/.docker/cli-plugins/docker-compose \ diff --git a/runner/actions-runner-dind.ubuntu-20.04.dockerfile b/runner/actions-runner-dind.ubuntu-20.04.dockerfile index af5b7b9071..05ede91413 100644 --- a/runner/actions-runner-dind.ubuntu-20.04.dockerfile +++ b/runner/actions-runner-dind.ubuntu-20.04.dockerfile @@ -95,6 +95,7 @@ RUN set -vx; \ export ARCH=$(echo ${TARGETPLATFORM} | cut -d / -f2) \ && if [ "$ARCH" = "arm64" ]; then export ARCH=aarch64 ; fi \ && if [ "$ARCH" = "amd64" ] || [ "$ARCH" = "i386" ]; then export ARCH=x86_64 ; fi \ + && if [ "$ARCH" = "arm" ]; then export ARCH=armhf ; fi \ && curl -fLo docker.tgz https://download.docker.com/linux/static/${CHANNEL}/${ARCH}/docker-${DOCKER_VERSION}.tgz \ && tar zxvf docker.tgz \ && install -o root -g root -m 755 docker/* /usr/bin/ \ @@ -103,6 +104,7 @@ RUN set -vx; \ RUN export ARCH=$(echo ${TARGETPLATFORM} | cut -d / -f2) \ && if [ "$ARCH" = "arm64" ]; then export ARCH=aarch64 ; fi \ && if [ "$ARCH" = "amd64" ] || [ "$ARCH" = "i386" ]; then export ARCH=x86_64 ; fi \ + && if [ "$ARCH" = "arm" ]; then export ARCH=armv7 ; fi \ && mkdir -p /usr/libexec/docker/cli-plugins \ && curl -fLo /usr/libexec/docker/cli-plugins/docker-compose https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_VERSION}/docker-compose-linux-${ARCH} \ && chmod +x /usr/libexec/docker/cli-plugins/docker-compose \ diff --git a/runner/actions-runner-dind.ubuntu-22.04.dockerfile b/runner/actions-runner-dind.ubuntu-22.04.dockerfile index c4e5f0fd58..7e66c51924 100644 --- a/runner/actions-runner-dind.ubuntu-22.04.dockerfile +++ b/runner/actions-runner-dind.ubuntu-22.04.dockerfile @@ -71,6 +71,7 @@ RUN set -vx; \ export ARCH=$(echo ${TARGETPLATFORM} | cut -d / -f2) \ && if [ "$ARCH" = "arm64" ]; then export ARCH=aarch64 ; fi \ && if [ "$ARCH" = "amd64" ] || [ "$ARCH" = "i386" ]; then export ARCH=x86_64 ; fi \ + && if [ "$ARCH" = "arm" ]; then export ARCH=armhf ; fi \ && curl -fLo docker.tgz https://download.docker.com/linux/static/${CHANNEL}/${ARCH}/docker-${DOCKER_VERSION}.tgz \ && tar zxvf docker.tgz \ && install -o root -g root -m 755 docker/* /usr/bin/ \ @@ -79,6 +80,7 @@ RUN set -vx; \ RUN export ARCH=$(echo ${TARGETPLATFORM} | cut -d / -f2) \ && if [ "$ARCH" = "arm64" ]; then export ARCH=aarch64 ; fi \ && if [ "$ARCH" = "amd64" ] || [ "$ARCH" = "i386" ]; then export ARCH=x86_64 ; fi \ + && if [ "$ARCH" = "arm" ]; then export ARCH=armv7 ; fi \ && mkdir -p /usr/libexec/docker/cli-plugins \ && curl -fLo /usr/libexec/docker/cli-plugins/docker-compose https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_VERSION}/docker-compose-linux-${ARCH} \ && chmod +x /usr/libexec/docker/cli-plugins/docker-compose \ diff --git a/runner/actions-runner-dind.ubuntu-24.04.dockerfile b/runner/actions-runner-dind.ubuntu-24.04.dockerfile index 9995ddd8b5..92b47d39cb 100644 --- a/runner/actions-runner-dind.ubuntu-24.04.dockerfile +++ b/runner/actions-runner-dind.ubuntu-24.04.dockerfile @@ -71,6 +71,7 @@ RUN set -vx; \ export ARCH=$(echo ${TARGETPLATFORM} | cut -d / -f2) \ && if [ "$ARCH" = "arm64" ]; then export ARCH=aarch64 ; fi \ && if [ "$ARCH" = "amd64" ] || [ "$ARCH" = "i386" ]; then export ARCH=x86_64 ; fi \ + && if [ "$ARCH" = "arm" ]; then export ARCH=armhf ; fi \ && curl -fLo docker.tgz https://download.docker.com/linux/static/${CHANNEL}/${ARCH}/docker-${DOCKER_VERSION}.tgz \ && tar zxvf docker.tgz \ && install -o root -g root -m 755 docker/* /usr/bin/ \ @@ -79,6 +80,7 @@ RUN set -vx; \ RUN export ARCH=$(echo ${TARGETPLATFORM} | cut -d / -f2) \ && if [ "$ARCH" = "arm64" ]; then export ARCH=aarch64 ; fi \ && if [ "$ARCH" = "amd64" ] || [ "$ARCH" = "i386" ]; then export ARCH=x86_64 ; fi \ + && if [ "$ARCH" = "arm" ]; then export ARCH=armv7 ; fi \ && mkdir -p /usr/libexec/docker/cli-plugins \ && curl -fLo /usr/libexec/docker/cli-plugins/docker-compose https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_VERSION}/docker-compose-linux-${ARCH} \ && chmod +x /usr/libexec/docker/cli-plugins/docker-compose \ diff --git a/runner/actions-runner.ubuntu-20.04.dockerfile b/runner/actions-runner.ubuntu-20.04.dockerfile index 9de30a1446..6ed1fd1f32 100644 --- a/runner/actions-runner.ubuntu-20.04.dockerfile +++ b/runner/actions-runner.ubuntu-20.04.dockerfile @@ -92,6 +92,7 @@ RUN set -vx; \ export ARCH=$(echo ${TARGETPLATFORM} | cut -d / -f2) \ && if [ "$ARCH" = "arm64" ]; then export ARCH=aarch64 ; fi \ && if [ "$ARCH" = "amd64" ] || [ "$ARCH" = "i386" ]; then export ARCH=x86_64 ; fi \ + && if [ "$ARCH" = "arm" ]; then export ARCH=armhf ; fi \ && curl -fLo docker.tgz https://download.docker.com/linux/static/${CHANNEL}/${ARCH}/docker-${DOCKER_VERSION}.tgz \ && tar zxvf docker.tgz \ && install -o root -g root -m 755 docker/docker /usr/bin/docker \ @@ -100,6 +101,7 @@ RUN set -vx; \ RUN export ARCH=$(echo ${TARGETPLATFORM} | cut -d / -f2) \ && if [ "$ARCH" = "arm64" ]; then export ARCH=aarch64 ; fi \ && if [ "$ARCH" = "amd64" ] || [ "$ARCH" = "i386" ]; then export ARCH=x86_64 ; fi \ + && if [ "$ARCH" = "arm" ]; then export ARCH=armv7 ; fi \ && mkdir -p /usr/libexec/docker/cli-plugins \ && curl -fLo /usr/libexec/docker/cli-plugins/docker-compose https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_VERSION}/docker-compose-linux-${ARCH} \ && chmod +x /usr/libexec/docker/cli-plugins/docker-compose \ diff --git a/runner/actions-runner.ubuntu-22.04.dockerfile b/runner/actions-runner.ubuntu-22.04.dockerfile index f827e8dab6..bc898f98c9 100644 --- a/runner/actions-runner.ubuntu-22.04.dockerfile +++ b/runner/actions-runner.ubuntu-22.04.dockerfile @@ -69,6 +69,7 @@ RUN set -vx; \ export ARCH=$(echo ${TARGETPLATFORM} | cut -d / -f2) \ && if [ "$ARCH" = "arm64" ]; then export ARCH=aarch64 ; fi \ && if [ "$ARCH" = "amd64" ] || [ "$ARCH" = "i386" ]; then export ARCH=x86_64 ; fi \ + && if [ "$ARCH" = "arm" ]; then export ARCH=armhf ; fi \ && curl -fLo docker.tgz https://download.docker.com/linux/static/${CHANNEL}/${ARCH}/docker-${DOCKER_VERSION}.tgz \ && tar zxvf docker.tgz \ && install -o root -g root -m 755 docker/docker /usr/bin/docker \ @@ -77,6 +78,7 @@ RUN set -vx; \ RUN export ARCH=$(echo ${TARGETPLATFORM} | cut -d / -f2) \ && if [ "$ARCH" = "arm64" ]; then export ARCH=aarch64 ; fi \ && if [ "$ARCH" = "amd64" ] || [ "$ARCH" = "i386" ]; then export ARCH=x86_64 ; fi \ + && if [ "$ARCH" = "arm" ]; then export ARCH=armv7 ; fi \ && mkdir -p /usr/libexec/docker/cli-plugins \ && curl -fLo /usr/libexec/docker/cli-plugins/docker-compose https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_VERSION}/docker-compose-linux-${ARCH} \ && chmod +x /usr/libexec/docker/cli-plugins/docker-compose \ diff --git a/runner/actions-runner.ubuntu-24.04.dockerfile b/runner/actions-runner.ubuntu-24.04.dockerfile index a43ab7fbf4..23658d08bb 100644 --- a/runner/actions-runner.ubuntu-24.04.dockerfile +++ b/runner/actions-runner.ubuntu-24.04.dockerfile @@ -69,6 +69,7 @@ RUN set -vx; \ export ARCH=$(echo ${TARGETPLATFORM} | cut -d / -f2) \ && if [ "$ARCH" = "arm64" ]; then export ARCH=aarch64 ; fi \ && if [ "$ARCH" = "amd64" ] || [ "$ARCH" = "i386" ]; then export ARCH=x86_64 ; fi \ + && if [ "$ARCH" = "arm" ]; then export ARCH=armhf ; fi \ && curl -fLo docker.tgz https://download.docker.com/linux/static/${CHANNEL}/${ARCH}/docker-${DOCKER_VERSION}.tgz \ && tar zxvf docker.tgz \ && install -o root -g root -m 755 docker/docker /usr/bin/docker \ @@ -77,6 +78,7 @@ RUN set -vx; \ RUN export ARCH=$(echo ${TARGETPLATFORM} | cut -d / -f2) \ && if [ "$ARCH" = "arm64" ]; then export ARCH=aarch64 ; fi \ && if [ "$ARCH" = "amd64" ] || [ "$ARCH" = "i386" ]; then export ARCH=x86_64 ; fi \ + && if [ "$ARCH" = "arm" ]; then export ARCH=armv7 ; fi \ && mkdir -p /usr/libexec/docker/cli-plugins \ && curl -fLo /usr/libexec/docker/cli-plugins/docker-compose https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_VERSION}/docker-compose-linux-${ARCH} \ && chmod +x /usr/libexec/docker/cli-plugins/docker-compose \