Xfce Wiki

Sub domains
 

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
contribute:dev:make-a-release [2020/06/24 23:45] skunnykcontribute:dev:make-a-release [2023/02/24 10:04] (current) – [Making a Release] skunnyk
Line 1: Line 1:
 +~~NOTOC~~
 ====== Making a Release ====== ====== Making a Release ======
 +
 +  * **[[#Version Numbering|Version Numbering]]**
 +  * **[[#Build the tarball|Build the tarball]]**
 +  * **[[#Tag release|Tag release]]**
 +  * **[[#Upload the tarball|Upload the tarball]]**
 +  * **[[#Post release|Post release]]**
  
 Before you start with this, make sure you understand the [[https://www.xfce.org/about/releasemodel|release model]] all developers should follow for core components. Before you start with this, make sure you understand the [[https://www.xfce.org/about/releasemodel|release model]] all developers should follow for core components.
 +
 +<note important>Note that xfce provides [[https://gitlab.xfce.org/xfce/xfce4-dev-tools/-/blob/master/helpers/xfce-do-release.in|xfce-do-release]], an automated release-script which guides you through all steps required to release a xfce component.
 +
 +That prevents mistakes and helps to get a clean build (by building in a container). It will catch all translation updates and pre-write a NEWS file for you by using the commit messages. Best use it over the manual release process when possible.
 +
 +Install 'xfce4-dev-tools' to make use of it !</note>
 +
 +----
  
 ===== Version Numbering ===== ===== Version Numbering =====
Line 24: Line 39:
  
 Unstable releases are created from the master branch, which is in this period in feature-freeze. There we use an odd //minor// number. So the first development release is for example 4.15.0, then 4.15.1 etc. Unstable releases are created from the master branch, which is in this period in feature-freeze. There we use an odd //minor// number. So the first development release is for example 4.15.0, then 4.15.1 etc.
 +
 +[[|Back to Top]]
 +----
  
 ===== Build the tarball ===== ===== Build the tarball =====
Line 29: Line 47:
 If you are sure all the fixes are committed in the correct branch, its time to prepare the release. If you are sure all the fixes are committed in the correct branch, its time to prepare the release.
  
-==== Update NEWS ====+==== Update NEWS, Release Notes, & Translations  ====
  
-xfce4-dev-tools from version 4.15.0 contains helpers: //xfce-get-release-notes//, //xfce-get-translations//, //xfce-update-news// to help you to update NEWS and list all translators.+As of Xfce version 4.15.0, [[https://gitlab.xfce.org/xfce/xfce4-dev-tools|xfce-dev-tools]] contains several Bash helper scripts to assist in building your release: 
  
-More script can be available on https://github.com/ochosi/xfce-helpers+  * **[[https://gitlab.xfce.org/xfce/xfce4-dev-tools/-/blob/master/helpers/xfce-do-release|xfce-do-release]] ** - Main helper script. Checks versions, tags, commits and pushes changes, logs into and uploads to release manager. 
 +  * **[[https://gitlab.xfce.org/xfce/xfce4-dev-tools/-/blob/master/helpers/xfce-get-release-notes|xfce-get-release-notes]] ** - Complementary to xfce-get-translations and gets all the commits that aren't translation updates. 
 +  * **[[https://gitlab.xfce.org/xfce/xfce4-dev-tools/-/blob/master/helpers/xfce-get-translations|xfce-get-translations]] ** - Gets all language updates to a repository since a specified commit or tag. 
 +  * **[[https://gitlab.xfce.org/xfce/xfce4-dev-tools/-/blob/master/helpers/xfce-update-news|xfce-update-news]] **
  
 ==== Update version number ==== ==== Update version number ====
Line 50: Line 71:
  
 If everything is ok //distcheck// will tell you the ''abc.x.y.z.tar.bz2'' tarball is ready. If not fix the error(s) and commit the changes before running //distcheck// again. If everything is ok //distcheck// will tell you the ''abc.x.y.z.tar.bz2'' tarball is ready. If not fix the error(s) and commit the changes before running //distcheck// again.
 +
 +[[|Back to Top]]
 +----
  
 ===== Tag release ===== ===== Tag release =====
Line 70: Line 94:
  
 For more information read the [[https://git-scm.com/docs/git-tag|git tag manual]]. For more information read the [[https://git-scm.com/docs/git-tag|git tag manual]].
 +
 +[[|Back to Top]]
 +----
  
 ===== Upload the tarball ===== ===== Upload the tarball =====
Line 79: Line 106:
     *  Please note that you MUST subscribe to the announce mailling list before doing a release. Your first release mail need to be moderated by a list admin.      *  Please note that you MUST subscribe to the announce mailling list before doing a release. Your first release mail need to be moderated by a list admin. 
   - Make a nice summary of the new features or just paste the contents of the ''NEWS'' file.   - Make a nice summary of the new features or just paste the contents of the ''NEWS'' file.
 +
 +[[|Back to Top]]
 +----
  
 ===== Post release ===== ===== Post release =====
Line 86: Line 116:
   - Celebrate  8-).   - Celebrate  8-).
  
 +[[|Back to Top]]
 +----
 +[[:contribute:dev:start:|Back to main Xfce Development Information page]]