Skip to content

ci: add tag-triggered release workflow#19

Merged
azmym merged 1 commit into
mainfrom
ci/release-workflow
May 29, 2026
Merged

ci: add tag-triggered release workflow#19
azmym merged 1 commit into
mainfrom
ci/release-workflow

Conversation

@azmym

@azmym azmym commented May 29, 2026

Copy link
Copy Markdown
Owner

Summary

Closes the recurring "merged but never released" gap. v0.4.0, v0.4.1, and v0.5.0 all merged to main with a bumped plugin.json but no tag/release, so the marketplace kept serving an older version until a release was cut by hand each time.

This adds .github/workflows/release.yml: on a v*.*.* tag push it creates the GitHub release automatically.

How it works

  1. You push a tag (git tag -a vX.Y.Z && git push origin vX.Y.Z).
  2. The workflow:
    • Verifies the tag matches .claude-plugin/plugin.json version (fails loudly on mismatch, so you can't ship a tag that disagrees with the manifest).
    • Extracts the ## [X.Y.Z] section from CHANGELOG.md as the release notes (fails if there is no such section).
    • Runs gh release create vX.Y.Z --notes-file ... --latest.

You still decide when to release (by tagging); the workflow removes the manual gh release create step and the risk of forgetting it. No third-party actions are used (only actions/checkout and the built-in gh), and it uses the built-in github.token with contents: write.

Also

  • Adds a Releasing section to CONTRIBUTING.md documenting the tag-and-push flow and the "a merged PR alone does not publish" caveat.
  • Fixes a stale "All 69 tests" line in CONTRIBUTING (test count moves over time).

Testing

  • Validated the workflow YAML parses.
  • Tested the CHANGELOG-extraction awk against the real CHANGELOG for 0.5.0: it returns exactly the ### Added block.
  • Verified the version-match guard against the current manifest.
  • bats tests/: 81 tests, all green.

Note: this workflow only fires on future tag pushes; v0.5.0 was already released manually.

@azmym azmym added the Claude_Code Changes made by Claude Code label May 29, 2026
@azmym azmym self-assigned this May 29, 2026
@azmym azmym merged commit 4b0cae1 into main May 29, 2026
2 checks passed
@azmym azmym deleted the ci/release-workflow branch May 29, 2026 17:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Claude_Code Changes made by Claude Code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant