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 [2025/12/15 07:05] – [Repository Preparation] .mailmap changes detection performed by update-credits.sh dregadmantisbt:release_process [2026/05/09 07:01] (current) – [Source Forge] use $RELEASE_FILES instead of hardcoded path 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**
-    * Run the script to update the Contributor'list <code>+    * Run the script to update the Contributors' list <code>
 $ update-credits.sh $ update-credits.sh
 </code><WRAP info> </code><WRAP info>
Line 83: Line 92:
     * Run the script again after fixing the //.mailmap// file     * Run the script again after fixing the //.mailmap// file
     * If needed, make any additional changes to the CREDITS file manually     * If needed, make any additional changes to the CREDITS file manually
-  * Update the version number in core/constant_inc.php. +  * Update the **version number**  
-  * Commit the changes. +    * 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/" api/rest/mantisbt_openapi.yaml 
 +</code> 
 +  * Commit the changes  <code> 
 +git commit -a -m "Bump version to $VERSION" 
 +</code>
  
  
Line 93: Line 109:
      * For **stable releases** <code>      * For **stable releases** <code>
 $ git checkout master-M.N $ git checkout master-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> <WRAP tip> 
 +If this fails, see below for [[#troubleshooting_failure_to_sign_tags|tag signing troubleshooting]]. 
 +</WRAP>
     * 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
Line 113: Line 130:
  
  
-**Troubleshooting failure to sign tags**+==== Troubleshooting failure to sign tags ====
  
 Signing the tag fails if GIT cannot map the user with the gpg key, as in the example below <code> Signing the tag fails if GIT cannot map the user with the gpg key, as in the example below <code>
Line 136: Line 153:
  
 ===== Packaging the Release ===== ===== Packaging the Release =====
 +
 +Create a temporary directory to store the release files
 +
 +<code>
 +RELEASE_FILES=/tmp/relelase_$VERSION
 +mkdir $RELEASE_FILES
 +</code>
  
 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>
-$ /build/buildrelease-repo.py --fresh --docbook --ref release-$VERSION --clean /path/to/output+build/buildrelease-repo.py --fresh --docbook --ref release-$VERSION --clean $RELEASE_FILES
 </code> </code>
  
-This will create the following files in the ''/path/to/output'' directory specified in the command.+This will create the following files in the ''$RELEASE_FILES'' directory created above.
  
   * a //.zip// and //.tar.gz// tarball of the release   * a //.zip// and //.tar.gz// tarball of the release
Line 261: Line 285:
     * manually via SourceForge's File Manager web interface, or     * manually via SourceForge's File Manager web interface, or
     * with rsync (//USERNAME// is your SourceForge user ID) <code>     * 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+$ rsync -vP --rsh=ssh $RELEASE_FILES/* USERNAME@frs.sourceforge.net:/home/frs/project/mantisbt/mantis-stable/$VERSION
 </code> </code>
   * Download the release off SF.net and verify correctness.   * Download the release off SF.net and verify correctness.
Line 270: Line 294:
 ==== Notifications ==== ==== Notifications ====
  
-  * Blog: Post an announcement+  * [[https://mantisbt.org/blog/|Blog]]: Post an announcement
   * [[https://matrix.to/#/#mantisbt_mantisbt:gitter.im|Gitter]]: Post an announcement   * [[https://matrix.to/#/#mantisbt_mantisbt:gitter.im|Gitter]]: Post an announcement
   * [[https://phpc.social/@mantisbt|Mastodon]]: Post an announcement   * [[https://phpc.social/@mantisbt|Mastodon]]: Post an announcement
 +  * [[https://mantisbt.org/forums/viewforum.php?f=5|Forums]]: Post in the //Announcements// section
  
 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.1765800333.txt.gz · Last modified: by dregad

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