fix(ci): stop helm release PRs from piling up and going stale#42209
Open
rusackas wants to merge 3 commits into
Open
fix(ci): stop helm release PRs from piling up and going stale#42209rusackas wants to merge 3 commits into
rusackas wants to merge 3 commits into
Conversation
The helm release workflow cut a new helm-publish-<sha> branch from gh-pages on every helm-touching push, opening a fresh PR each time. Because these PRs are merged manually, they accumulated; as soon as gh-pages moved, the older ones conflicted on index.yaml and had to be closed by hand as superseded (10 of the last 15 died this way). Use a single fixed helm-publish branch instead, force-recreated from the tip of gh-pages on every run. chart-releaser rebuilds index.yaml from all published GitHub releases, so the one evergreen PR always carries every chart released since the last merge and can never conflict. The PR step now reuses an open PR for the branch rather than failing with a 422, and a concurrency group serializes runs so they don't race on the shared branch. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
rusackas
requested review from
betodealmeida,
dpgaspar,
eschutho,
geido,
hainenber,
kgabryje,
mistercrunch,
nytai,
sadpandajoe,
sha174n and
villebro
as code owners
July 18, 2026 22:12
Contributor
|
Bito Automatic Review Skipped - Files Excluded |
Sweeps any still-open per-SHA helm-publish-* PRs from the previous scheme after reusing or creating the evergreen PR, commenting with a pointer to the PR that now carries all unreleased charts. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
… exists A helm/** push without a Chart.yaml version bump repackages the already-released version, and cr upload aborts on the existing tag (422 already_exists), skipping the index rebuild and PR step entirely (seen on master run 29662544903). Pass skip_existing so the upload is skipped and the run proceeds to refresh the index and release PR. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
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.
SUMMARY
The "Helm: release charts" workflow cuts a new
helm-publish-<sha>branch fromgh-pageson every helm-touching push tomaster, and opens a fresh PR each time. Since these PRs are merged manually (by design), they accumulate — and the momentgh-pagesmoves, the older ones conflict onindex.yaml(adjacent version entries plus thegenerated:timestamp) and have to be hunted down and closed as superseded. Of the last 15 of these PRs, 10 were closed unmerged that way (e.g. #42207, #41692, #41501, #41384, #41345, #41291, #41134).This changes the workflow to use a single fixed
helm-publishbranch, force-recreated from the tip ofgh-pageson every run:chart-releaserrebuildsindex.yamlfrom all published GitHub releases, the branch always carries every chart released since the last merge (this is the same consolidation behavior we already saw in Helm chart release for helm-publish-de390f2 #41167), so nothing is lost when runs happen back-to-back.origin/gh-pages, so the PR can never go stale or conflict.The manual review-and-merge step is intentionally unchanged.
Not addressed here (not fixable in-repo): the Netlify docs-preview checks fail on these gh-pages-based PRs because that branch has no docs site to build. That's a Netlify site setting (limit deploy previews to PRs targeting
master) — worth flipping in the Netlify UI, but it's cosmetic noise, not what kills the PRs.BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF
N/A (CI workflow change)
TESTING INSTRUCTIONS
helm/(orworkflow_dispatchthe workflow).helm-publishbranch is force-created fromgh-pagesand a single "Helm chart release" PR opens againstgh-pages.ADDITIONAL INFORMATION
🤖 Generated with Claude Code