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 14:39] – [Development releases] 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> |
| - | git checkout --track -b xfce-4.10 remotes/ | + | # get the stable branch |
| - | + | git checkout --track -b xfce-4.20 remotes/ | |
| - | # pull the latest changes | + | |
| - | git pull --rebase | + | |
| - | Now make sure all the bug fixes are committed and pushed to the remote repository. You can check this at [[http:// | + | # pull the latest changes |
| + | git pull --rebase | ||
| + | </file> | ||
| - | For the version number the //micro// version is increased by 1. So 4.10.2 becomes 4.10.3. | + | Now make sure all the bug fixes are committed and pushed to the remote repository. You can check this at [[http:// |
| + | |||
| + | 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 27: | 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 Makefile.am rule to generate the '' | + | <file bash> |
| + | ./autogen.sh --enable-gtk-doc | ||
| + | make distcheck | ||
| + | </file> | ||
| - | # put the git log in ChangeLog | + | If everything is ok // |
| - | git log > ChangeLog | + | |
| - | + | ||
| - | # commit | + | |
| - | git ci ChangeLog -m " | + | |
| - | + | ||
| - | # send to remote | + | |
| - | git push | + | |
| - | ==== Compile | + | [[|Back to Top]] |
| + | ---- | ||
| + | |||
| + | ===== Tag release ===== | ||
| + | |||
| + | If the tarball is build successfully, | ||
| + | |||
| + | <file bash> | ||
| + | # 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 | ||
| + | </ | ||
| + | |||
| + | For more information read the [[https:// | ||
| + | |||
| + | [[|Back to Top]] | ||
| + | ---- | ||
| + | |||
| + | ===== Upload the tarball ===== | ||
| + | |||
| + | - Open [[https:// | ||
| + | - 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 '' | ||
| + | * 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 '' | ||
| + | |||
| + | [[|Back to Top]] | ||
| + | ---- | ||
| - | ./ | + | ===== Post release ===== |
| - | make distcheck | + | |
| - | If everything is ok // | + | - Add the '' |
| + | - Possibly switch back to the '' | ||
| + | - Celebrate | ||
| + | [[|Back to Top]] | ||
| + | ---- | ||
| + | [[: | ||