ebraminio | 933a81d | 2017-10-01 19:35:24 +0330 | [diff] [blame] | 1 | HarfBuzz release walk-through checklist: |
| 2 | |
| 3 | 1. Open gitk and review changes since last release. |
ebraminio | 933a81d | 2017-10-01 19:35:24 +0330 | [diff] [blame] | 4 | |
Behdad Esfahbod | 61d1c60 | 2017-10-23 13:10:21 -0400 | [diff] [blame] | 5 | * `git diff $(git describe | sed 's/-.*//').. src/*.h` prints all public API |
| 6 | changes. |
| 7 | |
| 8 | Document them in NEWS. All API and API semantic changes should be clearly |
| 9 | marked as API additions, API changes, or API deletions. Document |
Behdad Esfahbod | f3e58ab | 2018-06-12 19:32:04 -0400 | [diff] [blame] | 10 | deprecations. Ensure all new API / deprecations are in listed correctly in |
Behdad Esfahbod | 1019391 | 2018-10-30 15:52:26 -0700 | [diff] [blame] | 11 | docs/harfbuzz-sections.txt. If release added new API, add entry for new |
| 12 | API index at the end of docs/harfbuzz-docs.xml. |
Behdad Esfahbod | 61d1c60 | 2017-10-23 13:10:21 -0400 | [diff] [blame] | 13 | |
| 14 | If there's a backward-incompatible API change (including deletions for API |
| 15 | used anywhere), that's a release blocker. Do NOT release. |
| 16 | |
| 17 | 2. Based on severity of changes, decide whether it's a minor or micro release |
| 18 | number bump, |
| 19 | |
Ebrahim Byagowi | 5f7f0bf | 2018-03-29 04:22:53 +0430 | [diff] [blame] | 20 | 3. Search for REPLACEME on the repository and replace it with the chosen version |
| 21 | for the release. |
Behdad Esfahbod | 61d1c60 | 2017-10-23 13:10:21 -0400 | [diff] [blame] | 22 | |
Ebrahim Byagowi | d5238c1 | 2020-07-06 01:53:27 +0430 | [diff] [blame] | 23 | 4. Make sure you have correct date and new version at the top of NEWS file. |
Behdad Esfahbod | 61d1c60 | 2017-10-23 13:10:21 -0400 | [diff] [blame] | 24 | |
Ebrahim Byagowi | 5193357 | 2020-08-11 23:51:59 +0430 | [diff] [blame] | 25 | 5. Bump version in line 3 of meson.build and configure.ac. |
Ebrahim Byagowi | d5238c1 | 2020-07-06 01:53:27 +0430 | [diff] [blame] | 26 | Do a `meson test -Cbuild` so it both checks the tests and updates |
| 27 | hb-version.h (use `git diff` to see if is really updated). |
Ebrahim Byagowi | 5f7f0bf | 2018-03-29 04:22:53 +0430 | [diff] [blame] | 28 | |
Ebrahim Byagowi | d5238c1 | 2020-07-06 01:53:27 +0430 | [diff] [blame] | 29 | 6. Commit NEWS, meson.build, configure.ac, and src/hb-version.h, as well as any REPLACEME |
| 30 | changes you made. The commit message is simply the release number. Eg. "1.4.7" |
Behdad Esfahbod | 61d1c60 | 2017-10-23 13:10:21 -0400 | [diff] [blame] | 31 | |
Ebrahim Byagowi | d5238c1 | 2020-07-06 01:53:27 +0430 | [diff] [blame] | 32 | 7. Do a `meson dist -Cbuild` that runs the tests against the latest commited changes. |
| 33 | If doesn't pass, something fishy is going on, reset the repo and start over. |
Behdad Esfahbod | 61d1c60 | 2017-10-23 13:10:21 -0400 | [diff] [blame] | 34 | |
Ebrahim Byagowi | d5238c1 | 2020-07-06 01:53:27 +0430 | [diff] [blame] | 35 | 8. Tag the release and sign it: Eg. "git tag -s 1.4.7 -m 1.4.7". Enter your |
Ebrahim Byagowi | 8571b35 | 2020-06-06 20:16:50 +0430 | [diff] [blame] | 36 | GPG password. |
Behdad Esfahbod | 61d1c60 | 2017-10-23 13:10:21 -0400 | [diff] [blame] | 37 | |
Ebrahim Byagowi | d5238c1 | 2020-07-06 01:53:27 +0430 | [diff] [blame] | 38 | 9. Build win32 bundle. See [README.mingw.md](README.mingw.md). |
Behdad Esfahbod | 61d1c60 | 2017-10-23 13:10:21 -0400 | [diff] [blame] | 39 | |
Ebrahim Byagowi | d5238c1 | 2020-07-06 01:53:27 +0430 | [diff] [blame] | 40 | 10. Push the commit and tag out: "git push --follow-tags". |
Behdad Esfahbod | 61d1c60 | 2017-10-23 13:10:21 -0400 | [diff] [blame] | 41 | |
Ebrahim Byagowi | d5238c1 | 2020-07-06 01:53:27 +0430 | [diff] [blame] | 42 | 11. Go to GitHub release page [here](https://github.com/harfbuzz/harfbuzz/releases), |
| 43 | edit the tag, upload win32 bundle and NEWS entry and save. |
| 44 | No need to upload source tarball as we rely to GitHub's automatic tar.gz generation. |