CI/CD Refactoring & Release pipeline
arm4b opened this issue · 0 comments
arm4b commented
As a follow-up to v2.0.0, refactor CD based on the previous discussions in the #285 (review) and #292 issue.
Overrides closes #197
The source of truth behind the versioning should be a tag name and GitHub release as an event.
Outside of that, would be nice adding some CI checks in the pipeline (on a PR) and integrating it with the: https://github.com/marketplace/actions/tagging-strategy and https://github.com/marketplace/actions/build-and-push-docker-images.
The Plan
- Make base + pre-built image generation part of one workflow (
pre-built
to depend onbase
) - Push to
main
branch should produce a:dev
Docker tag for Omnibus - New release event should trigger the CD pipeline for pre-built images
- image tagging is based on release version
- Add ability to control the
latest
tag viapre-release
(see #285) - Integrate with https://github.com/marketplace/actions/tagging-strategy
- Integrate with https://github.com/marketplace/actions/build-and-push-docker-images (if possible)
- CI
- CI: Make image generation (CI) without docker push (CD) as a check to verify that the images could be built with no issues on PR
- CI: Make docs build (CI) without push as part of PR check
The changes/releases should be tested first in the fork to avoid affecting prod bitovi/bitops
repo.