|
2 | 2 |
|
3 | 3 | ## Prerequisites |
4 | 4 |
|
5 | | -* [ ] Decide on new version number (`MAJOR.MINOR.PATCH`) |
6 | | - * Tag name: `release-${VERSION}` |
| 5 | +* [ ] Changelog checks (`CHANGELOG.md`): |
| 6 | + * Check that all user-facing changes have been recorded. |
| 7 | + * Check that each changelog entry is in the correct category. |
| 8 | + * Check that each changelog entry links to a PR, if applicable. |
| 9 | + * Add or update the changelog's section header with the package version that |
| 10 | + is going to be released, and the date of the release. The version should be |
| 11 | + picked based on our package versioning policy. |
| 12 | + |
| 13 | +* [ ] Cabal project file checks (`cabal.project*`): |
| 14 | + * Update the `index-state` in the `cabal.project` file to the current |
| 15 | + date-time, or the closest valid date-time to the current date-time, so that |
| 16 | + CI builds and tests the libraries with the newest versions of dependencies. |
| 17 | + |
| 18 | +* [ ] Decide on new version number (`MAJOR.MAJOR.MINOR`): Releases follow the |
| 19 | + [Haskell Package Versioning Policy](https://pvp.haskell.org/). We use version |
| 20 | + numbers consisting of 3 parts, like `A.B.C`. |
| 21 | + * `A.B` is the *major* version number. A bump indicates a breaking change. |
| 22 | + * `C` is the *minor* version number. A bump indicates a non-breaking change. |
| 23 | + |
| 24 | +* Tag name: `release-${VERSION}` |
7 | 25 |
|
8 | 26 | ## Preparation |
9 | 27 |
|
10 | 28 | * [ ] Set the version in `libclang-bindings.cabal` |
11 | 29 |
|
12 | 30 | * [ ] Set the `source-repository this` tag in `libclang-bindings.cabal` |
13 | 31 |
|
14 | | -* [ ] Set the version in `configure.ac` |
| 32 | +* [ ] Set the version in `libclang-bindings/configure.ac` |
| 33 | + |
| 34 | +* [ ] Set the version in `libclang-bootstrap.cabal` |
15 | 35 |
|
16 | 36 | * [ ] Reconfigure |
17 | 37 |
|
|
27 | 47 |
|
28 | 48 | ## GitHub |
29 | 49 |
|
30 | | -* [ ] Push `main` |
31 | | -
|
32 | | - ``` |
33 | | - $ git push origin main |
34 | | - ``` |
| 50 | +* [ ] Ensure the changes above land on `main` |
35 | 51 |
|
36 | 52 | * [ ] Tag the release |
37 | 53 |
|
|
45 | 61 | $ git push origin "${TAG}" |
46 | 62 | ``` |
47 | 63 |
|
48 | | -* [ ] [Create a new release](https://github.com/well-typed/libclang/releases/new) |
| 64 | +* [ ] [Create a new GitHub release](https://github.com/well-typed/libclang-bindings/releases/new) |
49 | 65 | * [ ] Select tag |
50 | 66 | * [ ] Target: `main` |
51 | 67 | * [ ] Release title: `Release ${VERSION}` |
|
0 commit comments