Skip to content

ci: publish a GitHub Release from CHANGELOG.md on v* tag push - #22

Merged
piotr-roslaniec merged 1 commit into
masterfrom
release-publish-workflow
Sep 19, 2026
Merged

piotr-roslaniec merged 1 commit into
masterfrom
release-publish-workflow

Conversation

@piotr-roslaniec

Copy link
Copy Markdown

Summary

Adds .github/workflows/release.yml: triggers on v* tag pushes and
publishes a GitHub Release using the matching ## [X.Y.Z] section of
CHANGELOG.md (Keep a Changelog format) as the release body, via
softprops/action-gh-release.

Fails the job loudly if no matching section exists, rather than publishing an
empty-body release (e.g. if a version's changelog section hasn't been
authored/renamed from [Unreleased] yet).

Independent of and does not touch/duplicate the existing gofmt.yml/test.yml
jobs. No release is cut by this PR; it only wires the automation for whenever
one is.

Verification

  • YAML parses cleanly (`python3 -c "import yaml; yaml.safe_load(open('.github/workflows/release.yml'))"``)
  • Trigger scoped to v* tags only (asserted on == {push: {tags: ['v*']}})
  • Extraction logic tested against a synthetic multi-version CHANGELOG (middle section and EOF-terminated final section both extract correctly)
  • git diff --stat against gofmt.yml/test.yml: empty

Extracts the section matching the pushed tag's version (Keep a Changelog
format) and publishes it as the release body via softprops/action-gh-release.
Release-publishing only; does not touch or duplicate gofmt.yml/test.yml.
@piotr-roslaniec
piotr-roslaniec changed the base branch from master to dev September 18, 2026 08:41
@piotr-roslaniec
piotr-roslaniec changed the base branch from dev to master September 18, 2026 09:05
@piotr-roslaniec
piotr-roslaniec merged commit 1cd3f0b into master Sep 19, 2026
2 checks passed
@piotr-roslaniec
piotr-roslaniec deleted the release-publish-workflow branch September 19, 2026 17:07
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.

1 participant