Skip to content

fix(helm): bump chart appVersion to the release it ships with - #7285

Merged
waleedlatif1 merged 1 commit into
stagingfrom
fix/helm-app-version
Aug 30, 2026
Merged

fix(helm): bump chart appVersion to the release it ships with#7285
waleedlatif1 merged 1 commit into
stagingfrom
fix/helm-app-version

Conversation

@waleedlatif1

@waleedlatif1 waleedlatif1 commented Aug 30, 2026

Copy link
Copy Markdown
Collaborator

Closes the one helm finding on the v0.8.18 release PR (#7283).

The defect

helm/sim/Chart.yaml has carried appVersion: "v0.7.44" since chart 1.2.0, through forty-odd application releases. appVersion is not decoration — sim.image uses it as the default tag whenever image.tag and image.digest are both unset, which is the case for every first-party image in the shipped values.yaml:

app.image.tag: ""          -> simstudio:v0.7.44
realtime.image.tag: ""     -> realtime:v0.7.44
migrations.image.tag: ""   -> migrations:v0.7.44
pii.image.tag: ""          -> pii:v0.7.44
copilot.server.image.tag: "" / copilot.migrations.image.tag: ""

So helm install sim helm/sim without 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 in values.yaml appears to be set, the pod starts clean, and nothing happens. packages/sim-setup already 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 appVersion too. Version tags are cut by detect-version in ci.yml, which matches ^(vX.Y.Z): against the main-branch merge commit message — so on the very PR that raises appVersion, the tag it now names does not exist yet, and helm install --wait sits in ImagePullBackOff until the 15-minute timeout. Bumping appVersion was self-failing, and it silently stopped being bumped.

That circularity is fixed here, not worked around: ci/kind-values.yaml pins 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

  • appVersionv0.8.18, version 1.6.3 → 1.6.4 (required by the chart's own version-bump gate).
  • ci/kind-values.yaml pins app/realtime/migrations to :latest, with the reasoning in a comment so the next person does not re-couple them.
  • README.md gains 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.
  • The stale e.g. "v0.7.44" in the values.yaml example comment moves with it.

Verification

  • helm lint --values ci/default-values.yaml — clean
  • helm template against ci/default-values.yaml, ci/full-values.yaml, and every examples/values-*.yaml — all render
    • default install resolves ghcr.io/simstudioai/{simstudio,realtime,migrations}:v0.8.18
    • with the kind overlay it resolves :latest, as the install job needs
  • scripts/check-cron-parity.ts — 20 jobs match
  • GHCR probe: v0.7.44, v0.8.16, v0.8.17, latest all resolve; v0.8.18 404s until this release merges to main, which is the commit that publishes it
  • No chart test or CI values file asserted the old tag (grep over tests/, ci/, examples/)

Nothing in CI enforces that appVersion matches 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.

@vercel

vercel Bot commented Aug 30, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
docs Ready Ready Preview Aug 30, 2026 7:06pm

Request Review

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.
@greptile-apps

greptile-apps Bot commented Aug 30, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

Updates Helm chart 1.6.4 to default first-party workloads to the application release it ships with.

  • Changes appVersion from v0.7.44 to v0.8.18 and increments the chart version.
  • Documents the resulting rollout behavior for unpinned installations.
  • Updates the image-tag example in the default values file.

Confidence Score: 5/5

The 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.

Important Files Changed

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

@waleedlatif1
waleedlatif1 merged commit 4851ae3 into staging Aug 30, 2026
29 of 30 checks passed
@waleedlatif1
waleedlatif1 deleted the fix/helm-app-version branch August 30, 2026 19:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant