1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110
|
# How to make a xkeyboard-config release
### Prerequisites
- Have write access to xkeyboard-config Git repositories.
### Steps
#### Prepare the translations
**2 weeks before release:**
- [ ] Create a release branch: `git checkout -b release/MAJOR.PREV_MINOR.99 master`
where `MAJOR.PREV_MINOR` is the *last* released version.
- [ ] Bump the `version` in `meson.build` to `MAJOR.PREV_MINOR.99`.
- [ ] Run `meson setup buildddir; meson dist -C builddir` to make sure the release is good to go.
- [ ] Run `meson compile -C builddir xkeyboard-config-pot` to update `po/xkeyboard-config.pot` file.
- [ ] Commit `meson.build` and `po/xkeyboard-config.pot` with subject “String freeze MAJOR.MINOR”.
- [ ] Create a pull request with subject “String freeze MAJOR.MINOR” and
description:
> Bump version to send to the [Translation Project]
> [Translation Project]: https://translationproject.org/html/maintainers.html
and ensure *all* CI is green.
- [ ] Merge the pull request.
- [ ] Send `po/xkeyboard-config.pot` and `builddir/meson-dist/xkeyboard-config-MAJOR.PREV_MINOR.tar.xz` to Translation Project asking for translations update: <coordinator@translationproject.org>. See the [instructions from the TP].
[instructions from the TP]: https://translationproject.org/html/maintainers.html
- [ ] Give the Translation Project *2 weeks* to update translations.
#### Translations update
**Day of the release**
- [ ] Pull the latest [translation files] from Translation Project by executing
`scripts/pull_translations.sh`.
- [ ] Trim any superfluous white space from these files.
- [ ] `git commit -m 'Update translations – Thanks to TP'`.
- [ ] Create a pull request with suject “Update translations”
and ensure *all* CI is green.
- [ ] Merge the pull request.
[translation files]: https://translationproject.org/domain/xkeyboard-config.html
#### Release
- [ ] Ensure there is no issue in the tracker blocking the release. Make sure
they have their milestone set to the relevant release and the relevant tag
“critical”.
- [ ] Ensure all items in the current milestone are processed. Remaining items
must be *explicitly* postponed by changing their milestone.
- [ ] Create a release branch: `git checkout -b release/MAJOR.MINOR master`.
- [ ] Bump the `version` in `meson.build`.
- [ ] Update the `ChangeLog.md` file for the release, following
[the corresponding instructions](changes/README.md).
- [ ] Review the changelog: typos, item order, formatting.
- [ ] Run `meson setup buildddir; meson dist -C builddir` to make sure the release is good to go.
- [ ] Commit `git commit -m 'New version MAJOR.MINOR'`.
- [ ] Create a pull request using this template and ensure *all* CI is green.
- [ ] Merge the pull request.
- [ ] Tag:
```bash
git switch master && \
git pull && \
git tag --annotate -m "xkeyboard-config-<MAJOR.MINOR>" "xkeyboard-config-<MAJOR.MINOR>"
```
- [ ] Push the tag `git push origin xkeyboard-config-<MAJOR.MINOR>`.
#### Send announcement email to xorg-announce
- [ ] Send an email to the xorg-announce@lists.x.org mailing list, using this template:
```
Subject: [ANNOUNCE] xkeyboard-config MAJOR.MINOR
<NEWS & comments for this release>
Git tag:
--------
git tag: xkeyboard-config-<MAJOR.MINOR>
git commit: <git commit sha>
<YOUR NAME>
```
|