| name | create-release |
| description | Create a GitHub release for hyAway by updating the changelog and tagging commits. Use when user wants to "release", "publish", "tag a version", or "create a release". Handles changelog updates and git tagging with date format (v2026.01.28). |
Create Release
Create releases with changelog entry and git tag.
Tag Format
vYYYY.MM.DD (e.g., v2026.01.28)
Process
- Update changelog for today's date in
docs/changelog.md
- Commit if there are uncommitted changes
- Push branch first:
git push (important: push before tagging!)
- Tag:
git tag -m "Release v2026.01.28" v2026.01.28
- Push tag:
git push origin v2026.01.28
Why push before tagging? git push --follow-tags only pushes tags pointing to commits in the push range. If HEAD is already on remote, the tag won't be included. Pushing branch first, then tagging and pushing the tag separately avoids this issue.
Once the tag reaches the remote, it triggers:
- GitHub release with changelog content extracted
- Docker image tagged
ghcr.io/hyaway/hyaway:v2026.01.28
Commands
rg "^## 2026-01-28$" docs/changelog.md
git tag --list v2026.01.28
git ls-remote --tags origin refs/tags/v2026.01.28
git push
git tag -m "Release v2026.01.28" v2026.01.28
git push origin v2026.01.28
git tag -m "Release v2026.01.28" v2026.01.28 <commit-hash>
git ls-remote --tags origin refs/tags/v2026.01.28
git tag -d v2026.01.28
git push origin :refs/tags/v2026.01.28
Important
- Changelog entry date must match tag:
v2026.01.28 expects ## 2026-01-28
- Tag must point to commit containing the changelog entry
- This repo may have
tag.gpgSign=true; plain git tag vYYYY.MM.DD can fail with fatal: no tag message?. Use git tag -m "Release vYYYY.MM.DD" vYYYY.MM.DD so signed or annotated tag configuration has an explicit message.
- Check both local and remote tags before creating a release tag, because the local tag may be absent even if the release already exists on origin.
- Old commits (before workflow existed) need manual dispatch via GitHub Actions UI