User Tools

  • Logged in as: anonymous (anonymous)
  • Log Out

Site Tools


mantisbt:release_process

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
mantisbt:release_process [2016/10/30 23:52]
vboctor Tweaks to version numbers
mantisbt:release_process [2019/08/08 19:29]
dregad [Repository Preparation] link to new mailmap page
Line 74: Line 74:
   * Remove references to any debug statements ​   * Remove references to any debug statements ​
   * Update CREDITS file.   * Update CREDITS file.
-    * If necessary, update the ''​.mailmap'' ​file at the repository'​s root, so that commit made by the same person under different names and/or e-mail addresses are properly aggregated ​(refer to [[http://​www.kernel.org/​pub/​software/​scm/​git/​docs/​git-shortlog.html#​_mapping_authors|git shortlog man page]] for details)+    * If necessary, ​[[mantisbt:​mailmap|update the .mailmap file]], so that commit made by the same person under different names and/or e-mail addresses are properly aggregated
     * Run the script to update the Contributor'​s list <​code>​     * Run the script to update the Contributor'​s list <​code>​
 $ update-credits.sh $ update-credits.sh
Line 151: Line 151:
   * Update Versions   * Update Versions
     - Go to the //Manage Projects page// for the //​mantisbt//​ project     - Go to the //Manage Projects page// for the //​mantisbt//​ project
-    - Update the version being released (//1.M.x//): +    - Update the version being released (''​1.M.x''​): 
-      * Rename it to //1.M.N// +      * Rename it to ''​1.M.N''​ 
-      * Update the "Date Order" ​field to the actual release date +      * Update the //Date Order// field to the actual release date 
-      * Copy-paste the text from the release notes into the "Description" ​field, update as appropriate +      * Copy-paste the text from the release notes into the //Description// field, update as appropriate 
-      * Tick the "Released" ​box +      * Tick the //Released// box 
-    - Create a new //1.M.x// version +    - Create a new ''​1.M.x'' ​version 
-      * Set the "Date Order" ​field to a future date +      * Set the //Date Order// field to a future date <WRAP important 90%> 
-      * Make sure the "Released" ​box is not ticked+The [[mantisbt:​plugins:​sourceintegration]] relies on this date to automatically set the //Fixed in version// field when processing commits referencing issues for resolution (i.e. ''​Fixes #​xxx''​).  
 + 
 +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). 
 +</​WRAP>​ 
 +      * 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// = ''​1.M.N''​
       * Review listed issues, update them as needed (in particular, check that //​Resolution//​ = fixed)       * Review listed issues, update them as needed (in particular, check that //​Resolution//​ = fixed)
       * Tick the //Select all// checkbox       * Tick the //Select all// checkbox
Line 169: 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 ''​1.M.N'' ​over to the new ''​1.M.x'' ​version 
-      * 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// = ''​1.M.N'' ​
       * 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 ​//1.M.x// from the list and click the //Update Target Version// button+      * Select ​''​1.M.x'' ​from the list and click the //Update Target Version// button
       * Repeat until the filter is empty       * Repeat until the filter is empty
  
Line 182: Line 186:
     * Edit main website'​s config file ''/​srv/​www/​main/​config_inc.php''​     * Edit main website'​s config file ''/​srv/​www/​main/​config_inc.php''​
     * Update ''​$g_latest_version_stable''​ or ''​$g_latest_version_dev''​ as appropriate,​ to match the version being released     * Update ''​$g_latest_version_stable''​ or ''​$g_latest_version_dev''​ as appropriate,​ to match the version being released
 +
 +==== 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 ''/​srv/​mantisbt-tools/​nightly-builds.sh''​
 +  * Update the //​branches//​ variable to specify the names of all the repository branches for which a nightly build is required
 +
 +To make the change permanent, the file should be committed to the //​mantisbt/​mantisbt-tools//​ repository.
 +
 +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 ''/​var/​log/​nightly-builds.log''​ for errors.
 +
 +<​code>​$ sudo /​srv/​mantisbt-tools/​nightly-builds.sh</​code>​
  
  
Line 244: Line 261:
   * Update mailing list based on official bug tracker users since users can now signup to our bugtracker to get such announcements.   * Update mailing list based on official bug tracker users since users can now signup to our bugtracker to get such announcements.
   * Use sendgrid to send out the announcement email.   * Use sendgrid to send out the announcement email.
 +
 +===== 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/​builds.php|Nightly builds]] to reference the proper version in the zip/tarball file name. 
 +
 +  * Edit ''​core/​constants_inc.php''​
 +  * Update //​MANTIS_VERSION//​ by incrementing the version number as appropriate:​
 +    * 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: 2019/08/08 19:29 by dregad