Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
contribute:dev:make-a-release [2014/03/05 14:28] – created 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 ===== | ||
+ | |||
+ | If you are sure all the fixes are committed in the correct branch, its time to prepare the release. | ||
+ | |||
+ | ==== Update NEWS, Release Notes, & Translations | ||
+ | |||
+ | As of Xfce version 4.15.0, [[https:// | ||
+ | |||
+ | * **[[https:// | ||
+ | * **[[https:// | ||
+ | * **[[https:// | ||
+ | * **[[https:// | ||
+ | |||
+ | ==== Update version number ==== | ||
+ | |||
+ | - Edit the configure script template configure.ac.in. | ||
+ | - Set the package version (< | ||
+ | - Remove git from < | ||
+ | - Check the build dependencies. | ||
+ | |||
+ | ==== Compile the code ==== | ||
+ | |||
+ | <file bash> | ||
+ | ./ | ||
+ | make distcheck | ||
+ | </ | ||
+ | |||
+ | If everything is ok // | ||
+ | |||
+ | [[|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 ===== | ||
+ | |||
+ | - Add the '' | ||
+ | - Possibly switch back to the '' | ||
+ | - Celebrate | ||
+ | |||
+ | [[|Back to Top]] | ||
+ | ---- | ||
+ | [[: |