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 revisionPrevious revision
Next revision
Previous revision
mantisbt:release_process [2019/07/15 11:39] – [Bugtracker] make wrap box wider and add bold chars dregadmantisbt:release_process [2022/05/10 10:07] (current) – [Packaging the Release] asc files are ascii-armored signature files dregad
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 86: Line 86:
 ===== Cutting the Release ===== ===== Cutting the Release =====
  
-  * Create an annotated, GPG-signed tag in Git; the tag should be formatted as "release-1.x.x" \\ \\+  * Create an annotated, GPG-signed tag in Git; the tag should be formatted as ''release-M.N.P'' (e.g. 2.25.4) \\ \\
      * For **stable releases** <code>      * For **stable releases** <code>
-$ git checkout master-1.M.x +$ git checkout master-M.N 
-$ VERSION=1.M.N+$ VERSION=M.N.P
 $ git tag -s release-$VERSION -m "Stable release $VERSION" $ git tag -s release-$VERSION -m "Stable release $VERSION"
 </code> Note: If this fails, see below for tag signing troubleshooting </code> Note: If this fails, see below for tag signing troubleshooting
     * For **development releases** (e.g. alpha, beta, release candidates) <code>     * For **development releases** (e.g. alpha, beta, release candidates) <code>
 $ git checkout master $ git checkout master
-$ VERSION=1.M.N+$ VERSION=M.N.P
 $ git tag -s release-$VERSION -m "Development release $VERSION" $ git tag -s release-$VERSION -m "Development release $VERSION"
 </code> </code>
Line 102: Line 102:
 </code> </code>
  
-  * In case we are starting a new stable branch, also create it using the format "master-1.x.x": <code> +  * In case we are starting a new stable branch, also create it using the format "master-M.N": <code> 
-$ git branch master-1.x.x master +$ git branch master-M.master 
-$ git push origin master-1.x.x+$ git push origin master-M.N
 </code> </code>
  
Line 135: Line 135:
 Generate release tarballs using the ''buildrelease-repo.py'' script found in the ''mantisbt-tools.git'' repository: Generate release tarballs using the ''buildrelease-repo.py'' script found in the ''mantisbt-tools.git'' repository:
 <code> <code>
-$ /path/to/buildrelease-repo.py --fresh --docbook --ref release-$VERSION /path/to/output /path/to/repo+$ /build/buildrelease-repo.py --fresh --docbook --ref release-$VERSION --clean /path/to/output
 </code> </code>
  
-This will create a //.zip// and //.tar.gz// tarball of the release, and create a //.digest// file for each tarball with //md5// and //sha1// hashes, all in the ''/path/to/output'' directory specified in the command.  The ''--docbook'' option will automatically build single-file versions of the manuals into the tarball's ''/doc'' directory.+This will create the following files in the ''/path/to/output'' directory specified in the command.
  
-[dregad] the script also creates '.asc' fileswhich are not documented in SourceForge section what to do with them ?+  * a //.zip// and //.tar.gz// tarball of the release 
 +  * a //.digest// file for each tarball with //md5// and//sha*// hashes 
 +  * an ASCII-armored GPG signature file for each tarball (with //.asc// extension) 
 + 
 +The ''--docbook'' option will automatically build single-file versions of the manuals into the tarball's ''/doc'' directory.
  
  
Line 150: Line 154:
  
   * Update Versions   * Update Versions
-    - Go to the //Manage Projects page// for the //mantisbt// project+    - Go to the [[https://mantisbt.org/bugs/manage_proj_edit_page.php?project_id=1#versions|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''
Line 169: Line 173:
       * 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)
 +      * Private security issues should be made public
       * Tick the //Select all// checkbox       * Tick the //Select all// checkbox
       * Select //Close// and click OK       * Select //Close// and click OK
Line 245: Line 250:
 ==== Source Forge ==== ==== Source Forge ====
  
-  * Upload the release to [[http://sourceforge.net/projects/mantisbt/files/|SourceForge]] via the File Manager web interface +  * Upload the release to [[http://sourceforge.net/projects/mantisbt/files/|SourceForge]] <WRAP info> 
-  * Release through the SF.net mechanism.   +Put the files in the appropriate directory, based on the release type: Stable releases go to the **mantis-stable**; Alpha, Beta and Release candidates go in **mantis-development**. 
-    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.   +Create a sub-directory for the version, matching it's number e.g. 2.0.0-beta.1, 2.23.0, 2.24.4. 
-    * Release candidates, alphas and betas are "development" releases.+</WRAP> 
 +    * manually via SourceForge's File Manager web interface, or 
 +    * with rsync (//USERNAME// is your SourceForge user ID) <code> 
 +$ rsync -vP --rsh=ssh /path/to/output/* USERNAME@frs.sourceforge.net:/home/frs/project/mantisbt/mantis-stable/$VERSION 
 +</code>
   * Download the release off SF.net and verify correctness.   * Download the release off SF.net and verify correctness.
-  * Click the "inext to the files under the folder and do the following actions:+  * Click the ''(i)'' icon next to the files under the folder and do the following actions:
     * for digests, exclude them from stats.     * for digests, exclude them from stats.
     * In case of a stable release, make the zip file the default for all platforms.     * In case of a stable release, make the zip file the default for all platforms.
Line 258: Line 267:
  
   * Blog: Post an announcement   * Blog: Post an announcement
 +  * Gitter: Post an announcement
 +
 +The notifications below require accounts that only vboctor has access to...
 +
   * Twitter: announce the release via mantisbt twitter account.   * Twitter: announce the release via mantisbt twitter account.
   * 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.
Line 266: Line 279:
 ==== Bump the version number ==== ==== Bump the version number ====
  
-The MantisBT version constant must be increase to reflect the current state of the development branch.+The MantisBT version constant must be increased 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.  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. 
mantisbt/release_process.1563205165.txt.gz · Last modified: 2019/07/15 11:39 by dregad

Driven by DokuWiki