HINT
- THIS PAGE IS OUTDATED.
Release guide
In this article, we describe how we handle OpenWalnut releases. This might be informative for you but is also a checklist for us. We begin with describing the organizational part. In the second section, we list the technical work for actually doing the release.
Organizational
-
All: decide for feature freeze
-
All: define feature set
-
Project Manager: decide feasibility of features
-
Project Manager: assign features to developers
-
Project Manager: define fuzzy deadline
- defines release month, exact date not reasonable
-
Release Manager: summarize feature set in Roadmap (website)
-
All: create tickets for features or assign existing tickets to target version
-
All: work on the tickets
-
Release Manager: check for progress & ensure progress
-
Release Manager: responsible for release
-
Release Manager: finally, build (technically) the release
- Packaging, upload and so on
After Release:
- Release Manager: assign bug reports to developers using tickets
- All: fix bugs, do not add features
- Release Manager: decide for bug fix release, start at second step
Technical
-
Release Manager: create a branch for the release.
- The branch is named "OpenWalnut_MAJOR.MINOR"
- The branch is named with MAJOR.MINOR and does NOT include the patch number.
- The 1.2.5 branch is an exception from the rule.
-
All: work on assigned tickets in branch only
- Merge these to default regularly
- Accidental commits to default are patched into release branch
-
Release Manager: prepare source in release branch
- Change version info in VERSION file
- Change version info on doc/core/doxygenConfig and doc/developer/doxygenConfig
- Modify version info in tools/release/owrelease
- Update the distribution package specific changelog files
- for DEB packages, use "dch" to add a changelog entry
- No further changes needed as the build&pack scripts manage the remaining things
-
Release Manager: on release, set a tag to release branch head revision
- The tag is named "Release_MAJOR.MINOR.PATCH"
-
Release Manager: use owrelease, owpack and owrelease for release packaging (source:tools/release/)
-
Release Manager: upload src and binary packages, update NeuroDebian package
- Use http://static.openwalnut.org/download for this
- Add release to releases.html for Debian DEHS in download directory
-
Release Manager: update documentation
- Write ReleaseNotes
- Update Getting_OpenWalnut page
-
Release Manager: make some advertisement
- Add a News-entry
- Announce on mailing lists (openwalnut, openwalnut-dev)
After Release:
- All: fixes for bugs in the release branch
- All: no adding of features in release branch
- Release Manager: for bug fix release, add tag with incremented patch number
- named "Release_MAJOR.MINOR.1" in branch "OpenWalnut_MAJOR.MINOR"