aboutsummaryrefslogtreecommitdiff
path: root/maintainers/release-process.md
diff options
context:
space:
mode:
authoreldritch horrors <pennae@lix.systems>2024-03-04 07:11:19 +0100
committereldritch horrors <pennae@lix.systems>2024-03-04 07:11:19 +0100
commite8a488236c0f3e33d3ed71a5bb543d59ec54d2f1 (patch)
tree8d5acbaa29084240621b9bcd4b4d3381959936cc /maintainers/release-process.md
parentd8a293d61d4b4e826ae1c153b5a816d0e0e8138d (diff)
Merge pull request #9393 from hercules-ci/changelog-d
Automatically compile hand-written release notes with `changelog-d` (cherry picked from commit 928f0c13414d20c1af88b30bd6700fd730ee0bab) Change-Id: Ia0685835c52edf185b64dd696b19305746c077e5
Diffstat (limited to 'maintainers/release-process.md')
-rw-r--r--maintainers/release-process.md59
1 files changed, 37 insertions, 22 deletions
diff --git a/maintainers/release-process.md b/maintainers/release-process.md
index d85266b81..db8b064a5 100644
--- a/maintainers/release-process.md
+++ b/maintainers/release-process.md
@@ -24,34 +24,23 @@ release:
* In a checkout of the Nix repo, make sure you're on `master` and run
`git pull`.
-* Move the contents of `doc/manual/src/release-notes/rl-next.md`
- (except the first line) to
- `doc/manual/src/release-notes/rl-$VERSION.md` (where `$VERSION` is
- the contents of `.version` *without* the patch level, e.g. `2.12`
- rather than `2.12.0`).
+* Compile the release notes by running
-* Add a header to `doc/manual/src/release-notes/rl-$VERSION.md` like
-
- ```
- # Release 2.12 (2022-12-06)
+ ```console
+ $ git checkout -b release-notes
+ $ VERSION=X.YY ./maintainers/release-notes
```
-* Proof-read / edit / rearrange the release notes. Breaking changes
- and highlights should go to the top.
+ where `X.YY` is *without* the patch level, e.g. `2.12` rather than ~~`2.12.0`~~.
-* Add a link to the release notes to `doc/manual/src/SUMMARY.md.in`
- (*not* `SUMMARY.md`), e.g.
+ A commit is created.
- ```
- - [Release 2.12 (2022-12-06)](release-notes/rl-2.12.md)
- ```
+* Proof-read / edit / rearrange the release notes if needed. Breaking changes
+ and highlights should go to the top.
-* Run
+* Push.
```console
- $ git checkout -b release-notes
- $ git add doc/manual/src/release-notes/rl-$VERSION.md
- $ git commit -a -m 'Release notes'
$ git push --set-upstream $REMOTE release-notes
```
@@ -67,15 +56,17 @@ release:
$ git checkout -b $VERSION-maintenance
```
-* Mark the release as stable:
+* Mark the release as official:
```console
- $ git cherry-pick f673551e71942a52b6d7ae66af8b67140904a76a
+ $ sed -e 's/officialRelease = false;/officialRelease = true;/' -i flake.nix
```
This removes the link to `rl-next.md` from the manual and sets
`officialRelease = true` in `flake.nix`.
+* Commit
+
* Push the release branch:
```console
@@ -159,6 +150,30 @@ release:
## Creating a point release
+* Checkout.
+
+ ```console
+ $ git checkout XX.YY-maintenance
+ ```
+
+* Determine the next patch version.
+
+ ```console
+ $ export VERSION=XX.YY.ZZ
+ ```
+
+* Update release notes.
+
+ ```console
+ $ ./maintainers/release-notes
+ ```
+
+* Push.
+
+ ```console
+ $ git push
+ ```
+
* Wait for the desired evaluation of the maintenance jobset to finish
building.