Continuous integration with GitHub Actions
Continuous integration involves automating workflows that live in a centralized location to ensure various things about the code being written. What exactly it does is up to you, but the most common use case is to build, test, and lint the code as changes are made. This process provides an automated way to ensure only valid code is being merged into your project's repository.
There are numerous providers that can be used for this; however, given GitHub is the most likely place your project will be hosted, and because it already has some good tooling for Crystal, we are going to be using GitHub Actions for our continuous integration needs.
Before we get into setting up our workflows, we should first think about everything that we want them to do. Based on what we did in the last few chapters, I came up with this list:
- Ensure the code is formatted correctly.
- Ensure coding standards against the code via Ameba.
- Ensure...