CI/CD runners with comprehensive Node & Python coverage - LTS to latest https://github.com/tcpipuk/act-runner
Find a file
forgejo-actions[bot] 6b2a8cb9a6 chore: update Ubuntu and Fedora images in README
Node.js Previous: 20
Node.js Latest: 22
Node.js Unstable: 24
Ubuntu Previous: 22.04 (Python 3.10)
Ubuntu Latest: 24.04 (Python 3.12)
Ubuntu Rolling: 25.10 (Python 3.13)
Fedora Previous: 41 (Python 3.13)
Fedora Latest: 42 (Python 3.13)
Fedora Rawhide: Python 3.14
2025-10-23 04:03:48 +00:00
.forgejo ci(build): limit builds to amd64 only due to widespread QEMU issues 2025-10-11 18:35:26 +01:00
docker fix(docker): remove Ubuntu-specific package from Debian Dockerfile 2025-10-11 19:20:46 +01:00
docs docs(build): improve documentation accuracy and fix CI mirror patterns 2025-09-13 13:59:53 +01:00
.gitignore feat(build): add multi-architecture support for all images 2025-08-28 17:10:03 +01:00
.markdownlint.yaml ci(config): add markdown linting and enforce conventional commits 2025-08-28 10:20:40 +01:00
.pre-commit-config.yaml fix(docker): install Python early to resolve package management dependencies 2025-10-11 16:00:34 +01:00
LICENCE Initial commit: ACT runner images for Forgejo Actions 2025-08-21 22:03:02 +01:00
README.md chore: update Ubuntu and Fedora images in README 2025-10-23 04:03:48 +00:00

ACT Runner Images

Production-ready runner images for Forgejo Actions and ACT with comprehensive language support and nightly updates.

Note

Images are built nightly on my Forgejo instance and automatically mirrored to GitHub Container Registry for optimal CDN performance. Both ghcr.io/tcpipuk/act-runner and git.tomfos.tr/tom/act-runner are currently amd64 only. (Multi-architecture support temporarily disabled due to QEMU Python 3.12 segfaults across all emulated architectures)

Usage examples

GitHub Actions:

jobs:
  test:
    runs-on: ubuntu-latest
    container: ghcr.io/tcpipuk/act-runner:ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - run: python --version
      - run: node --version

ACT:

act -P ubuntu-latest=ghcr.io/tcpipuk/act-runner:ubuntu-latest

Ubuntu images

View all available tags and versions →

Ubuntu Version Alias Tag Node.js Python Versions Available
25.10 (Development) ubuntu-rolling 24 3.13
24.04 LTS (Current) ubuntu-latest 22 3.12, 3.13
22.04 LTS (Previous) ubuntu-previous 20 3.10, 3.13

Note: Italicised versions are the native Python for each Ubuntu release. Non-native versions use the latest stable Python (3.13) from deadsnakes PPA.

Fedora images

View all available tags and versions →

Fedora Version Alias Tag Node.js Python Versions Available
Rawhide (Development) fedora-rawhide 24 3.14
42 (Current) fedora-latest 22 3.13
41 (Previous) fedora-previous 20 3.13

Debian images

View all available tags and versions →

Debian Version Alias Tag Node.js Python Versions Available
sid (Forky - Sid/Unstable) debian-sid 24 3.13
13 (Trixie - Stable) debian-latest 22 3.13
12 (Bookworm - Oldstable) debian-oldstable 20 3.11

Note: Debian images use only the native Python version for each release, providing better system integration than external PPAs.

Why these images?

  • Wide compatibility - Works with Forgejo Actions, Gitea Actions, and ACT
  • amd64 support - Multi-architecture temporarily disabled due to QEMU issues
  • Always current - Automatically tracks all supported Node.js and Python versions
  • Nightly updates with intelligent layering - only download what's changed
  • Pre-configured tools - Docker, build-essential, gh CLI, and development libraries ready to go
  • Smart caching - Layered architecture means updates are incremental, not full re-downloads

What's included

All images include:

  • Build essentials (gcc, g++, make, cmake, pkg-config)
  • Full Docker stack including daemon, CLI and Compose (via docker.io package on Ubuntu/Debian, moby-engine on Fedora, all with multi-architecture support and Docker-in-Docker capabilities)
  • GitHub CLI (gh)
  • Git and Git LFS
  • Common utilities (curl, wget, jq, tar, zip)
  • Pre-configured package repositories (LLVM, Kubernetes, HashiCorp*, Microsoft)
  • Deadsnakes PPA repository (non-rolling Ubuntu releases only)

Note

* HashiCorp repository is not available for Debian sid/unstable

Runtime languages:

  • Node.js with npm/npx (single version per image: oldest supported LTS for 'previous/oldstable' releases, newest LTS for 'latest/stable' releases, newest stable for 'rolling/rawhide/sid' releases)
  • Go (latest stable release across all images)
  • Python (native OS version, plus optionally latest stable Python from deadsnakes PPA for non-rolling Ubuntu releases)
  • uv package manager
  • Rust toolchain manager (rustup) with minimal profile (stable toolchain for stable distros, nightly toolchain for rolling/rawhide/sid releases)
  • Pre-installed Python development tools (ruff, mypy, pytest, black, isort, prek)
  • Compatible with actions/setup-node
  • See docs/python.md for full details

Building your own

Need to customise these images? See docs/self-build.md for detailed build instructions.

Credits

Inspired by catthehacker/docker_images. This project provides automated builds with wider version coverage and optimised layer caching.

License

MIT - See LICENSE file for details.