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.
Installation per brew (if you’re on Mac):
brew install nektos/tap/act
Once installed, run act
and you’re good to go …
# List the actions
act -l
# Run the default (`push`) event:
act
# Run a specific event:
act pull_request
# Run a specific job:
act -j test
# Run in dry-run mode:
act -n
# Enable verbose-logging (can be used with any of the above commands)
act -v