Introduction
- Automation saves time and improves reproducibility by capturing repeatable processes like testing, linting, and building code into scripts or pipelines.
 - Continuous Integration (CI) is the practice of automatically running tasks and checks each time code is updated, helping catch issues early and improving collaboration.
 - Integrating smaller, frequent code updates is more manageable and less error-prone than merging large changes all at once.
 - CI pipelines can run on many platforms and environments using cloud-based services (e.g. GitHub Actions, Travis CI) or self-hosted solutions (e.g. Jenkins, GitLab CI).
 - CI can be extended to Continuous Delivery/Deployment (CD) to automatically package and deliver software updates to users or deploy changes to live systems.
 
Example Code
- FIXME
 
Defining a Workflow
- FIXME
 
Tracking a Running Workflow
- FIXME
 
Build Matrices
- FIXME