Skip to content

Commit e1feb20

Browse files
Amend RELEASING.md (#2615)
Add Mergify instructions and improve the instructions for writing `CHANGELOG.md`.
1 parent cb401b8 commit e1feb20

File tree

1 file changed

+18
-12
lines changed

1 file changed

+18
-12
lines changed

RELEASING.md

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -28,27 +28,31 @@ on [a special Hackage page](http://hackage.haskell.org/package/clash-prelude/can
2828
* `clash-ghc/clash-ghc.cabal`
2929
* `clash-cores/clash-cores.cabal`
3030
* `docs/conf.py`
31-
2. Update the CHANGELOG (see changelog/README.md).
32-
3. Create a release branch named after the major version of Clash you're trying to
31+
2. Update the CHANGELOG (see `changelog/README.md`). Each entry should normally
32+
end with a link to a PR or issue. The script `changelog/blame_pr.py` will
33+
tell you for a single file which PR('s) introduced it.
34+
3. Add a new `pull_request_rule` for backports to `.mergify.yml` for the branch
35+
you will create.
36+
4. Create a release branch named after the major version of Clash you're trying to
3337
release. For example, if you're planning on releasing Clash 1.6.0, create a
3438
branch called `1.6`.
35-
4. Repeat step (1) in the new release branch.
36-
5. Change the defaults of cabal flags in `clash-prelude/clash-prelude.cabal`
39+
5. Repeat step (1) in the new release branch.
40+
6. Change the defaults of cabal flags in `clash-prelude/clash-prelude.cabal`
3741
where necessary. At the time of writing this applies only to
3842
`-fmultiple-hidden`.
39-
6. Ask someone with admin permissions on GitLab to create a new nightly schedule
43+
7. Ask someone with admin permissions on GitLab to create a new nightly schedule
4044
and trigger a test release build on [GitLab CI](https://gitlab.com/clash-lang/clash-compiler/pipeline_schedules).
4145
The new schedule should be the same as the old one, but targeting the new
4246
release branch. Verify that the Hackage release deploys well, and preview
4347
the release. [Preview on Hackage](http://hackage.haskell.org/package/clash-prelude/candidates/)
44-
7. Write release notes for: Twitter, LinkedIn, and clash-lang.org.
45-
8. Create a release on [GitHub's new release page](https://github.com/clash-lang/clash-compiler/releases/new)
46-
9. After the release is on Hackage: run `changelog/comment-gh.py` and execute
48+
8. Write release notes for: Twitter, LinkedIn, and clash-lang.org.
49+
9. Create a release on [GitHub's new release page](https://github.com/clash-lang/clash-compiler/releases/new)
50+
10. After the release is on Hackage: run `changelog/comment-gh.py` and execute
4751
the commands it lists. This will inform users subscribed to specific issues
4852
that a fix for their issue is now in a released version.
49-
10. Update the [starter projects](https://github.com/clash-lang/stack-templates/)
50-
11. Update these docs if anything is missing :-)
51-
12. Enjoy!
53+
11. Update the [starter projects](https://github.com/clash-lang/stack-templates/)
54+
12. Update these docs if anything is missing :-)
55+
13. Enjoy!
5256

5357
## Releasing a new version minor version (1.x.x)
5458
1. Change version numbers in:
@@ -59,7 +63,9 @@ on [a special Hackage page](http://hackage.haskell.org/package/clash-prelude/can
5963
* `clash-ghc/clash-ghc.cabal`
6064
* `clash-cores/clash-cores.cabal`
6165
* `docs/conf.py`
62-
2. Update the CHANGELOG (see changelog/README.md).
66+
2. Update the CHANGELOG (see `changelog/README.md`). Each entry should normally
67+
end with a link to a PR or issue. The script `changelog/blame_pr.py` will
68+
tell you for a single file which PR('s) introduced it.
6369
3. Ask someone with admin permissions on GitLab to trigger a nightly schedule,
6470
or simply wait a day. Verify that the Hackage release deploys well, and
6571
preview the release. [Preview on Hackage](http://hackage.haskell.org/package/clash-prelude/candidates/)

0 commit comments

Comments
 (0)