Skip to content

ci(release): retire chart-releaser, publish the chart from release-please - #179

Merged
alix-graylog merged 5 commits into
mainfrom
wave-5-publishing-cutover
Aug 27, 2026
Merged

ci(release): retire chart-releaser, publish the chart from release-please#179
alix-graylog merged 5 commits into
mainfrom
wave-5-publishing-cutover

Conversation

@alix-graylog

@alix-graylog alix-graylog commented Aug 21, 2026

Copy link
Copy Markdown
Collaborator

Retires chart-releaser. Release-please now creates the tag and the release, and a new reusable workflow packages the chart, attaches the tarball to that release, and merges one entry into index.yaml on gh-pages.

Changes

  • Adds .github/workflows/release-graylog.yaml, called from release-please.yaml when a release is cut.
  • Drops skip-github-release, so release-please owns the release.
  • Deletes .github/workflows/release.yaml. Both workflows use the name graylog-X.Y.Z, so leaving chart-releaser active would put two things on the same tag.

Two things not to simplify

The publish job is a workflow_call from inside the release-please run, not a release- or tag-triggered workflow. Refs created with GITHUB_TOKEN raise no workflow events, so on: release: published and tag pushes never fire.

The index is merged, never regenerated. Packages live as release assets, so gh-pages holds no tarballs, and regenerating from that directory would drop every historical entry. A step records each version and URL before the merge and fails before pushing if any would disappear or change, exempting the version being published.

After merge

Publishing goes live. The next release PR that merges publishes for real. Check that index.yaml gains one entry and that the 0.1.0 and 1.0.0 URLs are untouched.

Rollback is restoring release.yaml, re-adding skip-github-release, and removing the publish-chart job. gh-pages is an ordinary branch if the index needs reverting.

release-please now creates the tag and the release, and a new reusable workflow
packages the chart, attaches the tarball and merges a new entry into the Helm
repository index on gh-pages. chart-releaser is deleted in the same commit:
leaving it active would put two things on the same graylog-X.Y.Z name.

The publish job is a workflow_call from inside the release-please run, not a
release- or tag-triggered workflow. Refs created with GITHUB_TOKEN raise no
workflow events, so those triggers would never fire.

The index is merged, never regenerated. Packages live as release assets, so
gh-pages holds no tarballs and regenerating from that directory would drop every
historical entry and rewrite every URL. A guard records each (version, url) pair
before the merge and fails before pushing if any would disappear or change,
exempting the version being published.

The artifacthub.io/changes annotation is generated here, before packaging, from
the CHANGELOG.md of the tag being published, and is never committed. That is
what the removal of the release-PR sync step was waiting on.
@alix-graylog alix-graylog added the infrastructure Internal code infrastructure. label Aug 21, 2026
@alix-graylog alix-graylog self-assigned this Aug 21, 2026
@alix-graylog alix-graylog changed the title chore: Publishing cutover ci(release): retire chart-releaser, publish the chart from release-please Aug 27, 2026
@alix-graylog
alix-graylog marked this pull request as ready for review August 27, 2026 19:38
@alix-graylog
alix-graylog merged commit 78f4227 into main Aug 27, 2026
5 checks passed
@alix-graylog
alix-graylog deleted the wave-5-publishing-cutover branch August 27, 2026 19:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

infrastructure Internal code infrastructure.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants