wiki:RasdamanReleaseProcess

Version 3 (modified by abeccati, 14 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.

Tags

Do tags belong to a branch or are they still visible repository wide on git?

Note: See TracWiki for help on using the wiki.