Skip to content

fix(ci): persist identity-resolution appVersion bumps back to main - #1939

Merged
mozhaev-dev merged 3 commits into
mainfrom
fix/identity-resolution-appversion-bump
Jul 27, 2026
Merged

fix(ci): persist identity-resolution appVersion bumps back to main#1939
mozhaev-dev merged 3 commits into
mainfrom
fix/identity-resolution-appversion-bump

Conversation

@mozhaev-dev

@mozhaev-dev mozhaev-dev commented Jul 27, 2026

Copy link
Copy Markdown
Contributor

Summary

  • bump-descriptors and the final "commit version bumps back to main" step in build-images.yml staged a hardcoded list of backend subchart Chart.yaml files that never included src/backend/services/identity-resolution/helm/Chart.yaml. bump-service-appversions.sh bumps it correctly in the run's workspace, but since it was never git add-ed, the bump was silently discarded on every run. ci: persist authenticator/gateway appVersions + bump on manual rebuild #1890 fixed the identical gap for authenticator/gateway three days earlier; identity-resolution landed as a subchart the next day (feat(identity-resolution): cutover readiness — parity fixes, side-by-side deploy, schema ownership (#1602) #1918) and missed the same two lists.
  • Because the umbrella chart's appVersion computation already reads this file, the chart still "worked" on any release that also rebuilt identity-resolution in the same CI run (the bump landed in the workspace and got packaged, just never persisted to main). The first release afterward that didn't touch identity-resolution's source packaged whatever was last committed — the original "0.0.0-dev" placeholder, not a real GHCR tag.
  • On dev (identityResolution.deploy: true post-cutover), that rendered an unpullable image; the migrate initContainer got stuck in ImagePullBackOff, the umbrella upgrade hit its progress deadline, and Helm auto-rolled back — repeatedly, since nothing fixed the root cause between attempts.
  • One-time restore: appVersion set back to 2026.07.25.07.16-a122f77 — verified currently running on dev — so the next release packages an existing image instead of the placeholder.

Test plan

  • yamllint/actionlint on build-images.yml (no syntax break — validated locally with yaml.safe_load)
  • Next umbrella release on main should commit a real appVersion bump for identity-resolution back to main whenever its image is rebuilt
  • Dev auto-deploy stops flapping between the placeholder revision and the last good rollback

Summary by CodeRabbit

  • Bug Fixes

    • Improved release automation so identity-resolution Helm chart version updates are consistently saved during build and publishing workflows.
  • Chores

    • Updated the identity-resolution chart to a specific build version, replacing the development placeholder.

The bump-descriptors and "commit version bumps back to main" steps in
build-images.yml staged a hardcoded list of backend subchart
Chart.yaml files that never included
src/backend/services/identity-resolution/helm/Chart.yaml (bump-service-
appversions.sh does bump it correctly in the run's workspace — it's
just never git-added, so the bump is silently discarded). #1890 fixed
the identical gap for authenticator/gateway three days earlier;
identity-resolution landed as a subchart the next day (#1918) and
missed the same two lists.

Because the umbrella chart's appVersion computation already reads
this file (line ~1345, unaffected), the chart still "worked" on any
release that also rebuilt identity-resolution in the same CI run —
the bump landed in the workspace and got packaged, just never
persisted to main. The first release afterward that didn't touch
identity-resolution's source packaged whatever was last committed:
the original "0.0.0-dev" placeholder, which isn't a real GHCR tag.
On dev (where identityResolution.deploy is now true post-cutover),
that rendered an unpullable image, the migrate initContainer got
stuck in ImagePullBackOff, and the umbrella upgrade failed on its
progress deadline and auto-rolled back — repeatedly, since nothing
fixed the root cause between attempts.

One-time restore: set appVersion back to the last known-good tag
(2026.07.25.07.16-a122f77 — verified currently running on dev) so the
next release packages an existing image instead of the placeholder.

Signed-off-by: Sergei Mozhaev <mozhaev.dev@gmail.com>
@mozhaev-dev
mozhaev-dev requested a review from a team as a code owner July 27, 2026 08:48
@coderabbitai

coderabbitai Bot commented Jul 27, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 172329a7-4400-4f99-87fb-cb01e52b37f6

📥 Commits

Reviewing files that changed from the base of the PR and between 2ad0fe6 and cbc40d0.

📒 Files selected for processing (2)
  • .github/workflows/build-images.yml
  • src/backend/services/identity-resolution/helm/Chart.yaml

📝 Walkthrough

Walkthrough

The chart publishing workflow now stages the identity-resolution Helm chart in both version-persistence commits. Its appVersion is updated from the development placeholder to a specific build tag.

Changes

Identity-resolution chart version persistence

Layer / File(s) Summary
Persist chart version updates
.github/workflows/build-images.yml, src/backend/services/identity-resolution/helm/Chart.yaml
The identity-resolution chart receives a specific appVersion, and both descriptor and chart publishing commit steps stage its Chart.yaml.

Estimated code review effort: 1 (Trivial) | ~5 minutes

Possibly related PRs

Suggested reviewers: ktursunov

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly matches the main change: persisting identity-resolution appVersion bumps back to main in CI.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/identity-resolution-appversion-bump

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@mozhaev-dev
mozhaev-dev enabled auto-merge July 27, 2026 08:50
@mozhaev-dev
mozhaev-dev merged commit 38dcb05 into main Jul 27, 2026
48 of 50 checks passed
cyberantonz pushed a commit to cyberantonz/insight that referenced this pull request Jul 27, 2026
publish-chart's if-condition OR-list (the umbrella republish +
appVersion-commit gate) checked analytics/authenticator/gateway/
identity/toolbox/umbrella but never identity_resolution. A merge that
touches only identity-resolution's source (or, as just happened in
constructorfabric#1939, only its Chart.yaml/workflow wiring) rebuilds the image
(backend-identity-resolution + merge-identity-resolution both run)
but publish-chart never fires — so the fresh appVersion bump is
computed in the run's workspace and then silently dropped, same
end result as the two hardcoded git-add lists constructorfabric#1939 just fixed, via
a different mechanism (the job never runs at all here, instead of
running and failing to persist).

Caught by re-checking build-images.yml run 30255126297 (triggered by
constructorfabric#1939 itself): backend-identity-resolution/merge-identity-resolution
succeeded, but bump-descriptors and publish-chart both show up
`skipped` — the exact blind spot this commit closes.

Signed-off-by: Sergei Mozhaev <mozhaev.dev@gmail.com>
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.

3 participants