act-runner (sha256:60ef18b11086272c183e0461cdf3676bb0d1aced78cd5caa9cc4a2dfae3b0def)
Installation
docker pull git.tomfos.tr/tom/act-runner@sha256:60ef18b11086272c183e0461cdf3676bb0d1aced78cd5caa9cc4a2dfae3b0def
sha256:60ef18b11086272c183e0461cdf3676bb0d1aced78cd5caa9cc4a2dfae3b0def
About this package
Optimized ACT/Forgejo runner with essential CI tools for Ubuntu 24.04
Image layers
ARG RELEASE |
ARG LAUNCHPAD_BUILD_ARCH |
LABEL org.opencontainers.image.ref.name=ubuntu |
LABEL org.opencontainers.image.version=24.04 |
ADD file:9c3c50a7bf89c14623163f11927acdf7c8624c7519f83f2d95bf5a99ea4d21f9 in / |
CMD ["/bin/bash"] |
ARG UBUNTU_VERSION=24.04 |
ARG TARGETARCH=s390x |
SHELL [/bin/bash -e -c] |
ENV DEBIAN_FRONTEND=noninteractive |
LABEL org.opencontainers.image.title=act-runner-ubuntu24.04 org.opencontainers.image.description=Optimized ACT/Forgejo runner with essential CI tools for Ubuntu 24.04 org.opencontainers.image.url=https://git.tomfos.tr/tom/act-runner org.opencontainers.image.source=https://git.tomfos.tr/tom/act-runner org.opencontainers.image.documentation=https://git.tomfos.tr/tom/act-runner/src/branch/main/README.md org.opencontainers.image.vendor=git.tomfos.tr org.opencontainers.image.licenses=MIT org.opencontainers.image.authors=Tom Foster |
RUN |2 UBUNTU_VERSION=24.04 TARGETARCH=s390x /bin/bash -e -c apt-get update && apt-get install -y --no-install-recommends apt-utils build-essential bzip2 cmake curl file g++ gcc gzip jq libffi-dev make patch pkg-config rsync tar unzip wget xz-utils zip && rm -rf /var/lib/apt/lists/* # buildkit |
RUN |2 UBUNTU_VERSION=24.04 TARGETARCH=s390x /bin/bash -e -c apt-get update && apt-get install -y --no-install-recommends ca-certificates git git-lfs gnupg gpg libcairo2 libssl-dev lsb-release openssh-client software-properties-common sudo && rm -rf /var/lib/apt/lists/* # buildkit |
RUN |2 UBUNTU_VERSION=24.04 TARGETARCH=s390x /bin/bash -e -c apt-get update && apt-get install -y --no-install-recommends docker-compose docker.io && rm -rf /var/lib/apt/lists/* && mkdir -p -m 755 /opt/hostedtoolcache # buildkit |
ARG NODE_VERSIONS=24 22 |
RUN |3 UBUNTU_VERSION=24.04 TARGETARCH=s390x NODE_VERSIONS=24 22 /bin/bash -e -c for VERSION in ${NODE_VERSIONS}; do NODE_URL="https://nodejs.org/dist/latest-v${VERSION}.x/"; NODE_VERSION=$(curl -sL ${NODE_URL} | grep -oP 'node-v\K[0-9]+\.[0-9]+\.[0-9]+' | head -1); FULL_VERSION="v${NODE_VERSION}"; ARCH=$(dpkg --print-architecture | sed 's/amd64/x64/;s/ppc64el/ppc64le/'); TARBALL="/tmp/downloads/node-${FULL_VERSION}-linux-${ARCH}.tar.xz"; if [ ! -f "${TARBALL}" ] || ! xz -t "${TARBALL}" 2>/dev/null; then echo "Downloading Node.js ${FULL_VERSION} for ${ARCH}..."; rm -f "${TARBALL}"; curl -fSL "${NODE_URL}/node-${FULL_VERSION}-linux-${ARCH}.tar.xz" -o "${TARBALL}" || (echo "Failed to download Node.js ${FULL_VERSION} for ${ARCH}" && exit 1); xz -t "${TARBALL}" || (echo "Downloaded file is corrupted" && rm -f "${TARBALL}" && exit 1); fi; NODE_PATH="/opt/hostedtoolcache/node/${NODE_VERSION}/${ARCH}"; mkdir -p "${NODE_PATH}"; echo "Extracting Node.js ${FULL_VERSION} to ${NODE_PATH}..."; tar -xJf "${TARBALL}" --strip-components=1 -C "${NODE_PATH}"; done # buildkit |
RUN |3 UBUNTU_VERSION=24.04 TARGETARCH=s390x NODE_VERSIONS=24 22 /bin/bash -e -c NODE_VERSION=$(ls /opt/hostedtoolcache/node | sort -V | tail -1) && ARCH=$(dpkg --print-architecture | sed 's/amd64/x64/;s/armhf/armv7l/;s/ppc64el/ppc64le/') && echo "export PATH=/opt/hostedtoolcache/node/${NODE_VERSION}/${ARCH}/bin:\$PATH" >> /etc/profile.d/node.sh && ln -sf /opt/hostedtoolcache/node/${NODE_VERSION}/${ARCH}/bin/node /usr/local/bin/node && ln -sf /opt/hostedtoolcache/node/${NODE_VERSION}/${ARCH}/bin/npm /usr/local/bin/npm && ln -sf /opt/hostedtoolcache/node/${NODE_VERSION}/${ARCH}/bin/npx /usr/local/bin/npx # buildkit |
ARG PYTHON_VERSION=3.13 |
ARG USE_NATIVE_PYTHON= |
RUN |5 UBUNTU_VERSION=24.04 TARGETARCH=s390x NODE_VERSIONS=24 22 PYTHON_VERSION=3.13 USE_NATIVE_PYTHON= /bin/bash -e -c if [ -z "${USE_NATIVE_PYTHON}" ]; then apt-get update && apt-get install -y --no-install-recommends software-properties-common && add-apt-repository ppa:deadsnakes/ppa -y && rm -rf /var/lib/apt/lists/*; fi # buildkit |
RUN |5 UBUNTU_VERSION=24.04 TARGETARCH=s390x NODE_VERSIONS=24 22 PYTHON_VERSION=3.13 USE_NATIVE_PYTHON= /bin/bash -e -c apt-get update && if [ -n "${USE_NATIVE_PYTHON}" ]; then apt-get install -y --no-install-recommends python3 python3-venv python3-apt; else apt-get install -y --no-install-recommends python${PYTHON_VERSION} python${PYTHON_VERSION}-venv; fi && apt-get clean && rm -rf /var/lib/apt/lists/* # buildkit |
RUN |5 UBUNTU_VERSION=24.04 TARGETARCH=s390x NODE_VERSIONS=24 22 PYTHON_VERSION=3.13 USE_NATIVE_PYTHON= /bin/bash -e -c if [ -z "${USE_NATIVE_PYTHON}" ]; then update-alternatives --install /usr/bin/python3 python3 /usr/bin/python${PYTHON_VERSION} 100 && update-alternatives --install /usr/bin/python python /usr/bin/python${PYTHON_VERSION} 100; fi # buildkit |
ENV UV_LINK_MODE=copy |
ENV PATH=/root/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin |
RUN |5 UBUNTU_VERSION=24.04 TARGETARCH=s390x NODE_VERSIONS=24 22 PYTHON_VERSION=3.13 USE_NATIVE_PYTHON= /bin/bash -e -c curl -LsSf https://astral.sh/uv/install.sh | sh && /root/.local/bin/uv tool install prek && /root/.local/bin/uv tool install ruff && /root/.local/bin/uv tool install mypy && /root/.local/bin/uv tool install pytest && /root/.local/bin/uv tool install black && /root/.local/bin/uv tool install isort && curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --no-modify-path --profile minimal --default-toolchain none && echo 'source $HOME/.cargo/env' >> /etc/bash.bashrc # buildkit |
RUN |5 UBUNTU_VERSION=24.04 TARGETARCH=s390x NODE_VERSIONS=24 22 PYTHON_VERSION=3.13 USE_NATIVE_PYTHON= /bin/bash -e -c mkdir -p -m 755 /etc/apt/keyrings /etc/apt/sources.list.d && wget -q -O- https://cli.github.com/packages/githubcli-archive-keyring.gpg | gpg --dearmor -o /etc/apt/keyrings/githubcli-archive-keyring.gpg && echo "deb [arch=$(dpkg --print-architecture) 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/* # buildkit |
ARG K8S_VERSION=1.34 |
RUN |6 UBUNTU_VERSION=24.04 TARGETARCH=s390x NODE_VERSIONS=24 22 PYTHON_VERSION=3.13 USE_NATIVE_PYTHON= K8S_VERSION=1.34 /bin/bash -e -c mkdir -p -m 755 /etc/apt/keyrings /etc/apt/sources.list.d && wget -qO- https://apt.llvm.org/llvm-snapshot.gpg.key | gpg --dearmor -o /etc/apt/keyrings/llvm-archive-keyring.gpg && echo "deb [signed-by=/etc/apt/keyrings/llvm-archive-keyring.gpg] http://apt.llvm.org/$(lsb_release -cs)/ llvm-toolchain-$(lsb_release -cs) main" > /etc/apt/sources.list.d/llvm.list && curl -fsSL https://pkgs.k8s.io/core:/stable:/v${K8S_VERSION}/deb/Release.key | gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg && echo "deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v${K8S_VERSION}/deb/ /" > /etc/apt/sources.list.d/kubernetes.list && wget -q -O- https://apt.releases.hashicorp.com/gpg | gpg --dearmor -o /etc/apt/keyrings/hashicorp-archive-keyring.gpg && echo "deb [signed-by=/etc/apt/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(lsb_release -cs) main" > /etc/apt/sources.list.d/hashicorp.list && PACKAGE_PATH="/tmp/downloads/packages-microsoft-prod-$(lsb_release -rs).deb" && if [ ! -f "${PACKAGE_PATH}" ]; then wget -q https://packages.microsoft.com/config/ubuntu/$(lsb_release -rs)/packages-microsoft-prod.deb -O "${PACKAGE_PATH}"; fi && dpkg -i "${PACKAGE_PATH}" && chmod 644 /etc/apt/keyrings/*.gpg 2>/dev/null || true # buildkit |
ENV AGENT_TOOLSDIRECTORY=/opt/hostedtoolcache BUILDKIT_PROGRESS=plain CI=true DOCKER_BUILDKIT=1 UBUNTU_VERSION=24.04 PATH=/root/.local/bin:/root/.cargo/bin:/root/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin |
WORKDIR /tmp |
RUN |6 UBUNTU_VERSION=24.04 TARGETARCH=s390x NODE_VERSIONS=24 22 PYTHON_VERSION=3.13 USE_NATIVE_PYTHON= K8S_VERSION=1.34 /bin/bash -e -c git --version && docker --version && gh --version && python3 --version && (command -v rustup >/dev/null 2>&1 && rustup --version || echo "Rust not installed") && uv --version && (command -v node >/dev/null 2>&1 && node --version || echo "Node.js not installed") && (command -v npm >/dev/null 2>&1 && npm --version || echo "npm not installed") && apt-get update # buildkit |
Labels
Key | Value |
---|---|
org.opencontainers.image.authors | Tom Foster |
org.opencontainers.image.description | Optimized ACT/Forgejo runner with essential CI tools for Ubuntu 24.04 |
org.opencontainers.image.documentation | https://git.tomfos.tr/tom/act-runner/src/branch/main/README.md |
org.opencontainers.image.licenses | MIT |
org.opencontainers.image.ref.name | ubuntu |
org.opencontainers.image.source | https://git.tomfos.tr/tom/act-runner |
org.opencontainers.image.title | act-runner-ubuntu24.04 |
org.opencontainers.image.url | https://git.tomfos.tr/tom/act-runner |
org.opencontainers.image.vendor | git.tomfos.tr |
org.opencontainers.image.version | 24.04 |
Details
2025-09-08 05:07:41 +01:00
Versions (34)
View all
Container
6
OCI / Docker
linux/s390x
Tom Foster
MIT
497 MiB
ubuntu-rolling
2025-09-10
ubuntu25.04-node24-22-py
2025-09-10
ubuntu-previous
2025-09-10
ubuntu22.04-node22-20-py
2025-09-10
ubuntu-latest
2025-09-10