Motivation

Proaction was created to codify best practices when building CI workflows using GitHub Actions. Without following best practices, build artifacts are not reproducible and workflows are not reliable.

Avoid Reactive Mode

A development team is busy and relies on automation such as GitHub Actions to perform tedious, routine and difficult tasks. A good automated workflow is both more reliable than a manual one, and quicker. But when something doesn't work right, the development team has to scramble and be reactive. When a build fails, fixing the build failure becomes the top task of the team, often putting scheduled work on hold.

Debugging these failures can be tricky. It's often easy enough to debug a failure when it's related to broken code, or something in the commit. But when it's unrelated, and the process worked yesterday but not today, then it takes hard work to figure out what happened.

Workflows can and should be written to avoid the possibility of them breaking unexpectedly.

Creating reproducible builds is time consuming because you still need to keep them updated. You need a tool to help tell you when there's a new version (major, minor or patch) of a depenency or Action and give you a way to automatically update your workflow to use the update.

Ultimately, you, the workflow author, should have control over when to pull in the updates instead of always pulling from "master".

The motivation for creating Proaction was to make a simple CLI that can create real-time recommendations for a workflow file. Running this at any time will suggest updates and best practices to change a workflow. But now you can get control of the update cycle by deciding when and how often to run Proaction, and no longer be at risk of a dependency updating and breaking your workflow.