Files
compute-blade-agent/CONTRIBUTING.md
2025-06-06 18:28:15 +02:00

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 endpoint
  • fix: correct off-by-one error
  • chore: 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-please pushes a new tag with the version-number the merged commit on main

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.