CI/CD runners with comprehensive Node & Python coverage - LTS to latest https://github.com/tcpipuk/act-runner
  • Dockerfile 100%
Find a file
forgejo-actions[bot] 96f3025d38 chore: update Ubuntu and Fedora images in README
Node.js Previous: 22
Node.js Latest: 24
Node.js Unstable: 26
Ubuntu Previous: 22.04 (Python 3.10)
Ubuntu Latest: 26.04 (Python 3.14)
Ubuntu Rolling: 26.04 (Python 3.14)
Fedora Previous: 41 (Python 3.13)
Fedora Latest: 44 (Python 3.14)
Fedora Rawhide: Python 3.15
2026-06-15 04:11:56 +00:00
.forgejo fix(ci): query Launchpad packages directly for deadsnakes versions 2026-05-12 11:48:38 +01:00
docker fix(docker): remove apt.llvm.org from Ubuntu images 2026-05-11 18:36:18 +01:00
docs chore(ci): update pre-commit hooks and reformat markdown 2026-03-10 14:31:38 +00: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 chore(repo): apply prettier formatting and bump markdownlint-cli2 2026-05-11 18:18:22 +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 2026-06-15 04:11:56 +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.

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
26.04 (Development) ubuntu-rolling 26 3.14
26.04 LTS (Current) ubuntu-latest 24 3.14, 3.13
22.04 LTS (Previous) ubuntu-previous 22 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 26 3.15
44 (Current) fedora-latest 24 3.14
41 (Previous) fedora-previous 22 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 26 3.13
13 (Trixie - Stable) debian-latest 24 3.13
12 (Bookworm - Oldstable) debian-oldstable 22 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-arch builds incompatible with current build environment
  • 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

* LLVM apt repo is available on Fedora only. Excluded from Ubuntu (lags new releases) and Debian (SHA1 signing key, rejected since 2026-02-01). Use the distro clang package or LLVM's install script.

** HashiCorp repository is available on Fedora and Debian (excluding sid/unstable). Excluded from Ubuntu images because HashiCorp is consistently slow to publish apt repos for new Ubuntu releases; install terraform/vault/consul via direct download, tfenv, or asdf.

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)
  • Java (default JDK for each distro release) with Gradle (Ubuntu only - not available in Fedora or Debian's package repositories)
  • 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.