-
Notifications
You must be signed in to change notification settings - Fork 5
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: adjust helm chart appVersion before creating release #223
base: main
Are you sure you want to change the base?
Conversation
While I appreciate the effort of automating the release process, this doesn't prevent us from creating faulty tags, as it only sets the tag before creating the release. In case we forget to set the appVersion ourselves to the correct one, we've created a dissonance between the source of truth (our codebase) and the created artifact (the built helm chart pushed to the various registries). IMO we should select only one way of what the chart looks like:
We should select one and stick with it. Not mix and match just to make sure a chart with an incorrect |
@lvlcn-t I've removed the bug label, as this isn't a bug. Everything is working normally. It's a nice to have enhancement. |
@puffitos I understand your concerns about the release process and the potential for creating faulty tags. I agree that we should strive for a clear and reliable process using a single source of truth. New Behavior
Benefits
Addressing Concerns
Why Not Use Pre-Commit Hooks or Manual Updates?
Alternative Considerations
ConclusionI acknowledge that setting the chart |
a0d108b
to
a0a5dc8
Compare
How is git the source of truth? The changes aren't in git! The chart version and the appVersion are 0. Now you moved to replacing both versions using the makefile additionally, doubling down on the approach you've decided to take. Creating a tag and making a release is a simple task, I cannot justify the time and effort put into automating any of this. I'm afraid we are over-engineering the CI pipeline. There are only two variables (the versions) which are important and the tag itself. We don't have to automate everything. Our time should be spent with other tasks IMO. |
@puffitos Then how would you fix/prevent a new release that hasn't updated the versions in the
# This is the chart version. This version number should be incremented each time you make changes
# to the chart and its templates, including the app version.
# Versions are expected to follow Semantic Versioning (https://semver.org/)
version: 0.1.0
These problems might even require the bug label again since our current chart versioning does something essentially wrong. |
To be honest, by being mindful and disciplined. We should set up a clear process on how releases are made. We don't release every other day, we still have to write our release notes, we Tag our release branch manually. Some things are manual. I personally am fine with that. To avoid errors, PRs should be small in size. Take a look in the various PRs we've opened the last couple of months. Checks should be in place, to catch errors that happen. I'm pretty confident we can write a pre-push hook that just runs the commands you've added to ci. The maintainers of this repo should all have pre-commit installed. If they don't, then we should work on that. This is human error that can and should be fixed by human interaction. @y-eight @niklastreml feel free to chime in. If you all feel the same, then move on like this 👍 it's a valid approach to try and automate things that cause errors, but IMHO it's an over optimization. This adds complexity to the ci that we do not need. |
* ci: adjust helm chart appVersion before creating release * chore: update chart maintainers & bump appVersion Signed-off-by: lvlcn-t <[email protected]>
Signed-off-by: lvlcn-t <[email protected]>
…hart.yaml * refactor: add Chart.yaml template with Makefile for automatically adding version and appVersion * docs: auto regenerate chart README.md * chore: adjust workflow to use new chart template * chore: adjust pre-commit hook to use new make docs target Signed-off-by: lvlcn-t <[email protected]>
Signed-off-by: lvlcn-t <[email protected]>
Signed-off-by: lvlcn-t <[email protected]>
Signed-off-by: lvlcn-t <[email protected]>
Signed-off-by: lvlcn-t <[email protected]>
Signed-off-by: lvlcn-t <[email protected]>
* chore: rename Chart.yaml template to Chart.template.yaml for clarity * feat: add make gen target to generate Chart.yaml from Chart.template.yaml * chore: add Chart.yaml to .gitignore Signed-off-by: lvlcn-t <[email protected]>
a4375b1
to
a08c1f0
Compare
Motivation
To ensure that the Helm chart's
appVersion
is correctly set before creating a new release. Additionally, the chart maintainers were updated, and theappVersion
was bumped to keep the chart metadata current and accurate.Changes
appVersion
in the CI pipeline to update it before creating a release.appVersion
to align with the release process.For additional information look at the commits.
Tests done
Unit tests succeeded- not applicableE2E tests succeeded- not applicableTODO