act

nektosact.com ↗

Run GitHub Actions workflows locally to get faster feedback before pushing changes.

SI Score
80/100
Pricing
Open Source AI reading, not confirmed
Free plan
Not confirmed
Sign-up required
Not confirmed

Ask SI about act

Answers use saved listing facts and recorded sources.
Homepage screenshot
Screenshot of the act homepage

What it does

act is a command-line tool that reads workflow files from `.github/workflows` and runs jobs locally. It uses the Docker Engine API to prepare runner images and execute workflow steps, so developers can try event-triggered workflows without pushing each edit to GitHub. It is a local testing and task-running aid, not GitHub's hosted Actions service or a replacement for checking the actual hosted runner.

In a repository that already has GitHub Actions workflows, install act and make sure Docker Engine is available. Its usage guide documents act push for workflows triggered by a push and act -l pull_request for listing workflows that match a pull-request event. If a job depends on event-specific fields, provide a payload file instead of assuming local defaults reproduce a real GitHub event. Those are documented examples, not commands run for this listing.

The output is local job execution and step logs, which can expose workflow mistakes before a commit-and-push cycle. Use it for quick feedback, then keep the normal hosted or self-hosted Actions run as the final check when runner details matter. The default images are intentionally incomplete compared with GitHub-hosted environments, and containers do not reproduce every virtual-machine behavior. Docker images and local compute are separate dependencies whose cost depends on the operator.

Strengths

  • Runs existing `.github/workflows` locally rather than requiring a push for every workflow edit.
  • Supports choosing a GitHub event and listing workflows that match it.
  • Prebuilt executables are documented for Linux, macOS, and Windows.

Watch out for

  • Container-based runs require Docker Engine; other container backends are not officially supported.
  • Default runner images are incomplete and local containers do not fully reproduce GitHub's virtual machines.

Best for

  • Trying a GitHub Actions workflow change before pushing it
  • Reproducing a push or pull-request job locally during development
  • Using repository workflow files as local repeatable tasks

Sources