diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index babbf48671e2..44d88a165305 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -379,10 +379,12 @@ See [this section][branch] to know when to use the release branches. [staging]: #staging The staging workflow exists to batch Hydra builds of many packages together. +It is coordinated in the [Staging room](https://matrix.to/#/#staging:nixos.org) on Matrix. It works by directing commits that cause [mass rebuilds][mass-rebuild] to a separate `staging` branch that isn't directly built by Hydra. Regularly, the `staging` branch is _manually_ merged into a `staging-next` branch to be built by Hydra using the [`nixpkgs:staging-next` jobset](https://hydra.nixos.org/jobset/nixpkgs/staging-next). -The `staging-next` branch should then only receive changes that fix Hydra builds. +The `staging-next` branch should then only receive changes that fix Hydra builds; +**for anything else, ask the [Staging room](https://matrix.to/#/#staging:nixos.org) first**. Once it is verified that there are no major regressions, it is merged into `master` using [a pull request](https://github.com/NixOS/nixpkgs/pulls?q=head%3Astaging-next). This is done manually in order to ensure it's a good use of Hydra's computing resources. By keeping the `staging-next` branch separate from `staging`, this batching does not block developers from merging changes into `staging`.