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:47] – [Tag release] nick | contribute: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 ====== | ||
- | Before you start with this, make sure you understand the [[http:// | + | * **[[# |
+ | * **[[#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:// | ||
+ | |||
+ | <note important> | ||
+ | |||
+ | 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 ' | ||
+ | |||
+ | ---- | ||
===== Version Numbering ===== | ===== Version Numbering ===== | ||
Line 9: | Line 24: | ||
Stable releases are created from the stable branch of the repository. So before you start make sure you are working in this branch. | Stable releases are created from the stable branch of the repository. So before you start make sure you are working in this branch. | ||
- | | + | <file bash> |
- | git checkout --track -b xfce-4.10 remotes/ | + | # get the stable branch |
- | + | git checkout --track -b xfce-4.14 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.12.2 becomes 4.12.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.15.0, then 4.15.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 '' | + | <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 the code ==== | + | [[|Back to Top]] |
+ | ---- | ||
- | ./ | + | ===== Tag release ===== |
- | make distcheck | + | |
- | If everything | + | If the tarball |
+ | |||
+ | <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 | ||
+ | </file> | ||
+ | |||
+ | For more information read the [[https://git-scm.com/docs/ | ||
+ | |||
+ | [[|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 | ||
+ | - Make a nice summary of the new features or just paste the contents of the '' | ||
- | ==== Tag release ==== | + | [[|Back to Top]] |
+ | ---- | ||
- | If the tarball is build successfully, | + | ===== Post release |
- | | + | - Add the '' |
- | git status | + | |
- | + | - Celebrate | |
- | # if not, commit them | + | |
- | git commit | + | |
- | + | ||
- | # tag the release | + | |
- | git tag -a abc.x.y.z | + | |
- | | + | |
- | # send tag to remote | + | |
- | | + | |
- | For more information read the [[http://git-scm.com/ | + | [[|Back to Top]] |
+ | ---- | ||
+ | [[: |