From ed6ea7416aafdf96aa6cc87e165569bb79c42be0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Sun, 28 Aug 2016 19:59:08 +0200 Subject: [PATCH] Document NixOS release process #4442 --- nixos/doc/manual/development/development.xml | 1 + nixos/doc/manual/development/releases.xml | 241 +++++++++++++++++++ 2 files changed, 242 insertions(+) create mode 100644 nixos/doc/manual/development/releases.xml diff --git a/nixos/doc/manual/development/development.xml b/nixos/doc/manual/development/development.xml index caf72bc776a2..7f8a50809b2b 100644 --- a/nixos/doc/manual/development/development.xml +++ b/nixos/doc/manual/development/development.xml @@ -18,5 +18,6 @@ NixOS. + diff --git a/nixos/doc/manual/development/releases.xml b/nixos/doc/manual/development/releases.xml new file mode 100644 index 000000000000..5865dd1aa824 --- /dev/null +++ b/nixos/doc/manual/development/releases.xml @@ -0,0 +1,241 @@ + + +Releases + +
+ Release process + + + Going through an example of releasing NixOS 15.09: + + +
+ One month before the beta + + + + Send an email to nix-dev mailinglist as a warning about upcoming beta "feature freeze" in a month. + + + + + Discuss with Eelco Dolstra and the community (via IRC, ML) about what will reach the deadline. + Any issue or Pull Request targeting the release should have assigned milestone. + + + +
+
+ At beta release time + + + + Rename rl-unstable.xml -> + rl-1509.xml. + + + + + git tag -a -m "Release 15.09-beta" 15.09-beta && git push --tags + + + + + From the master branch run git checkout -B release-15.09. + + + + + + Make sure channel is created at http://nixos.org/channels/. + + + + + + + Lock the branch on github (so developers can’t force push) + + + + + + bump + system.defaultChannel attribute in + nixos/modules/misc/version.nix + + + + + update + versionSuffix in + nixos/release.nix, use + git log --format=%an|wc -l to get commit + count + + + + + echo -n "16.03" > .version in + master. + + + + + pick + a new name for unstable branch. + + + + + Create + an issue for tracking Zero Hydra Failures progress. ZHF is an effort + to get build failures down to zero. + + + + + Use https://lwn.net/Vulnerabilities/ and + triage vulnerabilities in an issue. + + + + + Create two Hydra jobsets: release-15.09 and release-15.09-small with stableBranch set to false + + + + + Edit changelog at + nixos/doc/manual/release-notes/rl-1509.xml + (double check desktop versions are noted) + + + + + Get all new NixOS modules + git diff release-14.12..release-15.09 nixos/modules/module-list.nix|grep ^+ + + + + + Note systemd, kernel, glibc and Nix upgrades. + + + + + +
+
+ Before the final release + + + + Release Nix (currently only Eelco Dolstra can do that). + + Make sure fallback is updated. + + + + + + + Update README.md with new stable NixOS version information. + + + + + + Change stableBranch to true and wait for channel to update. + + + +
+
+ At final release time + + + + git tag -s -a -m "Release 15.09" 15.09 + + + + + Update http://nixos.org/nixos/download.html and http://nixos.org/nixos/manual in https://github.com/NixOS/nixos-org-configurations + + + + + Get number of commits for the release: + git log release-14.04..release-14.12 --format=%an|wc -l + + + + + Commits by contributor: + git log release-14.04..release-14.12 --format=%an|sort|uniq -c|sort -rn + + + + + Send an email to nix-dev to announce the release with above information. Best to check how previous email was formulated + to see what needs to be included. + + + +
+
+ +
+ Release schedule + + + + + + + + + Date + + + Event + + + + + + + 2016-07-25 + + + Send email to nix-dev about upcoming branch-off + + + + + 2016-09-01 + + + release-16.09 branch and corresponding jobsets are created, + change freeze + + + + + 2016-09-30 + + + NixOS 16.09 released + + + + + +
+ +