Release Process
This document describes how to prepare and publish a new release via a Pull Request from a fork, and how to set a development version after the release.
✅ Overview of the Process
Step |
Actor |
Action |
|---|---|---|
1 |
Contributor |
Prepare a release branch in your fork |
2 |
Contributor |
Open a Pull Request to upstream ( |
3 |
Maintainer |
Review and merge the release PR |
4 |
CI |
Create the GitHub Release and tag |
5 |
CI |
Set the development version marker via a follow-up PR |
🔄 Detailed Workflow
1️⃣ Contributor: Prepare the Release in Your Fork
Clone and sync your fork
git clone https://github.com/<your-username>/EOS
cd EOS
git remote add eos https://github.com/Akkudoktor-EOS/EOS
git fetch eos
git checkout main
git pull eos main
Create the release branch
git checkout -b release/vX.Y.Z
Bump the version information
Set __version__ in src/akkudoktoreos/core/version.py
__version__ = 0.3.0
Prepare version by updating versioned files, e.g.:
config.yaml
and the generated documentation:
make prepare-version
Check the changes by:
make test-version
Create a new CHANGELOG.md entry
Edit CHANGELOG.md
Create the new release commit
Add all the changed version files and all other changes to the commit.
git add src/akkudoktoreos/core/version.py CHANGELOG.md ...
git commit -s -m "chore: Prepare Release v0.3.0"
Push the branch to your fork
git push --set-upstream origin release/v0.3.0
2️⃣ Contributor: Open the Release Preparation Pull Request
From |
To |
|---|---|
|
|
PR Title:
chore: prepare release vX.Y.Z
PR Description Template:
## Prepare Release vX.Y.Z
This pull request prepares release **vX.Y.Z**.
### Changes
- Version bump
- Changelog update
### Changelog Summary
<!-- Copy key highlights from CHANGELOG.md here -->
See `CHANGELOG.md` for full details.
3️⃣ Maintainer: Review and Merge the Release PR
Review Checklist:
✅ Only version files and
CHANGELOG.mdare modified✅ Version numbers are consistent
✅ Changelog is complete and properly formatted
✅ No unrelated changes are included
Merge Strategy:
Prefer Merge Commit (or Squash Merge, per project preference)
Use commit message:
chore: Prepare Release vX.Y.Z
4️⃣ CI: Publish the GitHub Release
The new release will automatically be published by the GitHub CI action.
See .github/workflwows/bump-version.ymlfor details.
5️⃣ CI: Prepare the Development Version Marker
The development version marker .dev will automatically be set by the GitHub CI action.
See .github/workflwows/bump-version.ymlfor details.
✅ Quick Reference
Step |
Actor |
Action |
|---|---|---|
1. Prepare release branch |
Contributor |
Bump version & changelog |
2. Open release PR |
Contributor |
Submit release for review |
3. Review & merge release PR |
Maintainer |
Finalize changes into |
4. Publish GitHub Release |
CI |
Create tag & notify users |
5. Prepare development version branch |
CI |
Set development marker |