Repolode
nektos

nektos/act

A CLI that runs your GitHub Actions workflows locally in Docker, so you can test changes without committing and pushing.

Stars
72,437
Forks
2,069
Open issues
398
Last commit
3 months ago

What is it?

act reads the workflow files in .github/workflows/ and runs the jobs on your machine using Docker. It pulls or builds the images each workflow needs, works out the execution order from job dependencies, and starts a container for each step. Environment variables and the filesystem layout are set up to resemble what GitHub-hosted runners provide.

The tool is aimed at two situations: iterating on workflow changes without a commit-and-push cycle, and using existing workflow definitions as a task runner in place of a Makefile. Its user guide is hosted at nektosact.com, and the project is written in Go and released under the MIT license.

Key features

  • 01Runs GitHub Actions workflows locally using Docker containers.
  • 02Resolves job dependencies to determine execution order.
  • 03Configures environment variables and filesystem paths to match GitHub's runners.
  • 04Can be used as a local task runner driven by existing workflow files.
  • 05Has a VS Code extension for running workflows from the editor.

Use cases

  • Testing changes to .github/workflows/ files before pushing them.
  • Debugging a failing CI job without waiting for remote runners.
  • Replacing a Makefile with reusable workflow definitions for local tasks.

Quick start

  1. 1

    Install Docker and make sure it is running

  2. 2

    Clone the repo and build from source with make install (requires Go 1.20+)

    make install
  3. 3

    Run your workflows locally from a repo that has .github/workflows/

    act

Things to know

  • Requires Docker to be installed and running.
  • Runs in containers, so it may not perfectly match GitHub-hosted runner environments.

Topics

FAQ

What is act?
A CLI that runs your GitHub Actions workflows locally in Docker, so you can test changes without committing and pushing. act reads the workflow files in .github/workflows/ and runs the jobs on your machine using Docker. It pulls or builds the images each workflow needs, works out the execution order from job dependencies, and starts a container for each step. Environment variables and the filesystem layout are set up to resemble what GitHub-hosted runners provide.
Is act free to use? What license does it have?
act is open source under the MIT license. Check the license terms before using it in commercial products.
Is act still maintained?
Updated within 6 months. The last commit to act was on Aug 9, 2026.
What can I use act for?
Testing changes to .github/workflows/ files before pushing them. Debugging a failing CI job without waiting for remote runners. Replacing a Makefile with reusable workflow definitions for local tasks.
How do I install act?
Install Docker and make sure it is running Clone the repo and build from source with make install (requires Go 1.20+): make install Run your workflows locally from a repo that has .github/workflows/: act
Where can I get act?
The source code and installation instructions are on GitHub: https://github.com/nektos/act

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects