Add support for automated release creation via GitHub Tags
Summary
Implement an “auto-release” workflow that automatically creates a new GitHub Release whenever a tag is pushed. This will streamline our release process—especially for organizations on GitHub’s free plan that cannot use paid Actions like actions/create-release.
Motivation
Currently our repository lacks an automated way to publish releases. Manually creating releases is error‑prone and time consuming. By adding a simple shell‑script‑based workflow in .github/workflows/publish.yml, we enable zero‑touch release creation without requiring paid GitHub features.
Proposed Implementation
Use a shell script within a YAML workflow (instead of a proprietary Action) to call the GitHub REST API and create a release. This approach matches the implementation in these reference repositories:
Key points
- Trigger:
on: push with tags: ['v*.*.*']
- Steps:
- Checkout code
- Use
curl (or gh release create) in a shell script
- Populate release title/body from tag name and changelog (optional)
Acceptance Criteria
References
Add support for automated release creation via GitHub Tags
Summary
Implement an “auto-release” workflow that automatically creates a new GitHub Release whenever a tag is pushed. This will streamline our release process—especially for organizations on GitHub’s free plan that cannot use paid Actions like
actions/create-release.Motivation
Currently our repository lacks an automated way to publish releases. Manually creating releases is error‑prone and time consuming. By adding a simple shell‑script‑based workflow in
.github/workflows/publish.yml, we enable zero‑touch release creation without requiring paid GitHub features.Proposed Implementation
Use a shell script within a YAML workflow (instead of a proprietary Action) to call the GitHub REST API and create a release. This approach matches the implementation in these reference repositories:
Key points
on: pushwithtags: ['v*.*.*']curl(orgh release create) in a shell scriptAcceptance Criteria
.github/workflows/publish.ymlv*.*.*References