act-runner (sha256:7fbd3fa0817ff6a76370e1a835f566d4b63a802c974982c59d7d7fe9905f94b5)

Published 2025-09-08 05:32:25 +01:00 by tom in tom/act-runner

Installation

docker pull git.tomfos.tr/tom/act-runner@sha256:7fbd3fa0817ff6a76370e1a835f566d4b63a802c974982c59d7d7fe9905f94b5
sha256:7fbd3fa0817ff6a76370e1a835f566d4b63a802c974982c59d7d7fe9905f94b5

About this package

Optimized ACT/Forgejo runner base image with essential CI tools for Fedora rawhide

Image layers

LABEL maintainer=Clement Verna <cverna@fedoraproject.org>
ENV DISTTAG=f43container FGC=f43 FBR=f43
ADD fedora-20250817.tar / # buildkit
CMD ["/bin/bash"]
ARG FEDORA_VERSION=rawhide
ARG TARGETARCH=amd64
SHELL [/bin/bash -e -c]
LABEL org.opencontainers.image.title=act-runner-fedorarawhide-base org.opencontainers.image.description=Optimized ACT/Forgejo runner base image with essential CI tools for Fedora rawhide 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 FEDORA_VERSION=rawhide TARGETARCH=amd64 /bin/bash -e -c dnf install -y bzip2 cmake curl fedora-packager file findutils gcc gcc-c++ gzip jq libffi-devel make patch pkg-config procps-ng rpkg rpm-sign rsync tar unzip wget which xz zip && dnf clean all && mkdir -p -m 755 /opt/hostedtoolcache # buildkit
RUN |2 FEDORA_VERSION=rawhide TARGETARCH=amd64 /bin/bash -e -c dnf install -y ca-certificates git git-lfs gnupg2 openssh-clients openssl-devel python3 python3-pip sudo && dnf clean all # buildkit
RUN |2 FEDORA_VERSION=rawhide TARGETARCH=amd64 /bin/bash -e -c dnf install -y moby-engine docker-compose && dnf clean all && systemctl disable docker.service docker.socket || true # buildkit
ARG NODE_VERSIONS=24 22
RUN |3 FEDORA_VERSION=rawhide TARGETARCH=amd64 NODE_VERSIONS=24 22 /bin/bash -e -c if [ -n "${NODE_VERSIONS}" ]; then 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=$(uname -m | sed 's/x86_64/x64/;s/aarch64/arm64/;s/ppc64le/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; NODE_VERSION=$(ls /opt/hostedtoolcache/node | head -1); ARCH=$(uname -m | sed 's/x86_64/x64/;s/aarch64/arm64/;s/ppc64le/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; fi # buildkit
RUN |3 FEDORA_VERSION=rawhide TARGETARCH=amd64 NODE_VERSIONS=24 22 /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/bashrc # buildkit
RUN |3 FEDORA_VERSION=rawhide TARGETARCH=amd64 NODE_VERSIONS=24 22 /bin/bash -e -c dnf config-manager addrepo --from-repofile=https://cli.github.com/packages/rpm/gh-cli.repo && dnf install -y gh && dnf clean all # buildkit
ARG K8S_VERSION=1.34
RUN |4 FEDORA_VERSION=rawhide TARGETARCH=amd64 NODE_VERSIONS=24 22 K8S_VERSION=1.34 /bin/bash -e -c mkdir -p /etc/yum.repos.d && echo '[kubernetes]' > /etc/yum.repos.d/kubernetes.repo && echo 'name=Kubernetes' >> /etc/yum.repos.d/kubernetes.repo && echo "baseurl=https://pkgs.k8s.io/core:/stable:/v${K8S_VERSION}/rpm/" >> /etc/yum.repos.d/kubernetes.repo && echo 'enabled=1' >> /etc/yum.repos.d/kubernetes.repo && echo 'gpgcheck=1' >> /etc/yum.repos.d/kubernetes.repo && echo "gpgkey=https://pkgs.k8s.io/core:/stable:/v${K8S_VERSION}/rpm/repodata/repomd.xml.key" >> /etc/yum.repos.d/kubernetes.repo && dnf config-manager addrepo --from-repofile=https://rpm.releases.hashicorp.com/fedora/hashicorp.repo && dnf config-manager addrepo --from-repofile=https://download.docker.com/linux/fedora/docker-ce.repo && rpm --import https://packages.microsoft.com/keys/microsoft.asc && echo '[packages-microsoft-prod]' > /etc/yum.repos.d/microsoft.repo && echo 'name=Microsoft packages' >> /etc/yum.repos.d/microsoft.repo && echo 'baseurl=https://packages.microsoft.com/fedora/$releasever/prod/' >> /etc/yum.repos.d/microsoft.repo && echo 'enabled=1' >> /etc/yum.repos.d/microsoft.repo && echo 'gpgcheck=1' >> /etc/yum.repos.d/microsoft.repo && echo 'gpgkey=https://packages.microsoft.com/keys/microsoft.asc' >> /etc/yum.repos.d/microsoft.repo # buildkit
ENV AGENT_TOOLSDIRECTORY=/opt/hostedtoolcache FEDORA_VERSION=rawhide PATH=/root/.local/bin:/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
WORKDIR /tmp
RUN |4 FEDORA_VERSION=rawhide TARGETARCH=amd64 NODE_VERSIONS=24 22 K8S_VERSION=1.34 /bin/bash -e -c git --version && docker --version && gh --version && python3 --version && rustup --version && 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") && dnf makecache # buildkit

Labels

Key Value
maintainer Clement Verna <cverna@fedoraproject.org>
org.opencontainers.image.authors Tom Foster
org.opencontainers.image.description Optimized ACT/Forgejo runner base image with essential CI tools for Fedora rawhide
org.opencontainers.image.documentation https://git.tomfos.tr/tom/act-runner/src/branch/main/README.md
org.opencontainers.image.licenses MIT
org.opencontainers.image.source https://git.tomfos.tr/tom/act-runner
org.opencontainers.image.title act-runner-fedorarawhide-base
org.opencontainers.image.url https://git.tomfos.tr/tom/act-runner
org.opencontainers.image.vendor git.tomfos.tr
Details
Container
2025-09-08 05:32:25 +01:00
12
OCI / Docker
linux/amd64
Tom Foster
MIT
871 MiB
Versions (34) View all
debian-latest 2025-09-10
debian-sid 2025-09-10
debian-oldstable 2025-09-10