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 [2021/06/17 12:36] – [Notifications] dregadmantisbt:release_process [2025/12/15 07:48] (current) – [Repository Preparation] Improve sed command to update MANTIS_VERSION dregad
Line 45: Line 45:
  
 ==== Localization ==== ==== Localization ====
 +
 +<WRAP tip right 50%>
 +Translation updates are regularly committed to the //master// branch by an automated process.
 +Contact the [[https://translatewiki.net/wiki/Support|TranslateWiki.net]] team if necessary.
 +</WRAP>
  
   * Post on the [[mantisbt-lang@lists.sourceforge.net|Localization mailing list]] to request translation updates from contributors   * Post on the [[mantisbt-lang@lists.sourceforge.net|Localization mailing list]] to request translation updates from contributors
-  * Run /admin/test_langs.php to detect any syntax errors in the localization files.+  * Run ///admin/test_langs.php// to detect any syntax errors and problems in the localization files.
  
  
Line 66: Line 71:
 ===== Preparing the Release ===== ===== Preparing the Release =====
  
-==== Localization ====+==== Define VERSION environment variable ====
  
-  * Contact the [[http://translatewiki.net|TranslateWiki]] team (Siebrand) to request an update of tranlations+This will be used by several commands later in this section. 
 + 
 +<code> 
 +$ VERSION=M.N.P 
 +</code>
  
 ==== Repository Preparation ==== ==== Repository Preparation ====
  
   * Remove references to any debug statements    * Remove references to any debug statements 
-  * Update CREDITS file. +  * Update //CREDITS// file. 
-    * 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 Contributors' list <code>
-    * Run the script to update the Contributor'list <code>+
 $ update-credits.sh $ update-credits.sh
 +</code><WRAP info>
 +The script will detect if the //.mailmap// file needs to be updated, to ensure that commits made by the same person under different names and/or e-mail addresses are properly aggregated. 
 +
 +It will print a list of duplicates and halt to let you manually update the file; refer to [[mantisbt:mailmap]] for details.
 +</WRAP>
 +    * Run the script again after fixing the //.mailmap// file
 +    * If needed, make any additional changes to the CREDITS file manually
 +  * Update the version number 
 +    * in //core/constant_inc.php//<code>
 +sed -r -i "/MANTIS_VERSION/s/[0-9]+\.[0-9]+\.[0-9+](-[^']+)?/$VERSION/" core/constant_inc.php
 +</code>
 +    * in REST API OpenAPI documentation <code>
 +sed -r -i "/version:/s/[0-9]+\.[0-9]+\.[0-9+](-.*)?/$VERSION/p" api/rest/mantisbt_openapi.yaml
 </code> </code>
-    * If needed, make any additional changes manually 
-  * Update the version number in core/constant_inc.php. 
   * Commit the changes.   * Commit the changes.
- 
  
  
 ===== 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+
 $ 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 119:
 </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 138: Line 155:
 </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. 
 + 
 +  * 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)
  
-[dregad] the script also creates '.ascfiles, which are not documented in SourceForge section what to do with them ?+The ''--docbook'' option will automatically build single-file versions of the manuals into the tarball's ''/doc'' directory.
  
  
Line 263: Line 284:
  
   * Blog: Post an announcement   * Blog: Post an announcement
-  * Gitter: Post an announcement+  * [[https://matrix.to/#/#mantisbt_mantisbt:gitter.im|Gitter]]: Post an announcement 
 +  * [[https://phpc.social/@mantisbt|Mastodon]]: Post an announcement
  
 The notifications below require accounts that only vboctor has access to... The notifications below require accounts that only vboctor has access to...
mantisbt/release_process.1623947812.txt.gz · Last modified: by dregad

CC Attribution-Noncommercial-Share Alike 4.0 International Driven by DokuWiki