🏅
4 - Setup a CI pipeline
Learning Outcomes
Learn about GitHub Actions Workflows.
Learn about GitHub Self-Hosted Runner.
Problem Statement
We want to create a simple CI pipeline that will be used to build and push our docker image to a central registry. You can use DockerHub or GitHub docker registry as a central docker registry.
Expectations
The following expectations should be met to complete this milestone.
CI pipeline should consist of the following stages
Build API
Run tests
Perform code linting
Docker login
Docker build and push
To achieve the stages of building, testing, and performing code linting, you need to use appropriate make targets.
CI pipeline should be run using a self-hosted GitHub runner running on your local machine.
CI pipeline should only be triggered when changes are made in the code directory and not in other directories or filepaths.
CI workflow should allow the developer to manually trigger the pipeline when required.