mantisbt:release_process
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
mantisbt:release_process [2015/03/15 19:28] – [Cutting the Release] signed tag for dev releases also, and clarify what those are dregad | mantisbt:release_process [2019/07/15 11:39] – [Bugtracker] make wrap box wider and add bold chars dregad | ||
---|---|---|---|
Line 41: | Line 41: | ||
* optional features (e.g., graphs) | * optional features (e.g., graphs) | ||
- | The test process for Mantis in the Debian distro can be found at http://svn.debian.org/ | + | For reference, you may also read the [[http://anonscm.debian.org/ |
Line 80: | Line 80: | ||
* If needed, make any additional changes manually | * If needed, make any additional changes manually | ||
* Update the version number in core/ | * Update the version number in core/ | ||
- | * Update doc/RELEASE to include the release notes. (for 1.2.x releases - not applicable to 1.3.x+) | ||
* Commit the changes. | * Commit the changes. | ||
Line 152: | Line 151: | ||
* Update Versions | * Update Versions | ||
- Go to the //Manage Projects page// for the // | - Go to the //Manage Projects page// for the // | ||
- | - Update the version being released (//1.M.x//): | + | - Update the version being released ('' |
- | * Rename it to //1.M.N// | + | * Rename it to '' |
- | * Update the "Date Order" | + | * Update the //Date Order// field to the actual release date |
- | * Copy-paste the text from the release notes into the "Description" | + | * Copy-paste the text from the release notes into the //Description// field, update as appropriate |
- | * Tick the "Released" | + | * Tick the //Released// box |
- | - Create a new //1.M.x// version | + | - Create a new '' |
- | * Set the "Date Order" | + | * Set the //Date Order// field to a future date <WRAP important 90%> |
- | * Make sure the "Released" | + | The [[mantisbt: |
+ | |||
+ | For this to work properly, it is important that the **version targeted by the //master// branch always has the most recent date**. Adjust it if necessary (e.g. when cutting a patch release). | ||
+ | </ | ||
+ | * Make sure the //Released// box is not ticked | ||
* Update issues | * Update issues | ||
- Go to the //View Issues page// | - Go to the //View Issues page// | ||
- Close all resolved issues that are fixed in the version being released | - Close all resolved issues that are fixed in the version being released | ||
- | * Set a new filter: //Status// = resolved, //Fixed in Version// = 1.M.N | + | * Set a new filter: //Status// = resolved, //Fixed in Version// = '' |
* Review listed issues, update them as needed (in particular, check that // | * Review listed issues, update them as needed (in particular, check that // | ||
* Tick the //Select all// checkbox | * Tick the //Select all// checkbox | ||
Line 170: | Line 173: | ||
* Click the //Close Issues// button | * Click the //Close Issues// button | ||
* Repeat until the filter is empty | * Repeat until the filter is empty | ||
- | - Carry open issues still targeted to 1.M.N over to the new 1.M.x version | + | - Carry open issues still targeted to '' |
- | * Set a new filter: //Hide Status// = closed (And Above), //Target Version// = 1.M.N | + | * Set a new filter: //Hide Status// = closed (And Above), //Target Version// = '' |
* Tick the //Select all// checkbox | * Tick the //Select all// checkbox | ||
* Select //Update Target Version// and click OK | * Select //Update Target Version// and click OK | ||
- | * Select | + | * Select |
* Repeat until the filter is empty | * Repeat until the filter is empty | ||
Line 183: | Line 186: | ||
* Edit main website' | * Edit main website' | ||
* Update '' | * Update '' | ||
+ | |||
+ | ==== Nightly builds ==== | ||
+ | |||
+ | When releasing a new //major// (X+1.0.0) or //minor// (X.Y+1.0) release, the nightly builds script must be updated so that the files are generated for the appropriate branches. | ||
+ | |||
+ | * Edit the script ''/ | ||
+ | * Update the // | ||
+ | |||
+ | To make the change permanent, the file should be committed to the // | ||
+ | |||
+ | If desired, the script may be executed manually at this point. Note that it normally does not produce any output; check the log file at ''/ | ||
+ | |||
+ | < | ||
Line 207: | Line 223: | ||
=== Manual process === | === Manual process === | ||
- | Also refer to MantisBT Administration Guide [[http:// | + | Also refer to MantisBT Administration Guide [[http:// |
**Upgrade Official Bug Tracker Instance** | **Upgrade Official Bug Tracker Instance** | ||
Line 214: | Line 230: | ||
* Update the code from git < | * Update the code from git < | ||
$ cd / | $ cd / | ||
- | $ git checkout master-1.2.x | + | $ git checkout master-1.3.x |
$ git pull --rebase | $ git pull --rebase | ||
$ git checkout bugs | $ git checkout bugs | ||
- | $ git rebase master-1.2.x | + | $ git rebase master-1.3.x |
- | </ | + | |
- | * Upgrade the database if needed (admin/ | + | |
- | * Run admin/ | + | |
- | * Login and do simple testing. | + | |
- | + | ||
- | + | ||
- | **Upgrade Demo Instance** | + | |
- | + | ||
- | * Make sure you are running as root (sudo bash) | + | |
- | * Update the code from git < | + | |
- | $ cd / | + | |
- | $ git checkout master-1.2.x | + | |
- | $ git pull --rebase | + | |
- | $ git checkout demo | + | |
- | $ git rebase master-1.2.x | + | |
</ | </ | ||
* Upgrade the database if needed (admin/ | * Upgrade the database if needed (admin/ | ||
Line 246: | Line 247: | ||
* Upload the release to [[http:// | * Upload the release to [[http:// | ||
* Release through the SF.net mechanism. | * Release through the SF.net mechanism. | ||
- | * The release name should be "1.2.x" (e.g. 1.2.17). | + | * The release name should be "1.3.x" (e.g. 1.3.3). |
* Put the release in the appropriate package based on whether it is a stable or a development release. | * Put the release in the appropriate package based on whether it is a stable or a development release. | ||
* Release candidates, alphas and betas are " | * Release candidates, alphas and betas are " | ||
Line 252: | Line 253: | ||
* Click the " | * Click the " | ||
* for digests, exclude them from stats. | * for digests, exclude them from stats. | ||
- | * for zip make it default for all platforms. | + | * In case of a stable release, |
==== Notifications ==== | ==== Notifications ==== | ||
Line 258: | Line 259: | ||
* Blog: Post an announcement | * Blog: Post an announcement | ||
* Twitter: announce the release via mantisbt twitter account. | * Twitter: announce the release via mantisbt twitter account. | ||
- | * IRC: Change the title of # | + | * Update mailing list based on official bug tracker users since users can now signup |
- | * Forums: Announce | + | * Use sendgrid to send out the announcement email. |
- | * Mailing Lists: Send a message | + | |
+ | ===== Prepare for next release | ||
+ | |||
+ | ==== Bump the version number ==== | ||
+ | |||
+ | The MantisBT version constant must be increase to reflect the current state of the development branch. | ||
+ | |||
+ | This ensures that people running Mantis from the GIT repository are not led to believe they are working with an official release, and allows the [[https://mantisbt.org/ | ||
+ | |||
+ | * Edit '' | ||
+ | * Update // | ||
+ | * Major version: **x+1**.0.0**-dev** | ||
+ | * Minor version: x.**y+1**.0**-dev** | ||
+ | * Patch version: x.y.**z+1-dev** | ||
+ | * Commit and push the modified file | ||
mantisbt/release_process.txt · Last modified: 2022/05/10 10:07 by dregad