Release Cycles: Difference between revisions

From OpenMW Wiki
Jump to navigation Jump to search
(Created page with "= Release cycles = The time for a new version of OpenMW to be released may vary depending on the progress made since the last release. This document explains the workflow use...")
 
m (update because of branch policy change (no more 'next' branch))
 
(One intermediate revision by one other user not shown)
Line 1: Line 1:
= Release cycles =
= Release cycles =


The time for a new version of OpenMW to be released may vary depending on the progress made since the last release. This document explains the workflow used to manage OpenMW versions. The word "issue" is used in the meaning of bugtracker issue (which is basically a task needing to be done to improve the engine — bug fix, new feature and so on). You can see the repartition of the issues planned for the different OpenMW versions on the [https://bugs.openmw.org/projects/openmw/roadmap roadmap].
The time for a new version of OpenMW to be released may vary depending on the progress made since the last release. This document explains the workflow used to manage OpenMW versions. The word "issue" refers to an item in the [https://bugs.openmw.org/projects/openmw/issues issue tracker]. These items include tasks, features and bugs. Generally speaking, an issue is something that must be done to improve OpenMW's functionality. You can see which issues are planned for which OpenMW versions on the [https://bugs.openmw.org/projects/openmw/roadmap roadmap].


== Normal development ==
== Normal development ==
Line 7: Line 7:
The tasks on the roadmap are grouped by OpenMW versions. During normal development, they are two versions on the roadmap:
The tasks on the roadmap are grouped by OpenMW versions. During normal development, they are two versions on the roadmap:


* '''openmw-VERSION''' ''(VERSION is the version number of the upcoming release, following the last release's one)''
* '''openmw-VERSION''' ''(VERSION is the version number of the upcoming release)''


: These are short term issues planned for the next version of OpenMW.
: This version contains short term issues planned for the next version of OpenMW.


* '''openmw-future'''
* '''openmw-future'''


: These are long term issues placed here because they depend on other major issues being done before, because they involve big changes in the engine architecture or because of another (good) reason. They are displaced when they become feasible.
: This version contains long-term issues. An issue is considered long-term if it depends on other major issues or otherwise involves big changes in the engine architecture. They are moved to a specific version when they become feasible.


During this time, developers make pull requests on [https://github.com/zinnschlag/openmw/tree/master the <code>master</code> branch of the main repository] (if you are not familiar with pull requests, see [https://help.github.com/articles/using-pull-requests the help at GitHub]).
During normal development, developers make pull requests on [https://github.com/zinnschlag/openmw/tree/master the <code>master</code> branch of the main repository] (if you are not familiar with pull requests, see [https://help.github.com/articles/using-pull-requests the help at GitHub]).


== Pre-release period ==
== Pre-release period ==


When the number of resolved features added and bugs fixed is important enough, the next OpenMW version enters in Release Candidate (RC). On the roadmap, an amount of issues is moved under a new OpenMW version.
When the number of resolved features added and bugs fixed is considered sufficient for a new release, the next OpenMW version enters the Release Candidate (RC) phase. On the roadmap, unresolved issues are moved to a new OpenMW version.


Then the roadmap shows issues for three versions: openmw-VERSION and openmw-future as before, plus the new one:
At this point the roadmap shows issues for three versions:


* '''openmw-VERSION''' ''(VERSION is the version number of the upcoming release, following the last release's one)''
* '''openmw-VERSION''' ''(VERSION is the version number of the upcoming release)''


: During pre-release period, this category contains mostly closed issues, plus those in progress. No new issues are added unless the fix a major bug or a regression, and definitively no new features.
: During pre-release period, this category contains mostly closed issues, plus those in progress that are projected to be finished by release. No new issues are added unless they fix a major bug or a regression.


* '''openmw-NEXT_VERSION''' ''(NEXT_VERSION is the version number following the upcoming release's one)''
* '''openmw-NEXT_VERSION''' ''(NEXT_VERSION is the version number of the release following the upcoming release)''


: The remaining issues that belonged to openmw-VERSION but have lesser priority are moved here. Some issues can come from openmw-future too.
: The remaining issues that belonged to openmw-VERSION but have lesser priority are moved here. Some issues may be moved from openmw-future too.


During pre-release period, the branch the developers make pull requests on depends of the roadmap. Only changes for issues under openmw-VERSION deserve a pull-request targeting the master branch. All other changes are merged to [https://github.com/zinnschlag/openmw/tree/next the <code>next</code> branch of the main repository].
* '''openmw-future'''
 
: Just as in normal development, this version contains issues that are considered long-term.
 
During pre-release period, the branch that developers make pull requests to depends on the roadmap. Changes for issues under openmw-VERSION deserve a pull-request targeting the branch named openmw-VERSION. Other changes are merged to the <code>master</code> branch as usual.


== Post-release period ==
== Post-release period ==


The new version is released some time after all its issues on the roadmap are closed.
The new version is released after all its issues on the roadmap are closed.


After the release, the corresponding category is removed from the roadmap. The <code>next</code> branch is merged into <code>master</code> and we come back to normal development.
After the release, the corresponding version is removed from the roadmap.

Latest revision as of 23:03, 27 April 2013

Release cycles

The time for a new version of OpenMW to be released may vary depending on the progress made since the last release. This document explains the workflow used to manage OpenMW versions. The word "issue" refers to an item in the issue tracker. These items include tasks, features and bugs. Generally speaking, an issue is something that must be done to improve OpenMW's functionality. You can see which issues are planned for which OpenMW versions on the roadmap.

Normal development

The tasks on the roadmap are grouped by OpenMW versions. During normal development, they are two versions on the roadmap:

  • openmw-VERSION (VERSION is the version number of the upcoming release)
This version contains short term issues planned for the next version of OpenMW.
  • openmw-future
This version contains long-term issues. An issue is considered long-term if it depends on other major issues or otherwise involves big changes in the engine architecture. They are moved to a specific version when they become feasible.

During normal development, developers make pull requests on the master branch of the main repository (if you are not familiar with pull requests, see the help at GitHub).

Pre-release period

When the number of resolved features added and bugs fixed is considered sufficient for a new release, the next OpenMW version enters the Release Candidate (RC) phase. On the roadmap, unresolved issues are moved to a new OpenMW version.

At this point the roadmap shows issues for three versions:

  • openmw-VERSION (VERSION is the version number of the upcoming release)
During pre-release period, this category contains mostly closed issues, plus those in progress that are projected to be finished by release. No new issues are added unless they fix a major bug or a regression.
  • openmw-NEXT_VERSION (NEXT_VERSION is the version number of the release following the upcoming release)
The remaining issues that belonged to openmw-VERSION but have lesser priority are moved here. Some issues may be moved from openmw-future too.
  • openmw-future
Just as in normal development, this version contains issues that are considered long-term.

During pre-release period, the branch that developers make pull requests to depends on the roadmap. Changes for issues under openmw-VERSION deserve a pull-request targeting the branch named openmw-VERSION. Other changes are merged to the master branch as usual.

Post-release period

The new version is released after all its issues on the roadmap are closed.

After the release, the corresponding version is removed from the roadmap.