Running GitHub Actions Before You Push

Casey Lee has spent two decades building and supporting software systems for organizations ranging from startups to Fortune 500 enterprises. What drives them is a straightforward goal: "helping organizations improve the speed and safety with which they deliver software." That mission led Casey to create act, a tool for running GitHub Actions locally.

The motivation was practical. Developing GitHub Actions and workflows meant committing and pushing every change just to see if it worked—a slow feedback loop. act eliminates that overhead by letting developers test workflow files on their own machines before ever hitting the remote repository.

Beyond testing, act serves a second purpose: it can replace a Makefile as a local task runner. Instead of maintaining a separate file with custom commands, developers can define tasks as GitHub Actions workflows and run them locally with act, avoiding duplication across setups.

act is not a complete implementation of GitHub Actions. Casey acknowledges that "quite a few edge cases" are still missing, including job services such as Redis or MySQL containers. Those features are planned, so it's worth watching Casey's repository for updates.

Composing Large Workflows

When asked what they like most about Actions, Casey points to composability: "I love how easy it is to compose large workflows from reusable actions." The GitHub Marketplace hosts thousands of Actions, and teams can mix and match them or build on top of existing ones to suit workflows of any size.

The biggest hurdle, according to Casey, is simply "learning all the capabilities that the platform has." Since Actions launched in November, the ecosystem has grown rapidly, and so has the accompanying documentation. With that breadth of options, nearly any automation idea can be turned into an Action.

Where to Start

For developers looking to build their first Action, the GitHub Actions course on Learning Lab is a reasonable entry point. The act repository itself is a good example to study, and the GitHub Marketplace offers plenty more for reference. Casey also publishes technical content on their blog.

act was among the projects to come out of the GitHub Actions Hackathon. More examples from that event are available on the GitHub Hackathon website, which also lists upcoming hackathons.