nektos/act
DevOps & Self-hostingA command-line tool that runs GitHub Actions workflows locally in Docker containers, given a Docker-compatible environment.
act is a Go command-line tool that lets you execute your repository's .github/workflows/ files on your own machine instead of pushing a commit and waiting for GitHub CI. It is aimed at people who are debugging or iterating on workflow definitions, and who are willing to run containers locally.
What changes in practice
Instead of committing and pushing to test a workflow change, you run act against the local workflow files. According to the README, it reads the workflows, determines which actions must run, pulls or builds the needed images through the Docker API, resolves the execution order from the dependencies declared in the workflow, and then runs a container per action. It also claims to configure environment variables and the filesystem to match what GitHub provides on hosted runners (README).
The README also pitches a second use: a local task runner, replacing a Makefile with the GitHub Actions you already maintain (README). A third-party VS Code extension, GitHub Local Actions, can invoke act from inside the editor (extension docs).
What it depends on
Everything in the documented workflow runs through the Docker API; the README's tests also require Docker, with only make test-fast skipping it (README). If you build from source, the README lists Go at the version in go.mod (currently 1.26.0) plus make install (build instructions). The full user documentation lives on the project site (act user guide).
Where local runs can diverge
Local runs are not the same environment as GitHub's hosted runners. A 2025 Hacker News commenter on Apple silicon said platform mismatch, custom runner images and general differences from CI runner images kept them stuck before execution, even after trying the large catthehacker image (HN comment, 2025-05-16); another commenter reported similar environment trouble on Linux (HN reply, 2025-05-19). These are individual anecdotes from before this description, not a documented compatibility matrix, but they point to the real constraint: workflow steps that assume GitHub-specific runner images or unusual setups may not behave the same locally.
One behavioural note surfaces repeatedly in older discussion: running act with no arguments executes all workflows in parallel rather than printing usage (HN comment, 2022-11-26). That default is worth knowing before a first run.
The project is MIT-licensed, and there is a community discussions forum for support (repository, discussions).
Written by AI from the project's README, updated October 30, 2026. The project's own docs are the source of truth.