Repository navigation
fix(helm): stamp Chart.yaml version on release - #414
Merged
Merged
Conversation
Follows the kopiur pattern: release-please now stamps version and appVersion in Chart.yaml (x-release-please-version annotations + extra-files) so a git-sourced install deploys a real image tag instead of the nonexistent 0.0.0. The release workflow still re-stamps both at package time; this keeps the repo copy from going stale. tuppr additionally gates chart docs staleness in CI (helm-docs-check), so the pattern needs two extra pieces kopiur did not: - The chart README version badges are also stamped (listed in extra-files). The release-please generic updater replaces only the first semver per annotated line and would swallow a shields.io `-color` path suffix as a prerelease, so the badges move off chart.badgesSection to the static/v1 query form with one version occurrence per line and an inline annotation, keeping helm-docs regeneration byte-identical after a stamp (verified by simulating the updater regex end to end). - The helm unittest image assertion now matches the repo:semver shape instead of a hardcoded 0.0.0 tag. Signed-off-by: Devin Buhl <devin@buhl.casa>
Removed commented lines related to Pod Security and image versioning. Signed-off-by: Devin Buhl <onedr0p@users.noreply.github.com>
Greptile SummaryUpdates release automation so each release stamps the Helm chart and generated documentation versions.
|
| Filename | Overview |
|---|---|
| charts/tuppr/Chart.yaml | Replaces placeholder chart metadata with release-please-annotated version and appVersion values. |
| charts/tuppr/README.md | Updates generated badges to independently stamp chart and application versions without ambiguous semver matches. |
| charts/tuppr/README.md.gotmpl | Replaces the stock badge section with output matching the release-please-compatible committed README. |
| charts/tuppr/tests/deployment_test.yaml | Verifies that the default rendered image uses a three-component semantic-version tag instead of a fixed placeholder. |
| release-please-config.json | Adds the chart metadata and generated README to the root package's release-time version updates. |
Reviews (1): Last reviewed commit: "Clean up comments in Chart.yaml" | Re-trigger Greptile
ajgon
pushed a commit
to deedee-ops/home-ops
that referenced
this pull request
Jul 23, 2026
…4.0 ➔ 0.4.1) (#412) This PR contains the following updates: | Package | Update | Change | |---|---|---| | [ghcr.io/home-operations/charts/tuppr](https://github.com/home-operations/tuppr) | patch | `0.4.0` → `0.4.1` | --- ### Release Notes <details> <summary>home-operations/tuppr (ghcr.io/home-operations/charts/tuppr)</summary> ### [`v0.4.1`](https://github.com/home-operations/tuppr/blob/HEAD/CHANGELOG.md#041-2026-07-23) [Compare Source](home-operations/tuppr@0.4.0...0.4.1) ##### Features - **talosupgrade:** lease-based Alertmanager silence during upgrade runs ([#​416](home-operations/tuppr#416)) ([00a8ffd](home-operations/tuppr@00a8ffd)) ##### Bug Fixes - **container:** update image ghcr.io/siderolabs/kubelet (v1.36.2 → v1.36.3) ([#​411](home-operations/tuppr#411)) ([1c2258f](home-operations/tuppr@1c2258f)) - **deps:** update kubernetes monorepo (v0.36.2 → v0.36.3) ([#​408](home-operations/tuppr#408)) ([69a12e0](home-operations/tuppr@69a12e0)) - **helm:** stamp Chart.yaml version on release ([#​414](home-operations/tuppr#414)) ([a769302](home-operations/tuppr@a769302)) - **release:** use the generic updater for Chart.yaml stamping ([#​415](home-operations/tuppr#415)) ([a64bd11](home-operations/tuppr@a64bd11)) - **talos:** handle unreachable nodes without stack-trace log spam ([#​413](home-operations/tuppr#413)) ([313dec8](home-operations/tuppr@313dec8)) ##### Miscellaneous Chores - **mise:** Update tool kubectl (1.36.2 → 1.36.3) ([#​407](home-operations/tuppr#407)) ([38a7513](home-operations/tuppr@38a7513)) </details> --- ### Configuration 📅 **Schedule**: (in timezone Europe/Warsaw) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yNzIuMiIsInVwZGF0ZWRJblZlciI6IjQzLjI3Mi4yIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbInJlbm92YXRlL2NvbnRhaW5lciIsInR5cGUvcGF0Y2giXX0=--> Reviewed-on: https://git.ajgon.casa/deedee/mark13/pulls/412
gabrielcosi
added a commit
to gabrielcosi/home-ops
that referenced
this pull request
Jul 23, 2026
…4.0 ➔ 0.4.1) (#64) This PR contains the following updates: | Package | Update | Change | |---|---|---| | [ghcr.io/home-operations/charts/tuppr](https://github.com/home-operations/tuppr) | patch | `0.4.0` → `0.4.1` | --- ### Release Notes <details> <summary>home-operations/tuppr (ghcr.io/home-operations/charts/tuppr)</summary> ### [`v0.4.1`](https://github.com/home-operations/tuppr/blob/HEAD/CHANGELOG.md#041-2026-07-23) [Compare Source](home-operations/tuppr@0.4.0...0.4.1) ##### Features - **talosupgrade:** lease-based Alertmanager silence during upgrade runs ([#​416](home-operations/tuppr#416)) ([00a8ffd](home-operations/tuppr@00a8ffd)) ##### Bug Fixes - **container:** update image ghcr.io/siderolabs/kubelet (v1.36.2 → v1.36.3) ([#​411](home-operations/tuppr#411)) ([1c2258f](home-operations/tuppr@1c2258f)) - **deps:** update kubernetes monorepo (v0.36.2 → v0.36.3) ([#​408](home-operations/tuppr#408)) ([69a12e0](home-operations/tuppr@69a12e0)) - **helm:** stamp Chart.yaml version on release ([#​414](home-operations/tuppr#414)) ([a769302](home-operations/tuppr@a769302)) - **release:** use the generic updater for Chart.yaml stamping ([#​415](home-operations/tuppr#415)) ([a64bd11](home-operations/tuppr@a64bd11)) - **talos:** handle unreachable nodes without stack-trace log spam ([#​413](home-operations/tuppr#413)) ([313dec8](home-operations/tuppr@313dec8)) ##### Miscellaneous Chores - **mise:** Update tool kubectl (1.36.2 → 1.36.3) ([#​407](home-operations/tuppr#407)) ([38a7513](home-operations/tuppr@38a7513)) </details> --- ### Configuration 📅 **Schedule**: (in timezone Europe/Berlin) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yNjkuMSIsInVwZGF0ZWRJblZlciI6IjQzLjI2OS4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJyZW5vdmF0ZS9jb250YWluZXIiLCJ0eXBlL3BhdGNoIl19--> Co-authored-by: Gabriel Cosi <contact@gabrielcosi.dev> Reviewed-on: https://git.xcd.dev/gabrielcosi/home-ops/pulls/64
eleboucher
pushed a commit
to eleboucher/homelab
that referenced
this pull request
Jul 24, 2026
…4.0 ➔ 0.4.1) (#1693) This PR contains the following updates: | Package | Update | Change | |---|---|---| | [ghcr.io/home-operations/charts/tuppr](https://github.com/home-operations/tuppr) | patch | `0.4.0` → `0.4.1` | --- ### Release Notes <details> <summary>home-operations/tuppr (ghcr.io/home-operations/charts/tuppr)</summary> ### [`v0.4.1`](https://github.com/home-operations/tuppr/blob/HEAD/CHANGELOG.md#041-2026-07-23) [Compare Source](home-operations/tuppr@0.4.0...0.4.1) ##### Features - **talosupgrade:** lease-based Alertmanager silence during upgrade runs ([#​416](home-operations/tuppr#416)) ([00a8ffd](home-operations/tuppr@00a8ffd)) ##### Bug Fixes - **container:** update image ghcr.io/siderolabs/kubelet (v1.36.2 → v1.36.3) ([#​411](home-operations/tuppr#411)) ([1c2258f](home-operations/tuppr@1c2258f)) - **deps:** update kubernetes monorepo (v0.36.2 → v0.36.3) ([#​408](home-operations/tuppr#408)) ([69a12e0](home-operations/tuppr@69a12e0)) - **helm:** stamp Chart.yaml version on release ([#​414](home-operations/tuppr#414)) ([a769302](home-operations/tuppr@a769302)) - **release:** use the generic updater for Chart.yaml stamping ([#​415](home-operations/tuppr#415)) ([a64bd11](home-operations/tuppr@a64bd11)) - **talos:** handle unreachable nodes without stack-trace log spam ([#​413](home-operations/tuppr#413)) ([313dec8](home-operations/tuppr@313dec8)) ##### Miscellaneous Chores - **mise:** Update tool kubectl (1.36.2 → 1.36.3) ([#​407](home-operations/tuppr#407)) ([38a7513](home-operations/tuppr@38a7513)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMDEuMSIsInVwZGF0ZWRJblZlciI6IjQzLjEwMS4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJyZW5vdmF0ZS9jb250YWluZXIiLCJ0eXBlL3BhdGNoIl19--> Reviewed-on: https://git.erwanleboucher.dev/eleboucher/homelab/pulls/1693
This was referenced Jul 24, 2026
onedr0p
added a commit
to home-operations/kromgo
that referenced
this pull request
Jul 24, 2026
charts/kromgo/Chart.yaml carried a `0.0.0` placeholder for version and
appVersion, so the committed chart (and its generated README badges) never
reflected a real release; only `helm package --version/--app-version` in the
release workflow produced a versioned chart. release-please now stamps both
fields, seeded from the current released version in
.release-please-manifest.json.
Chart.yaml is registered as a typed `{"type": "generic"}` extra-file rather
than a bare path: release-please picks its updater from the file extension, so
a plain `charts/kromgo/Chart.yaml` string selects the YAML updater, which
re-serializes the document (stripping every comment) and misses appVersion
entirely. The generic updater edits only the annotated lines in place.
The chart README is generated by helm-docs, so the badges must be
stamp-friendly: chart.badgesSection emits all three badges on one line and
embeds the version in both the alt text and a `-informational` shields path
segment, which the generic updater would mangle (it rewrites only the first
semver on an annotated line, and reads the `-color` suffix as a prerelease).
README.md.gotmpl now hand-rolls the badges using the static/v1 query form, one
per line, each with its own annotation.
The deployment test that pinned the default image to
`ghcr.io/home-operations/kromgo:0.0.0` now asserts the repo:semver shape, since
the tag floats with the stamped appVersion. Drops the matching stale note on
the helm-test task.
Ports home-operations/tuppr#414 and home-operations/tuppr#415.
Signed-off-by: Devin Buhl <devin@buhl.casa>
ajgon
pushed a commit
to deedee-ops/home-ops
that referenced
this pull request
Jul 28, 2026
…4.0 ➔ 0.4.1) (#412) This PR contains the following updates: | Package | Update | Change | |---|---|---| | [ghcr.io/home-operations/charts/tuppr](https://github.com/home-operations/tuppr) | patch | `0.4.0` → `0.4.1` | --- ### Release Notes <details> <summary>home-operations/tuppr (ghcr.io/home-operations/charts/tuppr)</summary> ### [`v0.4.1`](https://github.com/home-operations/tuppr/blob/HEAD/CHANGELOG.md#041-2026-07-23) [Compare Source](home-operations/tuppr@0.4.0...0.4.1) ##### Features - **talosupgrade:** lease-based Alertmanager silence during upgrade runs ([#​416](home-operations/tuppr#416)) ([00a8ffd](home-operations/tuppr@00a8ffd)) ##### Bug Fixes - **container:** update image ghcr.io/siderolabs/kubelet (v1.36.2 → v1.36.3) ([#​411](home-operations/tuppr#411)) ([1c2258f](home-operations/tuppr@1c2258f)) - **deps:** update kubernetes monorepo (v0.36.2 → v0.36.3) ([#​408](home-operations/tuppr#408)) ([69a12e0](home-operations/tuppr@69a12e0)) - **helm:** stamp Chart.yaml version on release ([#​414](home-operations/tuppr#414)) ([a769302](home-operations/tuppr@a769302)) - **release:** use the generic updater for Chart.yaml stamping ([#​415](home-operations/tuppr#415)) ([a64bd11](home-operations/tuppr@a64bd11)) - **talos:** handle unreachable nodes without stack-trace log spam ([#​413](home-operations/tuppr#413)) ([313dec8](home-operations/tuppr@313dec8)) ##### Miscellaneous Chores - **mise:** Update tool kubectl (1.36.2 → 1.36.3) ([#​407](home-operations/tuppr#407)) ([38a7513](home-operations/tuppr@38a7513)) </details> --- ### Configuration 📅 **Schedule**: (in timezone Europe/Warsaw) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yNzIuMiIsInVwZGF0ZWRJblZlciI6IjQzLjI3Mi4yIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbInJlbm92YXRlL2NvbnRhaW5lciIsInR5cGUvcGF0Y2giXX0=--> Reviewed-on: https://git.ajgon.casa/deedee/mark13/pulls/412
This file contains hidden or 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
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.
Follows the pattern from home-operations/kopiur@041549a: release-please stamps
versionandappVersioninChart.yamlon every release (x-release-please-versionannotations +extra-files), so a git-sourced chart install deploys a real image tag instead of the nonexistent0.0.0. The release workflow still re-stamps both athelm packagetime; this just keeps the repo copy from going stale.Applying the pattern verbatim would have broken tuppr's CI, so two extra pieces were needed:
The chart README is stamped too. tuppr gates chart-docs staleness in CI (
helm-docs-checkin the tests workflow, which also runs on pushes tomain). Since the README version badges are generated fromChart.yaml, a release PR that bumped onlyChart.yamlwould fail that check on the PR and then onmainafter merge. The README is therefore listed inextra-fileswith annotated badge lines. Two constraints from release-please's generic updater (verified against its source,src/updaters/generic.ts):-informationalcolor suffix as a prerelease (Version-0.4.0-informational→Version-0.4.1, corrupting the URL), so the version badges use thestatic/v1?label=...&message=0.4.0&color=...query form, where the version is delimited by&.Verified end to end by simulating the updater's exact regex/replacement on
Chart.yaml+README.mdand confirminghelm-docsregeneration is byte-identical afterwards - so release PRs keephelm-docs-checkgreen.The helm unittest image assertion matched a hardcoded
tuppr:0.0.0; it now asserts therepo:semvershape so it keeps passing as the stamped appVersion moves.Chart renders with
image: ghcr.io/home-operations/tuppr:0.4.0,helm-docs-checkpasses, helm lint passes, and all 54 chart unit tests pass.