-
Notifications
You must be signed in to change notification settings - Fork 0
Branching, Versioning & Release Strategy
Andrés Pedraza Míguez edited this page Dec 7, 2025
·
5 revisions
This project follows a strict GitFlow workflow fully automated via GitHub Actions. Branch protection is active for develop and main, so automation relies on automated Pull Requests.
Never modify version.properties manually. The CI/CD pipelines manage version numbers based on the branch names and PR labels.
- Open a GitHub Issue describing the Feature, Bug, or Release.
- Automation: The bot creates a branch for you.
-
Auto-PR: For Releases and Hotfixes, the bot automatically opens the Pull Request to
main.
| Issue Label | Branch Created | Base Branch | Target PR Branch |
|---|---|---|---|
feature |
feature/EXSHAPP-xxxx |
develop |
(Manual) |
bug |
bugfix/EXSHAPP-xxxx |
develop |
(Manual) |
release |
release/EXSHAPP-xxxx |
develop |
main (Auto) |
hotfix |
hotfix/EXSHAPP-xxxx |
main |
main (Auto) |
- Checkout the bot-created branch.
- Work and push commits.
- Open a PR to
developmanually when ready.
We treat releases as a specific type of issue.
- Create a Release Issue using the provided template.
- You can check "Major Release" if it contains breaking changes.
-
Bot Action:
- Creates branch
release/EXSHAPP-xxxxfromdevelop. -
Automatically opens a PR from this branch to
main.
- Creates branch
-
Bot Action (in PR):
- The Prepare Version workflow runs on the
release/branch. - It removes
-SNAPSHOTfromversion.properties. - It applies Major version bump if the "Major" label is present.
- It commits this change to the PR.
- The Prepare Version workflow runs on the
- Review the PR (ensure checks pass).
-
Merge the PR into
main. -
Bot Action: The Create Release workflow triggers on
main:- Builds signed APK.
- Publishes GitHub Release with automated Changelog.
-
Bot Action: The Sync workflow triggers automatically.
- Merges
mainback intodevelop. -
Bumps Version: Calculates the next development version (e.g.,
0.12.0->0.13.0-SNAPSHOT). -
Opens a PR to
developif there are conflicts, or pushes directly if the merge is clean.
- Merges
- Create a Hotfix Issue.
-
Bot Action: Creates
hotfix/branch frommainand opens PR tomain. - Fix the bug and push.
-
Bot Action (in PR): Automatically increments Patch version (e.g.,
0.12.0->0.12.1) and removes snapshot. - Merge to
main-> Triggers Release -> Triggers Sync todevelop.