In order to be better organized and ready for release, we should document what needs to be done before the release together with an informative schedule.
send a warning email to nix-dev and talk to Eelco/others what should be part of the release.
Rename rl-unstable.xml -> rl-1509.xml
git tag -a -m "Release 15.09-beta" 15.09-branch-off && git push --tagsgit merge-base master release-15.09.system.defaultChannel attribute in nixos/modules/misc/version.nix, see https://github.com/NixOS/nixpkgs/compare/bdf161ed8d21...6b63c4616790versionSuffix in nixos/release.nix, see https://github.com/NixOS/nixpkgs/compare/bdf161ed8d21...6b63c4616790 (git log --format=%an|wc -l to get commit count)echo -n "16.09" > .version in mastercreate two Hydra jobsets (release and release-small)
generate nixops images for this release (EC2/GCE/VB)
edit changelog at nixos/doc/manual/release-notes/rl-1509.xml (double check desktop versions are noted)
git di release-14.12..release-15.09 nixos/modules/module-list.nix|grep ^+git tag -s -a -m "Release 15.09" 15.09
git log release-14.04..release-14.12 --format=%an|wc -lgit log release-14.04..release-14.12 --format=%an|sort|uniq -c|sort -rnCan we already create the branch and then stabilize it? There's no reason to hold up development on master...
Yes, exactly. Instead of postponing all destabilizing updates for a week or two, it is much better to just branch release-14.10 earlier. Another alternative that we newly have would be to put destabilizing changes into staging instead, which is anyway IMHO the correct place for them (especially if they cause lots of rebuilds).
We also need to document the release schedule for each release.
IMHO, we should also create git tags: https://github.com/NixOS/nixpkgs/issues/9009
This should be ready now so it's included in the manual.
@domenkozar: Thanks for the tag :-D
Another document we need to pull together: https://www.freebsd.org/releases/10.3R/schedule.html
Managed to branch-off 16.03 in time.
You seem to have forgotten to push 16.03-beta tag, so I did that now. (EDIT: I think the rest of the list was done, perhaps except for the ZHF issue.)
Thanks. I always forget tags need to be pushed explicitly.
Improvement for next release: use 16.09-beta for version name until the final release.
The downside is, folks have to change the channel first for the beta, then for the final release. (currently @edolstra just renamed the channel which gives some unfortunate consequences and inconsistencies).
It would seem better to me to call the channel the same all the time, just as it's still the same branch. The beta/stable/... status isn't really black or white and seems better handled by _announcing_ we consider it stable/released and changing the default download links. (But the naming is an unimportant nitpick to me personally.)
What @vcunat proposes is the same as what Debian has been doing with great success, but they also have aliases for the channels (stable, testing and unstable iirc). Might we do the same?
We have nixpkgs-unstable and nixos-unstable channels. I can't see what other alias(es) might be useful, as I don't think many people want the systems to auto-upgrade to a higher release.
Most helpful comment
It would seem better to me to call the channel the same all the time, just as it's still the same branch. The beta/stable/... status isn't really black or white and seems better handled by _announcing_ we consider it stable/released and changing the default download links. (But the naming is an unimportant nitpick to me personally.)