Skip to content

fix: support repositories with immutable releases enabled#587

Open
chrisburr wants to merge 1 commit intohelm:mainfrom
chrisburr:fix/immutable-releases
Open

fix: support repositories with immutable releases enabled#587
chrisburr wants to merge 1 commit intohelm:mainfrom
chrisburr:fix/immutable-releases

Conversation

@chrisburr
Copy link

Summary

GitHub's immutable releases feature (GA since Oct 2025) prevents modifying release artifacts after the release is created. This broke chart-releaser because it creates the release first, then uploads assets in a separate API call.

This fix creates releases as drafts first, uploads assets, then publishes the release. Draft releases can be modified until they are published, which allows the asset upload to succeed.

Changes

  • Modified CreateRelease in pkg/github/github.go to:
    1. Create releases as drafts (Draft: true)
    2. Upload all assets
    3. Publish the release by setting Draft: false

Related Issues

References

GitHub's immutable releases feature (GA since Oct 2025) prevents
modifying release artifacts after the release is created. This broke
chart-releaser because it creates the release first, then uploads
assets in a separate API call.

This fix creates releases as drafts first, uploads assets, then
publishes the release. Draft releases can be modified until they
are published, which allows the asset upload to succeed.

Fixes helm/chart-releaser-action#228

See: https://github.blog/changelog/2025-10-28-immutable-releases-are-now-generally-available/
Signed-off-by: Chris Burr <christopher.burr@cern.ch>
@chrisburr chrisburr force-pushed the fix/immutable-releases branch from df6a459 to de894ed Compare January 19, 2026 14:17
chrisburr added a commit to chrisburr/diracx-charts that referenced this pull request Jan 19, 2026
GitHub's immutable releases feature (GA since Oct 2025) breaks the
standard chart-releaser because it creates releases first, then uploads
assets separately. With immutable releases, once the release is created,
assets cannot be added.

This workaround builds a patched chart-releaser from
helm/chart-releaser#587 that creates releases
as drafts first, uploads assets, then publishes the release.

Relates to: helm/chart-releaser-action#228
chrisburr added a commit to chrisburr/diracx-charts that referenced this pull request Jan 19, 2026
GitHub's immutable releases feature (GA since Oct 2025) breaks the
standard chart-releaser because it creates releases first, then uploads
assets separately. With immutable releases, once the release is created,
assets cannot be added.

This workaround builds a patched chart-releaser from
helm/chart-releaser#587 that creates releases
as drafts first, uploads assets, then publishes the release.

Relates to: helm/chart-releaser-action#228
chrisburr added a commit to DIRACGrid/diracx-charts that referenced this pull request Jan 19, 2026
* fix: workaround for immutable releases breaking chart-releaser

GitHub's immutable releases feature (GA since Oct 2025) breaks the
standard chart-releaser because it creates releases first, then uploads
assets separately. With immutable releases, once the release is created,
assets cannot be added.

This workaround builds a patched chart-releaser from
helm/chart-releaser#587 that creates releases
as drafts first, uploads assets, then publishes the release.

Relates to: helm/chart-releaser-action#228

* chore: bump chart version to 1.0.4
@chrisburr
Copy link
Author

@jkroepke
Copy link

That looks good to me.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

It fails on cr upload whenever immutable release is on

2 participants