Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| contribute:dev:make-a-release [2014/03/05 15:44] – [Update the ChangeLog] nick | contribute:dev:make-a-release [2026/08/21 00:52] (current) – grammar improvements kevinbowen | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | ~~NOTOC~~ | ||
| ====== Making a Release ====== | ====== Making a Release ====== | ||
| - | Before you start with this, make sure you understand the [[http://www.xfce.org/about/releasemodel|release model]] all developers should follow for core components. | + | * **[[# |
| + | * **[[#Build the tarball|Build the tarball]]** | ||
| + | * **[[#Tag release|Tag release]]** | ||
| + | * **[[#Upload the tarball|Upload the tarball]]** | ||
| + | * **[[#Post release|Post release]]** | ||
| + | |||
| + | Before you start building a new release, make sure you understand the [[https://docs.xfce.org/contribute/dev/ | ||
| + | |||
| + | <note important> | ||
| + | |||
| + | This 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. It is best to use this over a manual release process whenever possible. | ||
| + | |||
| + | Install ' | ||
| + | |||
| + | ---- | ||
| ===== Version Numbering ===== | ===== Version Numbering ===== | ||
| Line 7: | Line 22: | ||
| ==== Stable releases ==== | ==== Stable releases ==== | ||
| - | Stable releases are created from the stable branch of the repository. | + | Stable releases are created from the stable branch of the repository. |
| <file bash> | <file bash> | ||
| # get the stable branch | # get the stable branch | ||
| - | git checkout --track -b xfce-4.10 remotes/ | + | git checkout --track -b xfce-4.20 remotes/ |
| # pull the latest changes | # pull the latest changes | ||
| Line 17: | Line 32: | ||
| </ | </ | ||
| - | Now make sure all the bug fixes are committed and pushed to the remote repository. You can check this at [[http://git.xfce.org|git.xfce.org]] as well. | + | Now make sure all the bug fixes are committed and pushed to the remote repository. You can check this at [[http://gitlab.xfce.org|gitlab.xfce.org]] as well. |
| - | For the version number the //micro// version is increased by 1. So 4.10.2 becomes 4.10.3. | + | For the version number the //micro// version is increased by 1. So 4.20.2 becomes 4.20.3. |
| ==== Development releases ==== | ==== Development releases ==== | ||
| - | 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.11.0, then 4.11.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.21.0, then 4.21.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 |
| - | Update the NEWS, AUTHORS, README, THANKS, HACKING etc. files to credits are given where due. | + | As of Xfce version 4.15.0, [[https:// |
| + | |||
| + | * **[[https:// | ||
| + | * **[[https:// | ||
| + | * **[[https:// | ||
| + | * **[[https:// | ||
| ==== Update version number ==== | ==== Update version number ==== | ||
| - | Open '' | + | - Edit the configure script template |
| + | - Set the package version (< | ||
| + | - Remove | ||
| + | - Check the build dependencies. | ||
| - | ==== Update | + | ==== Compile |
| - | + | ||
| - | All core modules have a '' | + | |
| <file bash> | <file bash> | ||
| - | # put the git log in ChangeLog | + | ./ |
| - | git log > ChangeLog | + | make distcheck |
| - | + | ||
| - | # commit | + | |
| - | git ci ChangeLog | + | |
| - | + | ||
| - | # send to remote | + | |
| - | git push | + | |
| </ | </ | ||
| - | ==== Compile the code ==== | ||
| - | |||
| - | ./ | ||
| - | make distcheck | ||
| If everything is ok // | If everything is ok // | ||
| + | |||
| + | [[|Back to Top]] | ||
| + | ---- | ||
| ===== Tag release ===== | ===== Tag release ===== | ||
| - | If the tarball is build successfully, | + | If the tarball is build successfully, |
| - | | + | <file bash> |
| - | git status | + | # make sure there are not pending changes |
| - | + | git status | |
| - | # if not, commit them | + | |
| - | git commit -a -m " | + | |
| - | + | ||
| - | # tag the release (annotated tag is required) | + | |
| - | git tag -a abc.x.y.z | + | |
| - | + | ||
| - | # send tag to remote | + | |
| - | git push --tags abc.x.y.z | + | |
| - | For more information read the [[http:// | + | # if not, commit them |
| + | git commit -a -m " | ||
| + | |||
| + | # tag the release (annotated tag is required) | ||
| + | git tag -a abc.x.y.z | ||
| + | |||
| + | # send tag to remote | ||
| + | git push --tags | ||
| + | </ | ||
| + | |||
| + | For more information read the [[https:// | ||
| + | |||
| + | [[|Back to Top]] | ||
| + | ---- | ||
| ===== Upload the tarball ===== | ===== Upload the tarball ===== | ||
| Line 81: | Line 103: | ||
| - Click on '' | - Click on '' | ||
| - Follow the instructions presented to you by the release manager software to upload the abc.x.y.z.tar.bz2 tarball with the SHA1 checksum you can generate with '' | - Follow the instructions presented to you by the release manager software to upload the abc.x.y.z.tar.bz2 tarball with the SHA1 checksum you can generate with '' | ||
| - | * For the announcements, | + | * For the announcements, |
| + | * 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 '' | - Make a nice summary of the new features or just paste the contents of the '' | ||
| + | |||
| + | [[|Back to Top]] | ||
| + | ---- | ||
| ===== Post release ===== | ===== Post release ===== | ||
| - Add the '' | - Add the '' | ||
| - | - Don't forget to add the version to your project on [[http:// | ||
| - Possibly switch back to the '' | - Possibly switch back to the '' | ||
| - Celebrate | - Celebrate | ||
| + | [[|Back to Top]] | ||
| + | ---- | ||
| + | [[: | ||