You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
`officialRelease` influences the `versionSuffix` of the release tarball
59
+
60
+
-`true` leads to `24.05.1234.0abs3fe`
61
+
-`false` leads to `24.05pre1234.0abs3fe`
62
+
41
63
## Nixpkgs branch protection ruleset
42
64
43
65
The same as for the jobsets applies to Nixpkgs branch protection rulesets, which can be updated by NixOS org owners in advance.
@@ -48,7 +70,7 @@ New release branches should be added to the `includes` list in:
48
70
49
71
## Actual branch-off
50
72
51
-
Set NEWVER to the new release version:
73
+
Set NEWVER to the new release version (i.e. the version you release):
52
74
53
75
```bash
54
76
export NEWVER=24.05
@@ -72,17 +94,27 @@ Pull in the final changes before performing the actual branch-off.
72
94
73
95
Update metadata on the release branch, create its staging branches and tag the release.
74
96
75
-
1. Update the `system.defaultChannel`attribute in [`nixos/modules/config/nix-channel.nix`](https://github.com/NixOS/nixpkgs/commit/bb029673bface2fc9fb807f209f63ca06478a72d)
97
+
1. Update the `system.defaultChannel`option default in [`nixos/modules/config/nix-channel.nix`](https://github.com/NixOS/nixpkgs/commit/3c80acabe4eef35d8662733c7e058907fa33a65d#diff-14008678e5ceeef1edd491de85bca2bded89daea16793fe10c4eb724097b7f12)
76
98
77
-
1. Update the `versionSuffix` attribute in [`nixos/release.nix`](https://github.com/NixOS/nixpkgs/commit/7ae60dd7068478db5d936a3850b6df859aec21d0)
99
+
1. Update the `versionSuffix` attribute in [`nixos/release.nix`](https://github.com/NixOS/nixpkgs/commit/3c80acabe4eef35d8662733c7e058907fa33a65d#diff-20da30ee012d7d87842fb7953237870493c5497c995cba1e6f6c3aa9268398ff)
78
100
79
101
To get the commit count, use the following command:
80
102
81
103
```bash
82
104
git rev-list --count release-$NEWVER
83
105
```
84
106
85
-
1. Add `SUPPORT_END=YYYY-MM-DD` to `osReleaseContents` in `nixos/modules/misc/version.nix`.
107
+
1. Add `SUPPORT_END = "YYYY-MM-DD";` to `osReleaseContents` in [`nixos/modules/misc/version.nix`](https://github.com/NixOS/nixpkgs/commit/3c80acabe4eef35d8662733c7e058907fa33a65d#diff-b3379a98640b35a5fe4b046150cd2df1639995edf231d18bbad832be6a70b45f).
108
+
109
+
1. Run treefmt
110
+
```bash
111
+
nix-shell --run treefmt
112
+
```
113
+
114
+
1. Test that the `tested` "job" still evals
115
+
```bash
116
+
nix eval -f nixos/release-combined.nix tested
117
+
```
86
118
87
119
1. Commit the changes from the previous steps
88
120
@@ -102,8 +134,9 @@ Update metadata on the release branch, create its staging branches and tag the r
102
134
1. Tag the release and push everything
103
135
104
136
```bash
137
+
git switch release-$NEWVER
105
138
git tag --annotate --message="Release $NEWVER-beta"$NEWVER-beta
1. Create jobsets on hydra by contacting the infrastructure team and start the evaluation on all new jobsets.
@@ -121,42 +154,56 @@ Now we prepare the master branch for the next release after this one. We do this
121
154
122
155
#### PR changes
123
156
124
-
1. Update [`CONTRIBUTING.md`](https://github.com/NixOS/nixpkgs/commit/2c6ae7132ca558f1052da0eececed3cad191b883#diff-eca12c0a30e25b4b46522ebf89465a03ba72a03f540796c979137931d8f92055) on master.
157
+
Set NEXTVER to the release number after the one you released (i.e. when you release 24.05, `NEXTVER=24.11`).
158
+
159
+
```bash
160
+
export NEXTVER=24.11
161
+
```
162
+
163
+
1. Add the release name to [`nixos/doc/manual/release-notes/rl-$NEXTVER.section.md`](https://github.com/NixOS/nixpkgs/commit/bf470a4fddca6315d1b7c256a873c90f755b02d9#diff-417feb28ebc7ab0109746fef515d6cccdcd5af5c7386e1ce0b186db9b8e5677b), [`doc/release-notes/rl-2411.section.md`](https://github.com/NixOS/nixpkgs/commit/bf470a4fddca6315d1b7c256a873c90f755b02d9#diff-c5ba8855198f95e7fdb39bcd1106bb29c96b85c14bdfc4030b235a02806bf9b3)
125
164
126
-
1.Add the release name to [`nixos/doc/manual/release-notes/rl-2411.section.md`](https://github.com/NixOS/nixpkgs/commit/e56e0beed4312a89b60fe312ee2241f7a1627f76#diff-332df55682746a7949fbc279642f4b761456b3470ce93c541924a69ce8a45763), [`doc/release-notes/rl-2411.section.md`](https://github.com/NixOS/nixpkgs/commit/e56e0beed4312a89b60fe312ee2241f7a1627f76#diff-300d64b8febbf8f80bf778114bd0b70a2b31705d602365a32f7b5a2857764090)
165
+
1.Include `rl-$NEXTVER.section.md` in [`nixos/doc/manual/release-notes/release-notes.md`](https://github.com/NixOS/nixpkgs/commit/bf470a4fddca6315d1b7c256a873c90f755b02d9#diff-9b75bf997f6c13cb4a15145ef9e758a28addeeff4a3a5cb893a5c23a976b3a1a), [`doc/release-notes/release-notes.md`](https://github.com/NixOS/nixpkgs/commit/bf470a4fddca6315d1b7c256a873c90f755b02d9#diff-89abd55b6169384ba08083097a7ac5f5c30ea35d432a0ba2d1a76887f50a4f49)
127
166
128
-
1.Include `rl-2411.section.md` in [`nixos/doc/manual/release-notes/release-notes.md`](https://github.com/NixOS/nixpkgs/commit/e56e0beed4312a89b60fe312ee2241f7a1627f76#diff-9b75bf997f6c13cb4a15145ef9e758a28addeeff4a3a5cb893a5c23a976b3a1a) and [`doc/release-notes/release-notes.md`](https://github.com/NixOS/nixpkgs/commit/e56e0beed4312a89b60fe312ee2241f7a1627f76#diff-300d64b8febbf8f80bf778114bd0b70a2b31705d602365a32f7b5a2857764090)
167
+
1.Update [`nixos/manual/doc/redirects.json`](https://github.com/NixOS/nixpkgs/commit/bf470a4fddca6315d1b7c256a873c90f755b02d9#diff-8e9034e569678f9c67bf82087ff7dced3b18de5491707988a43fb8979a82794f), [`doc/redirects.json`](https://github.com/NixOS/nixpkgs/commit/bf470a4fddca6315d1b7c256a873c90f755b02d9#diff-9499ad98fd024845445ff2f32b424d29f632932b4bbe15dfd9d0f447890bbae6) and to include the new sections.
129
168
130
-
1. Update the [periodic-merge workflow](https://github.com/NixOS/nixpkgs/commit/e56e0beed4312a89b60fe312ee2241f7a1627f76#diff-a4f6ea695ede268916c760fe782e9645a8cab5b27747e4baa994bf59f3e4e07b) so that
131
-
-release-24.05 (instead of master) gets merged into staging-next-24.05
169
+
1. Update the [.github/workflows/periodic-merge-24h.yml](https://github.com/NixOS/nixpkgs/commit/bf470a4fddca6315d1b7c256a873c90f755b02d9#diff-a4f6ea695ede268916c760fe782e9645a8cab5b27747e4baa994bf59f3e4e07b) so that
170
+
-`release-$NEWVER` (instead of `master`) gets merged into `staging-next-$NEWVER`
132
171
133
-
1. Commit the changes and create a PR
172
+
1. Go through `.github/ISSUE_TEMPLATE`, and edit them to include the new version as beta.
173
+
174
+
Example [25.11](https://github.com/NixOS/nixpkgs/commit/c69a76cf803096fb8d1b3732fea57d69d6d301f1)
175
+
176
+
1. Commit the changes and create a PR.
134
177
Wait for the CI to finish and merge.
135
178
136
179
#### Direct changes
137
180
138
181
These changes should be done when the PR is already merged.
139
182
183
+
1. Switch back to the `master` branch
184
+
```bash
185
+
git switch master
186
+
```
187
+
140
188
1. Increment the [`lib/.version`](https://github.com/NixOS/nixpkgs/commit/01268fda85b7eee4e462c873d8654f975067731f#diff-2bc0e46110b507d6d5a344264ef15adaR1)
141
189
file. This file must **not** end with a new line!
142
190
143
191
```bash
144
192
# The release after $NEWVER (24.05 -> 24.11)
145
-
echo -n "24.11"> lib/.version
193
+
echo -n "$NEXTVER"> lib/.version
146
194
````
147
195
148
196
1. Update the `codeName` attribute in [`lib/trivial.nix`](https://github.com/NixOS/nixpkgs/commit/2c28f1de7cdc10be556d2106108411dd2482794b#diff-29c71aa8261b14b1cad6e6fa28486fed7295050db4eeb32ba205672ba91d40e1)
149
197
This will be the name for the next release.
150
-
on master.
151
198
152
-
1. Commit the changes ([23.05 example](https://github.com/NixOS/nixpkgs/commit/2c28f1de7cdc10be556d2106108411dd2482794b) + [this commit](https://github.com/NixOS/nixpkgs/commit/2c6ae7132ca558f1052da0eececed3cad191b883))
199
+
1. Commit the changes as `$NEXTVER is <codeName>`([25.11 example](https://github.com/NixOS/nixpkgs/commit/2493002b10ccef0880f72d7720538f91fb4f7434))
153
200
154
201
1. Tag the master branch, so that `git describe` shows the new version as the base for commits.
155
202
156
203
```bash
157
-
git tag --annotate 24.11-pre
158
-
git push upstream master 24.11-pre
159
-
git describe HEAD # should yield 24.11-pre
204
+
git tag --annotate $NEXTVER-pre
205
+
git push upstream master $NEXTVER-pre
206
+
git describe HEAD # should yield $NEXTVER-pre
160
207
```
161
208
162
209
### And afterwards
@@ -181,12 +228,7 @@ Now that everything on git is done, we are still missing the channels.
181
228
182
229
The following steps should be done after the channels have become available on [channels.nixos.org](https://channels.nixos.org).
183
230
184
-
1. Update the flake input on the `nixos-search` repository, and create a pull request:
1. Update the flake input on the `nixos-search` repository by running [the update-flake-lock](https://github.com/NixOS/nixos-search/actions/workflows/update-flake-lock.yml) and merging the new created PR afterwards.
190
232
191
233
1. Give the [Marketing team](https://matrix.to/#/#marketing:nixos.org) a heads-up about the upcoming release
0 commit comments