cluster-operator
cluster-operator copied to clipboard
Build Cluster Operator images in GitHub Actions
Description
Our current build system in Concourse uses oci-build-task, which seems to have a limitation to support multi platform images, as described in https://github.com/concourse/oci-build-task/issues/85
As a potential solution, we could move the image baking process to GitHub Actions, using the build-push-action.
Additional information
One gotcha we have to look out for is the output of this task; we want to produce an OCI image output, not a docker image output. Both are compatible with each other, one is Docker specific, and the other is an open specification. We want to use OCI to ensure compatibility across registry implentation and container technologies.
Our internal CI system is running unit tests before building Cluster Operator images for every commit made to main branch. We can move the unit tests to GitHub Actions as well, before building an OCI for a specific commit. Lifting the tests to Actions is optional.
Our internal CI system runs system tests on every image it builds. We have to adapt our CI to take the image baked in GitHub Actions.
Tasks
- [ ] (Optional) Create an Action to run unit tests on every commit to
main - [ ] Create an Action to build multi platform (amd64 + arm64) OCI image
- [ ] Adapt our internal CI to run system tests on images produced by Actions