Bryce Harrington | b73c58e | 2015-01-09 18:09:21 -0800 | [diff] [blame^] | 1 | To make a release of Weston and/or Wayland, follow these steps. |
Kristian Høgsberg | 73dfbd5 | 2014-05-23 10:13:59 -0700 | [diff] [blame] | 2 | |
Bryce Harrington | b73c58e | 2015-01-09 18:09:21 -0800 | [diff] [blame^] | 3 | 0. Update the first three lines of configure.ac to the intended |
| 4 | version, commit. Also note that Weston includes versioned |
| 5 | dependencies on 'wayland-server' and 'wayland-client' in |
| 6 | configure.ac which typically need updated as well. |
Kristian Høgsberg | 73dfbd5 | 2014-05-23 10:13:59 -0700 | [diff] [blame] | 7 | |
Bryce Harrington | b73c58e | 2015-01-09 18:09:21 -0800 | [diff] [blame^] | 8 | 1. Verify the test suites and codebase checks pass. (All of the |
| 9 | tests pass should pass except for xwayland, which can be flaky.) |
Kristian Høgsberg | 73dfbd5 | 2014-05-23 10:13:59 -0700 | [diff] [blame] | 10 | |
Bryce Harrington | b73c58e | 2015-01-09 18:09:21 -0800 | [diff] [blame^] | 11 | $ make check |
Kristian Høgsberg | 73dfbd5 | 2014-05-23 10:13:59 -0700 | [diff] [blame] | 12 | |
Bryce Harrington | b73c58e | 2015-01-09 18:09:21 -0800 | [diff] [blame^] | 13 | 2. Run the release.sh script to generate the tarballs, sign and |
| 14 | upload them, and generate a release announcement template. |
| 15 | This script can be obtained from X.org's modular package: |
Kristian Høgsberg | 73dfbd5 | 2014-05-23 10:13:59 -0700 | [diff] [blame] | 16 | |
Bryce Harrington | b73c58e | 2015-01-09 18:09:21 -0800 | [diff] [blame^] | 17 | http://cgit.freedesktop.org/xorg/util/modular/tree/release.sh |
Kristian Høgsberg | 73dfbd5 | 2014-05-23 10:13:59 -0700 | [diff] [blame] | 18 | |
Bryce Harrington | b73c58e | 2015-01-09 18:09:21 -0800 | [diff] [blame^] | 19 | The script supports a --dry-run option to test it without actually |
| 20 | doing a release. If the script fails on the distcheck step due to |
| 21 | a testsuite error that can't be fixed for some reason, you can |
| 22 | skip testsuite by specifying the --dist argument. Pass --help to |
| 23 | see other supported options. |
Kristian Høgsberg | 73dfbd5 | 2014-05-23 10:13:59 -0700 | [diff] [blame] | 24 | |
Bryce Harrington | b73c58e | 2015-01-09 18:09:21 -0800 | [diff] [blame^] | 25 | 3. Compose a release announcement. The script will generate a |
| 26 | weston.x.y.0.announce file with a list of changes and tags. |
| 27 | Prepend this with a human-readable listing of the most notable |
| 28 | changes. For x.y.0 releases, indicate the schedule for the |
| 29 | x.y+1.0 release. |
Kristian Høgsberg | 73dfbd5 | 2014-05-23 10:13:59 -0700 | [diff] [blame] | 30 | |
Bryce Harrington | b73c58e | 2015-01-09 18:09:21 -0800 | [diff] [blame^] | 31 | 4. Send the release announcement to wayland-devel@lists.freedesktop.org |
| 32 | |
| 33 | 5. Get your freshly posted release email URL from |
Kristian Høgsberg | 73dfbd5 | 2014-05-23 10:13:59 -0700 | [diff] [blame] | 34 | http://lists.freedesktop.org/archives/wayland-devel/ |
| 35 | |
Bryce Harrington | b73c58e | 2015-01-09 18:09:21 -0800 | [diff] [blame^] | 36 | 6. Update releases.html in wayland-web with links to tarballs and |
| 37 | the release email URL |
Kristian Høgsberg | 73dfbd5 | 2014-05-23 10:13:59 -0700 | [diff] [blame] | 38 | |
Bryce Harrington | b73c58e | 2015-01-09 18:09:21 -0800 | [diff] [blame^] | 39 | 7. Update topic in #wayland to point to the release announcement URL |
Kristian Høgsberg | 73dfbd5 | 2014-05-23 10:13:59 -0700 | [diff] [blame] | 40 | |
| 41 | For x.y.0 releases, also create the x.y branch. The x.y branch is for |
Bryce Harrington | ae71579 | 2015-01-09 18:09:20 -0800 | [diff] [blame] | 42 | bug fixes and conservative changes to the x.y.0 release, and is where |
Kristian Høgsberg | 73dfbd5 | 2014-05-23 10:13:59 -0700 | [diff] [blame] | 43 | we release x.y.z releases from. Creating the x.y branch opens up |
| 44 | master for new development and lets new development move on. We've |
| 45 | done this both after the x.y.0 release (to focus development on bug |
| 46 | fixing for the x.y.1 release for a little longer) or before the x.y.0 |
| 47 | release (like we did with the 1.5.0 release, to unblock master |
| 48 | development early). |
| 49 | |
Bryce Harrington | b73c58e | 2015-01-09 18:09:21 -0800 | [diff] [blame^] | 50 | $ git branch x.y |
| 51 | $ git push origin x.y |
| 52 | |
Kristian Høgsberg | 73dfbd5 | 2014-05-23 10:13:59 -0700 | [diff] [blame] | 53 | The master branch configure.ac version should always be (at least) |
| 54 | x.y.90, with x.y being the most recent stable branch. Stable branch |
| 55 | configure version is just whatever was most recently released from |
| 56 | that branch. |
| 57 | |
| 58 | For stable branches, we commit fixes to master first, then cherry-pick |
| 59 | them back to the stable branch. |