Version 2 (modified by 12 years ago) ( diff ) | ,
---|
This page is an ongoing effort to document current release process, gather important discussions points from the dev mailing list and progress toward a fully fledged release procedure with as much automation as possible.
Versioning scheme
Versions are numbered according to semantic versioning, starting with 8.4.0. Tentative interface definition is defined by the standards supported in the features matrix and the command line tools parameters.
Initial process
A single main repository is maintained (as we already have).
The repository contains two types of branches on it:
- master — the currently available branch, which will be the main development branch;
- release — on every final release (but not beta, rc, and other testing releases), a release branch is created with name release_vn.n.n. These branches will allow maintenance of past releases, while development continues in the master branch. A branch can be checked out
git checkout release_vn.n.n
Every release, both testing and final, is marked by a tag vn.n.n in the repo, which can be checked out by
git checkout vn.n.n
Releases can only be made if the build status is successful for the latest commit.
Open issues
Testing time
We should estabilish some time frame to advance in the release process: now we wait one week before advancing -rc if bugfixes come in.
Patch manager with branches
Patch manager will be updated to support the branching model.