mirror of
https://github.com/vcmi/vcmi.git
synced 2025-11-06 09:09:40 +02:00
2.4 KiB
2.4 KiB
< Documentation / Release Process
Branches
Our branching strategy is very similar to GitFlow
masterbranch has release commits. One commit - one release. Each release commit should be tagged with versionmaj.min.patchbetabranch is for stabilization of ongoing release. We don't merge new features intobetabranch - only bug fixes are acceptable. Hotfixes for already released software should be delivered to this branch as well.developbranch is a main branch for ongoing development. Pull requests with new features should be targeted to this branch,developversion is one step ahead of 'beta`
Release process step-by-step
Assuming that all features planned to be released are implemented in develop branch and next release version will be 1.x.0
Start of stabilization stage
Should be done several weeks before planned release date
- Create milestone named
Release 1.x - Specify new milestone for all regression bugs and major bugs related to new functionality
- Create
betabranch fromdevelop - Bump vcmi version on
developbranch - Bump version for linux on
developbranch
Release preparation stage
Should be done several days before planned release date
- Make sure to announce codebase freeze deadline to all developers
- Update release notes
- Update release date for Linux packaging. See example
- Update release date for Android packaging. See example
- Create draft release page, specify
1.x.0as tag formasterafter publishing - Prepare pull request with release update for web site https://github.com/vcmi/VCMI.eu
- Prepare pull request for vcmi-updates
Release publishing phase
Should be done on release date
- Check that all items from milestone
Release 1.xcompleted - Merge
betaintomaster - Check that artifacts for all platforms are available on
masterbranch - Trigger builds for new release on Ubuntu PPA
- Attach build artifacts for all platforms to release page
- Merge prepared pull requests
- Publish release page
After release publish
- Close
Release 1.xmilestone - Write announcements in social networks
- Merge
masterintodevelop - Update downloads counter in readme.md. See example