mirror of
https://github.com/NixOS/nixpkgs.git
synced 2026-07-06 17:13:24 -05:00
linux: add stable staging-nixos workflow
stable counterpart to d28cc2a2f5
This commit is contained in:
parent
d19f6793f4
commit
10056dd40d
4 changed files with 16 additions and 14 deletions
4
.github/workflows/periodic-merge-24h.yml
vendored
4
.github/workflows/periodic-merge-24h.yml
vendored
|
|
@ -35,10 +35,14 @@ jobs:
|
||||||
into: staging-next-25.11
|
into: staging-next-25.11
|
||||||
- from: staging-next-25.11
|
- from: staging-next-25.11
|
||||||
into: staging-25.11
|
into: staging-25.11
|
||||||
|
- from: release-25.11
|
||||||
|
into: staging-nixos-25.11
|
||||||
- from: release-26.05
|
- from: release-26.05
|
||||||
into: staging-next-26.05
|
into: staging-next-26.05
|
||||||
- from: staging-next-26.05
|
- from: staging-next-26.05
|
||||||
into: staging-26.05
|
into: staging-26.05
|
||||||
|
- from: release-26.05
|
||||||
|
into: staging-nixos-26.05
|
||||||
- name: merge-base(master,staging) → haskell-updates
|
- name: merge-base(master,staging) → haskell-updates
|
||||||
from: master staging
|
from: master staging
|
||||||
into: haskell-updates
|
into: haskell-updates
|
||||||
|
|
|
||||||
|
|
@ -442,6 +442,7 @@ The staging workflow is used for all stable branches with corresponding names:
|
||||||
- `master`/`release-YY.MM`
|
- `master`/`release-YY.MM`
|
||||||
- `staging`/`staging-YY.MM`
|
- `staging`/`staging-YY.MM`
|
||||||
- `staging-next`/`staging-next-YY.MM`
|
- `staging-next`/`staging-next-YY.MM`
|
||||||
|
- `staging-nixos`/`staging-nixos-YY.MM`
|
||||||
|
|
||||||
[^1]: Except changes that cause no more rebuilds than kernel updates
|
[^1]: Except changes that cause no more rebuilds than kernel updates
|
||||||
|
|
||||||
|
|
@ -505,7 +506,7 @@ These PRs go to `staging-nixos`, see [the next section for more context](#change
|
||||||
Changes causing a rebuild of all NixOS tests get a special [`10.rebuild-nixos-tests`](https://github.com/NixOS/nixpkgs/issues?q=state%3Aopen%20label%3A10.rebuild-nixos-tests) label.
|
Changes causing a rebuild of all NixOS tests get a special [`10.rebuild-nixos-tests`](https://github.com/NixOS/nixpkgs/issues?q=state%3Aopen%20label%3A10.rebuild-nixos-tests) label.
|
||||||
These changes pose a significant impact on the build infrastructure.
|
These changes pose a significant impact on the build infrastructure.
|
||||||
|
|
||||||
Hence, these PRs should either target a `staging`-branch or `staging-nixos`, provided one of following conditions applies:
|
Hence, these PRs should either target a `staging`-branch or `staging-nixos`-branch, provided one of following conditions applies:
|
||||||
|
|
||||||
* The label `10.rebuild-nixos-tests` is set, or
|
* The label `10.rebuild-nixos-tests` is set, or
|
||||||
* The PR is a change affecting the Linux kernel.
|
* The PR is a change affecting the Linux kernel.
|
||||||
|
|
|
||||||
|
|
@ -102,9 +102,8 @@ async function checkTargetBranch({ github, context, core, dry }) {
|
||||||
changed.attrdiff.changed.includes('nixosTests.simple-container') ||
|
changed.attrdiff.changed.includes('nixosTests.simple-container') ||
|
||||||
changed.attrdiff.changed.includes('nixosTests.simple-vm')
|
changed.attrdiff.changed.includes('nixosTests.simple-vm')
|
||||||
|
|
||||||
// https://github.com/NixOS/nixpkgs/pull/481205#issuecomment-3790123921
|
// https://github.com/NixOS/nixpkgs/pull/521157
|
||||||
// These should go to staging-nixos instead of master,
|
// These should go to master and release-xx.xx when backported
|
||||||
// but release-xx.xx (not staging-xx.xx) when backported
|
|
||||||
let isExemptKernelUpdate = false
|
let isExemptKernelUpdate = false
|
||||||
if (prInfo.changed_files === 1) {
|
if (prInfo.changed_files === 1) {
|
||||||
const changedFiles = (
|
const changedFiles = (
|
||||||
|
|
@ -115,11 +114,8 @@ async function checkTargetBranch({ github, context, core, dry }) {
|
||||||
).data
|
).data
|
||||||
isExemptKernelUpdate =
|
isExemptKernelUpdate =
|
||||||
changedFiles.length === 1 &&
|
changedFiles.length === 1 &&
|
||||||
(changedFiles[0].filename ===
|
changedFiles[0].filename ===
|
||||||
'pkgs/os-specific/linux/kernel/xanmod-kernels.nix' ||
|
'pkgs/os-specific/linux/kernel/xanmod-kernels.nix'
|
||||||
(base.startsWith('release-') &&
|
|
||||||
changedFiles[0].filename ===
|
|
||||||
'pkgs/os-specific/linux/kernel/kernels-org.json'))
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// https://github.com/NixOS/nixpkgs/pull/483194#issuecomment-3793393218
|
// https://github.com/NixOS/nixpkgs/pull/483194#issuecomment-3793393218
|
||||||
|
|
@ -164,8 +160,10 @@ async function checkTargetBranch({ github, context, core, dry }) {
|
||||||
branchText = '(probably either `staging-nixos` or `staging`)'
|
branchText = '(probably either `staging-nixos` or `staging`)'
|
||||||
} else if (base === 'master') {
|
} else if (base === 'master') {
|
||||||
branchText = '(probably `staging-nixos`)'
|
branchText = '(probably `staging-nixos`)'
|
||||||
|
} else if (maxRebuildCount >= 500) {
|
||||||
|
branchText = `(probably either \`staging-nixos-${split(base).version}\` or \`staging-${split(base).version}\`)`
|
||||||
} else {
|
} else {
|
||||||
branchText = `(probably \`staging-${split(base).version}\`)`
|
branchText = `(probably \`staging-nixos-${split(base).version}\`)`
|
||||||
}
|
}
|
||||||
const body = [
|
const body = [
|
||||||
`The PR's base branch is set to \`${base}\`, but this PR rebuilds all NixOS tests.`,
|
`The PR's base branch is set to \`${base}\`, but this PR rebuilds all NixOS tests.`,
|
||||||
|
|
|
||||||
|
|
@ -119,11 +119,10 @@ $ pkgs/os-specific/linux/kernel/update.sh
|
||||||
The change gets submitted like this:
|
The change gets submitted like this:
|
||||||
|
|
||||||
* File a PR against `staging-nixos`.
|
* File a PR against `staging-nixos`.
|
||||||
* Add a `backport release-XX.XX` label for an automated backport.
|
* Add a `backport staging-nixos-XX.XX` label for an automated backport.
|
||||||
We don't expect many other changes on that branch to require a backport, hence there's no such branch for stable.
|
|
||||||
By using an additional PR, we get the automatic backport against stable without manual cherry-picks.
|
By using an additional PR, we get the automatic backport against stable without manual cherry-picks.
|
||||||
* Merge into `staging-nixos`.
|
* Merge into `staging-nixos` or `staging-nixos-XX.XX`.
|
||||||
* File as PR from `staging-nixos` against `master`.
|
* File as PR from `staging-nixos` against `master` or `staging-nixos-XX.XX` against `release-xx.xx`.
|
||||||
* When all status checks are green, merge.
|
* When all status checks are green, merge.
|
||||||
|
|
||||||
### Add a new (major) version of the Linux kernel {#sec-linux-add-new-kernel-version}
|
### Add a new (major) version of the Linux kernel {#sec-linux-add-new-kernel-version}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue