mirror of
https://github.com/compute-blade-community/compute-blade-agent.git
synced 2026-04-16 15:35:42 +02:00
1.9 KiB
1.9 KiB
Contributing
Releases
This project uses release-please and goreleaser to automate releases based on conventional commits.
Releases are semi-automated and follow this flow:
1. Merge Code to main
All new features, fixes, and changes are merged into the main branch via pull requests using Conventional Commits.
Examples:
feat: add new API endpointfix: correct off-by-one errorchore: update dependencies
2. Release PR is Auto-Created
Once a commit is merged into main, a GitHub Action runs release-please, which:
- Calculates the next version (e.g.,
v0.9.1) - Creates a pull request (e.g.,
chore: release v0.9.1) - Includes a generated changelog in
CHANGELOG.md
📌 Note: This PR should not be edited manually. If something is wrong, fix the commit messages instead.
3. Merge the Release PR
Once the release PR is approved and merged:
- The changelog and version bump are committed to
main release-pleasepushes a new tag with the version-number the merged commit onmain
4. Tag Triggers goreleaser
A GitHub Action watches for v* tags and runs goreleaser, which:
- Builds all binaries and artifacts
- Publishes them to GitHub Releases
- Optionally signs and pushes container images (if configured)
- Attaches additional files (e.g., firmware, config) as release assets
Once complete, the new GitHub Release is available at: github.com/compute-blade-community/compute-blade-agent/releases
Notes
- Never push tags manually.
- Only edit the changelog through conventional commits and
release-please. - You can retry failed releases by deleting the failed tag and re-merging the release PR or re-running the workflow.