
act
CLIRuns GitHub Actions workflows locally in Docker, so you can test .github/workflows changes without repeated commits and pushes, or use workflows as a local task runner. Needs Docker installed.

Overview

"Think globally,
actlocally"
Run your GitHub Actions locally! Why would you want to do this? Two reasons:
- Fast Feedback - Rather than having to commit/push every time you want to test out the changes you are making to your
.github/workflows/files (or for any changes to embedded GitHub actions), you can useactto run the actions locally. The environment variables and filesystem are all configured to match what GitHub provides. - Local Task Runner - I love make. However, I also hate repeating myself. With
act, you can use the GitHub Actions defined in your.github/workflows/to replace yourMakefile!
[!TIP] Now Manage and Run Act Directly From VS Code!
Check out the GitHub Local Actions Visual Studio Code extension which allows you to leverage the power ofactto run and test workflows locally without leaving your editor.
How Does It Work?
When you run act it reads in your GitHub Actions from .github/workflows/ and determines the set of actions that need to be run. It uses the Docker API to either pull or build the necessary images, as defined in your workflow files and finally determines the execution path based on the dependencies that were defined. Once it has the execution path, it then uses the Docker API to run containers for each action based on the images prepared earlier. The environment variables and filesystem are all configured to match what GitHub provides.
Let's see it in action with a sample repo!

Act User Guide
Please look at the act user guide for more documentation.
Support
Need help? Ask in discussions!
Contributing
Want to contribute to act? Awesome! Check out the contributing guidelines to get involved.
Manually building from source
- Install Go tools 1.20+ - (https://golang.org/doc/install)
- Clone this repo
git clone git@github.com:nektos/act.git - Run unit tests with
make test - Build and install:
make install
Related resources

Dagger
CLIProgrammable software delivery engine: write build, test and release pipelines with SDKs in Go, Python, TypeScript and five other languages, all running in containers so local and CI behave the same, with built-in OpenTelemetry tracing. Needs a container runtime such as Docker.
dagger/dagger16.3k
zizmor
CLIStatic security analysis for CI/CD config: finds template injection, credential leaks, excessive permissions and more in GitHub Actions workflows, also covers Dependabot and pre-commit configs, and auto-fixes some findings.
zizmorcore/zizmor6.7k
GitHub Agentic Workflows
CLIGitHub's official gh extension for writing Actions workflows in Markdown that AI agents execute, compiled into standard Actions. Choose engines like Copilot, Claude Code or Codex; runs in a read-only sandbox by default. Requires gh.
github/gh-aw5.4k
Docker Compose
CLIDefine multi-container apps in compose.yaml and bring up services, databases, caches and the rest with one docker compose up, handy for agents setting up local dev and test dependencies. Maintained by Docker; included with Docker Desktop on macOS.
docker/compose38.4k
Grype
CLIScans container images, filesystem directories and SBOMs for known vulnerabilities across major Linux distro packages and many language ecosystems, ranks risk by EPSS and KEV, and filters results with OpenVEX. Good for vulnerability gates in CI. Maintained by Anchore.
anchore/grype13k
GitHub CLI
CLIGitHub's official CLI: manage pull requests, issues, releases and Actions workflows from the terminal. Most commands support --json output that agents can parse, and an official agent skill is available. Run gh auth login first.
cli/cli46.7k