-
Notifications
You must be signed in to change notification settings - Fork 22
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ci: refactor release #906
Merged
Merged
ci: refactor release #906
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This comment has been minimized.
This comment has been minimized.
chrisgacsal
force-pushed
the
refactor-ci-release
branch
from
November 6, 2023 07:59
625bfd0
to
bbb97c8
Compare
This comment has been minimized.
This comment has been minimized.
Example for CHANGELOG generated.1.1.1 - 2023-11-06Bug Fixes
Documentation
Features
Miscellaneous Tasks
Refactor
Testing |
chrisgacsal
force-pushed
the
refactor-ci-release
branch
from
November 6, 2023 12:37
bbb97c8
to
f5b3dbf
Compare
chrisgacsal
added
enhancement
New feature or request
ci
Continious Integration related PRs
labels
Nov 6, 2023
chrisgacsal
force-pushed
the
refactor-ci-release
branch
from
November 6, 2023 12:41
f5b3dbf
to
8152663
Compare
This comment has been minimized.
This comment has been minimized.
chrisgacsal
force-pushed
the
refactor-ci-release
branch
from
November 6, 2023 12:56
eeae282
to
da63d5a
Compare
This comment has been minimized.
This comment has been minimized.
Add `dist-vmclarity-cli` target to Makefile for cross-compiling vmclarity-cli go binary and packaging them into tar archives which are used in CI as release artifacts.
* generate changelog * upload artifacts * switch to ncipollo/release-action publishing releases
chrisgacsal
force-pushed
the
refactor-ci-release
branch
from
November 6, 2023 19:00
da63d5a
to
453b8e5
Compare
Hey! Your images are ready:
|
pbalogh-sa
approved these changes
Nov 7, 2023
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
This was referenced Nov 8, 2023
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Refactor the way how VMClarity in order to have more flexibility regarding the content of the Release Notes and how artifacts are assembled and published.
Notable Changes
How release artifacts are bundled
The
Makefile
is extended with targets group underRelease
section.$ make help ... Release dist-vmclarity-cli Create vmclarity-cli release artifacts dist-cloudformation Create AWS CloudFormation release artifacts dist-bicep Create Azure Bicep release artifacts dist-docker-compose Create Docker Compose release artifacts dist-gcp-deployment Create Google Cloud Deployment bundle dist-helm-chart Create Helm Chart bundle publish-helm-chart Publish Helm Chart bundle to OCI registry generate-release-notes Generate Release Notes
dist-*
targets are for packaging installation manifests targeting platforms which are supported by VMClarity for deploymentpublish-helm-chart
target is meant to be used only from CI for publishing Helm Chart to OCI registry (currentlyghcr.io/openclarity/charts
)generate-release-notes
target invokesgit-cliff
to generate CHANGELOG.mdAll artifacts generated are the under the
dist
directory.How artifacts are generated
Each artifact bundle includes a tarball and a SHA256 digest files. Artifacts are updated with the latest release information before packaging.
There is a special
<artifact-name>.bundle
file created for each bundle which is used to conformmake
when it comes to detect changes.How release notes are generated
Previously the Release Notes were generated by GitHub however we wanted to have a more sophisticated solution for this in order to have a more structured and detailed information shared for each release.
Release Notes are generated by using
git-cliff
which does provide the flexibility we need like:Artifacts published
How release is created
New release can be triggered the same way as before by creating and pushing a new annotated
git
tag.In future releases we might want to use the body of the
git
tag for populating the header of the Release Notesby including important changes/milestones included in the release.
git-cliff
makes it easy to do.The CI pipeline is adjusted to allow pushing
git
tags for RC releases. Please note that the tags must conform the semver specification with the exception for havingv
prefix added to the version string used in tags.Enforcing valid semver git tags for releases is not in place and will be added at a later point.
What happened to goreleaser
goreleaser
is an awesome project and served us well, however some of its features we would like to use is only available in paid version.So we had to replace the functionality provided by
goreleaser
with other tools.Type of Change
[ ] Bug Fix
[ ] New Feature
[ ] Breaking Change
[x] Refactor
[ ] Documentation
[ ] Other (please describe)
Checklist