I recently had an opportunity to use GitHub Actions for building and publishing a simple website and decided to summarize my experience in this quick blog post.
What GitHub Actions are good for
Easy continuous integration (CI) solution. Automatically trigger a CI build for new code commits and pull requests to validate changes and run unit tests.
Get started quickly. GitHub Actions are well integrated with GitHub repos so no need to setup and integrate an external CI tool.
Programming language support. GitHub Actions support a wide variety of programming languages.
Cross-platform support. Linux, macOS and Windows runners are available to run your jobs.
Good starter workflow selection. Pick one of the available starter workflows or browse the marketplace for additional actions.
Built-in secret store. Securely store passwords and other sensitive information for use in your workflows.
What’s missing in GitHub Actions
No manual trigger. Workflows can only be triggered by one of the supported GitHub events or run on a schedule. Having a way to trigger workflows manually would make it much easier to rerun workflows without pushing fake commits to your repo.
No way to turn off a workflow. You can get creative and accomplish this with trigger conditions but there’s no simple on/off switch for workflows.
Limited release management capabilities. While GitHub Actions may work well for simple linear workflows, more complex projects targeting multiple environments will quickly run into limitations.
No graphical representation of workflows. YAML workflow files is the only way to define and vizualize the workflows which can be intimidating for beginners. A basic graphical interface for editing, or at least viewing workflows, would significantly reduce the barrier to entry.
If you haven’t done so yet, give GitHub Actions a try for yourself. Afterall, it’s absolutely free for public repositories and you get 2,000 free minutes per month for private repos!