Skip to content

ci: auto-bump flash chart version on image bump (1/3 one-step deploy)#428

Merged
islandbitcoin merged 1 commit into
mainfrom
ci/auto-bump-chart-version
Jul 3, 2026
Merged

ci: auto-bump flash chart version on image bump (1/3 one-step deploy)#428
islandbitcoin merged 1 commit into
mainfrom
ci/auto-bump-chart-version

Conversation

@islandbitcoin

Copy link
Copy Markdown
Contributor

Summary

Automates the manual Chart.yaml version bump (3.2.11 → 3.2.12) that gates every deploy.

ci/tasks/bump-image-digest.sh (which generates the bump-flash-image PR to the charts repo) already sets the image digests and appVersion, but left the chart version alone. That was a manual edit — and a load-bearing one:

  • package-releases.sh publishes with helm push … | grep -v "already exists", so an unchanged version makes the push silently no-op and the OCI registry keeps the stale chart.
  • make flash ENV=test (terraform helm_release pinned to oci://ghcr.io/brh28 version 3.2.11) then re-pulls the old image.

Confirmed on the jumpbox: TEST runs chart flash-3.2.11 from repository = oci://ghcr.io/brh28, so OCI-semver is the live deploy path.

This increments the chart's semver patch alongside the digest/appVersion bump, so every image bump is a distinct publishable/deployable version. Verified the awk logic (3.2.11→3.2.12, multi-digit rollover 99→100) and bash -n.

Part of a 3-piece one-step-deploy change

  1. (this PR) auto-bump the chart version here.
  2. charts repo: publish the new version to OCI on merge (so package-releases runs automatically).
  3. charts/deployments: sync the terraform version pin in tf-modules/flash/main.tf to the published version.

After all three, a deploy is just make flash ENV=test.

🤖 Generated with Claude Code

The image-bump pipeline set the image digests and appVersion in the flash
chart but left Chart.yaml `version` unchanged — a manual edit every deploy.
That version is load-bearing: package-releases.sh publishes with
`helm push ... | grep -v "already exists"`, so an unchanged version makes
the push silently no-op and the OCI registry keeps the stale chart; a
`make flash ENV=<env>` apply (terraform helm_release pinned to that version)
then re-pulls the old image.

Increment the chart's semver patch alongside the digest/appVersion bump so
every image bump produces a distinct, publishable, deployable chart version.

Piece 1 of 3 toward a one-step deploy (this repo). Companion charts-repo
work publishes the new version to OCI on merge and syncs the terraform
version pin in deployments.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@islandbitcoin islandbitcoin merged commit 97b9ff4 into main Jul 3, 2026
14 checks passed
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.

2 participants