]>
Commit | Line | Data |
---|---|---|
c3e270f4 FB |
1 | --- |
2 | title: Steps to a Successful Release | |
4cdca0af | 3 | category: Contributing |
b41a3f66 | 4 | layout: default |
0aff7b75 | 5 | SPDX-License-Identifier: LGPL-2.1-or-later |
c3e270f4 FB |
6 | --- |
7 | ||
c1d3483d | 8 | # Steps to a Successful Release |
d11343ac ZJS |
9 | |
10 | 1. Add all items to NEWS | |
e8a68817 | 11 | 2. Update the contributors list in NEWS (`ninja -C build git-contrib`) |
d11343ac | 12 | 3. Update the time and place in NEWS |
edef9c46 | 13 | 4. Update hwdb (`ninja -C build update-hwdb`, `ninja -C build update-hwdb-autosuspend`, commit separately). |
e447f9ac | 14 | 5. Update syscall numbers (`ninja -C build update-syscall-tables update-syscall-header`). |
ea2a57be DDM |
15 | 6. [RC1] Update library numbers in `meson.build` |
16 | 7. Update version number in `meson.version` (e.g. from `v256~devel` to `v256~rc1` or from `v256~rc3` to `v256`) | |
17 | 8. Check dbus docs with `ninja -C build update-dbus-docs` | |
b99a26e1 | 18 | 9. Update translation strings (`ninja -C build systemd-pot`, `ninja -C build systemd-update-po`) - drop the header comments from `systemd.pot` + re-add SPDX before committing. If the only change in a file is the 'POT-Creation-Date' field, then ignore that file. |
ea2a57be DDM |
19 | 10. Tag the release: `version=vXXX~rcY && git tag -s "${version}" -m "systemd ${version}"`. Note that this uses a tilde (\~) instead of a hyphen (-) because tildes sort lower in version comparisons according to the [version format specification](https://uapi-group.org/specifications/specs/version_format_specification/), and we want `v255~rc1` to sort lower than `v255`. |
20 | 11. Do `ninja -C build` | |
21 | 12. Make sure that the version string and package string match: `build/systemctl --version` | |
22 | 13. [FINAL] Close the github milestone and open a new one (https://github.com/systemd/systemd/milestones) | |
23 | 14. "Draft" a new release on github (https://github.com/systemd/systemd/releases/new), mark "This is a pre-release" if appropriate. | |
24 | 15. Check that announcement to systemd-devel, with a copy&paste from NEWS, was sent. This should happen automatically. | |
25 | 16. Update IRC topic (`/msg chanserv TOPIC #systemd Version NNN released | Online resources https://systemd.io/`) | |
26 | 17. [FINAL] Push commits to stable, create an empty -stable branch: `git push systemd-stable --atomic origin/main:main origin/main:refs/heads/${version}-stable`. | |
27 | 18. [FINAL] Build and upload the documentation (on the -stable branch): `ninja -C build doc-sync` | |
28 | 19. [FINAL] Change the default branch to latest release (https://github.com/systemd/systemd-stable/settings/branches). | |
29 | 20. [FINAL] Change the Github Pages branch in the stable repository to the newly created branch (https://github.com/systemd/systemd-stable/settings/pages) and set the 'Custom domain' to 'systemd.io' | |
30 | 21. [FINAL] Update version number in `meson.version` to the devel version of the next release (e.g. from `v256` to `v257~devel`) |