CI/CD
Summary
In true CI/CD fashion, I've added a .gitlab-ci.yml
which has:
- Jobs that run on all branches
- hadolint: Make sure the Dockerfile is clean.
- format: Check the formatting of all golang source.
- test: Run tests and check coverage.
- Jobs that run on the default branch
- build-amd64: Build an x86_64 docker image
- build-arm64: Build an arm_64 docker image
- deploy: Deploy the built image specified by the
TARGET_ARCH
environment variable. This can be overridden when kicking off pipelines.