"GitHub Actions are event-driven, meaning that you can run a series of commands after a specified event has occurred. For example, every time someone creates a pull request for a repository, you can automatically run a command that executes a software testing script."
They are a powerful system for automating many software development processes, and open source projects get unlimited compute hours for free! A sequence of steps in GitHub Actions are be combined together into a "workflow", which can furthermore contain multiple "jobs", which are run on multiple machines, with (if needed) multiple operating systems, in parallel. For more information, read GitHub's Introduction to GitHub Actions. However, workflows can be difficult to create and debug, because:
However, with ghapi you can write your workflows in Python and shell, and can do nearly all your development on your local machine. We'll start by importing from the library, along with fastcore: