From dabac4bf0c5eefbb07402189d9ba6efce3ff7b34 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Janne=20He=C3=9F?= Date: Wed, 18 May 2022 17:37:48 +0200 Subject: [PATCH] doc: Document that the staging branches may be restricted --- doc/contributing/submitting-changes.chapter.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/doc/contributing/submitting-changes.chapter.md b/doc/contributing/submitting-changes.chapter.md index 6f87e015b9cf..cded53cdd981 100644 --- a/doc/contributing/submitting-changes.chapter.md +++ b/doc/contributing/submitting-changes.chapter.md @@ -238,12 +238,16 @@ The `master` branch is the main development branch. It should only see non-break The `staging` branch is a development branch where mass-rebuilds go. Mass rebuilds are commits that cause rebuilds for many packages, like more than 500 (or perhaps, if it's 'light' packages, 1000). It should only see non-breaking mass-rebuild commits. That means it is not to be used for testing, and changes must have been well tested already. If the branch is already in a broken state, please refrain from adding extra new breakages. +During the process of a releasing a new NixOS version, this branch or the release-critical packages can be restricted to non-breaking changes. + ### Staging-next branch {#submitting-changes-staging-next-branch} The `staging-next` branch is for stabilizing mass-rebuilds submitted to the `staging` branch prior to merging them into `master`. Mass-rebuilds must go via the `staging` branch. It must only see non-breaking commits that are fixing issues blocking it from being merged into the `master ` branch. If the branch is already in a broken state, please refrain from adding extra new breakages. Stabilize it for a few days and then merge into master. +During the process of a releasing a new NixOS version, this branch or the release-critical packages can be restricted to non-breaking changes. + ### Stable release branches {#submitting-changes-stable-release-branches} The same staging workflow applies to stable release branches, but the main branch is called `release-*` instead of `master`.