fix(helm): bump chart appVersion to the release it ships with - #7285
Merged
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
appVersion has been pinned at v0.7.44 since chart 1.2.0 while the app moved through forty-odd releases. It is the default tag for every first-party image (app, realtime, migrations, pii, copilot), so a helm install that does not pin image.tag deploys an application far behind the chart shipping with it — and any values key added by a newer chart is silently inert, because the running image has no code that reads it. The release tag is published by the main-branch merge commit that cuts it, so this lands on main together with v0.8.18. The kind install test also stops resolving its images through appVersion. That job installs the default configuration, so it pulled the tag appVersion names — which, on the very PR that raises appVersion, has not been published yet. The install would sit in ImagePullBackOff until --wait timed out. Pinning CI to the published :latest removes the circularity that kept appVersion frozen.
waleedlatif1
force-pushed
the
fix/helm-app-version
branch
from
August 30, 2026 19:04
34e042c to
6c1c882
Compare
Contributor
Greptile SummaryUpdates Helm chart 1.6.4 to default first-party workloads to the application release it ships with.
Confidence Score: 5/5The PR appears safe to merge with the coordinated v0.8.18 release. The chart metadata, documented upgrade behavior, and values example are consistent with the existing image-selection precedence, and no concrete blocking failure remains.
|
| Filename | Overview |
|---|---|
| helm/sim/Chart.yaml | Aligns the chart application version with release v0.8.18 and performs the required chart version increment. |
| helm/sim/README.md | Documents the default-image rollout caused by the corrected application version and clarifies that pinned images are unaffected. |
| helm/sim/values.yaml | Updates the illustrative image tag to match the chart's new application version. |
Reviews (1): Last reviewed commit: 34e042c | Re-trigger Greptile
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.
Closes the one helm finding on the v0.8.18 release PR (#7283).
The defect
helm/sim/Chart.yamlhas carriedappVersion: "v0.7.44"since chart 1.2.0, through forty-odd application releases.appVersionis not decoration —sim.imageuses it as the default tag wheneverimage.tagandimage.digestare both unset, which is the case for every first-party image in the shippedvalues.yaml:So
helm install sim helm/simwithout pinning a tag deploys a v0.7.44 application from a chart that ships v0.8.18 features. The second-order effect is worse than the version skew: every values key added by a newer chart is silently inert, because the image being deployed has no code that reads it. A key documented invalues.yamlappears to be set, the pod starts clean, and nothing happens.packages/sim-setupalready names this failure mode in a troubleshooting hint — "ImagePullBackOff on ghcr.io/simstudioai/ usually means the chart appVersion tag was never published — check Chart.yaml against ghcr"*.Why it stayed frozen for four minor versions
The chart CI's kind install test runs the default configuration, so it resolved its images through
appVersiontoo. Version tags are cut bydetect-versioninci.yml, which matches^(vX.Y.Z):against the main-branch merge commit message — so on the very PR that raisesappVersion, the tag it now names does not exist yet, andhelm install --waitsits in ImagePullBackOff until the 15-minute timeout. BumpingappVersionwas self-failing, and it silently stopped being bumped.That circularity is fixed here, not worked around:
ci/kind-values.yamlpins the three first-party images to the published:latest. The job asks whether the chart installs, not which application build it installs, so any published image answers it — and the answer no longer depends on an unpublished tag.Changes
appVersion→v0.8.18,version1.6.3 → 1.6.4 (required by the chart's own version-bump gate).ci/kind-values.yamlpinsapp/realtime/migrationsto:latest, with the reasoning in a comment so the next person does not re-couple them.README.mdgains an "Upgrading to 1.6.4" entry, matching the existing per-version convention — an unpinned release rolls every first-party pod on upgrade, so it is a documented behavior change.e.g. "v0.7.44"in thevalues.yamlexample comment moves with it.Verification
helm lint --values ci/default-values.yaml— cleanhelm templateagainstci/default-values.yaml,ci/full-values.yaml, and everyexamples/values-*.yaml— all renderghcr.io/simstudioai/{simstudio,realtime,migrations}:v0.8.18:latest, as the install job needsscripts/check-cron-parity.ts— 20 jobs matchv0.7.44,v0.8.16,v0.8.17,latestall resolve;v0.8.18404s until this release merges to main, which is the commit that publishes itgrepovertests/,ci/,examples/)Nothing in CI enforces that
appVersionmatches the release being cut — this removes the reason it could not be bumped, not the need to remember. Worth a follow-up if that should be a gate rather than a habit.