nixpkgs/nixos/release-combined.nix
sternenseemann 919c69bc28 nixos: make initrd-network-ssh test a channel blocker
Last year the initrd sshd broke due to an openssh update which looked
innocent enough (the change that broke the initrd was mentioned in the
changelog, but you'd be forgiven for not making the connection):
- https://github.com/NixOS/nixpkgs/pull/323753
- https://github.com/NixOS/nixpkgs/pull/323796

Hopefully this won't happen again, the initrd test has been added to
passthru.tests for openssh since:
https://github.com/NixOS/nixpkgs/pull/356190

However, it is probably best to also have such an issue block the
channel. The ssh initrd is probably almost exclusively used on
remote machines where it is really bad when the initrd sshd
doesn't come up since it is used to unlock an encrypted volume
or similar, so it'd be stuck in initrd indefinitely. Also,
for such systems it is usually very difficult to impossible
to easily choose a different generation to boot into via
the boot loader.

(cherry picked from commit bba6b37c9d)
2025-02-07 14:23:54 +01:00

200 lines
9.1 KiB
Nix
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# This jobset defines the main NixOS channels (such as nixos-unstable
# and nixos-14.04). The channel is updated every time the tested job
# succeeds, and all other jobs have finished (they may fail).
{
nixpkgs ? {
outPath = (import ../lib).cleanSource ./..;
revCount = 56789;
shortRev = "gfedcba";
},
stableBranch ? false,
supportedSystems ? [
"aarch64-linux"
"x86_64-linux"
],
limitedSupportedSystems ? [ ],
}:
let
nixpkgsSrc = nixpkgs; # urgh
pkgs = import ./.. { };
removeMaintainers =
set:
if builtins.isAttrs set then
if (set.type or "") == "derivation" then
set // { meta = builtins.removeAttrs (set.meta or { }) [ "maintainers" ]; }
else
pkgs.lib.mapAttrs (n: v: removeMaintainers v) set
else
set;
in
rec {
nixos = removeMaintainers (
import ./release.nix {
inherit stableBranch;
supportedSystems = supportedSystems ++ limitedSupportedSystems;
nixpkgs = nixpkgsSrc;
}
);
nixpkgs = builtins.removeAttrs (removeMaintainers (
import ../pkgs/top-level/release.nix {
inherit supportedSystems;
nixpkgs = nixpkgsSrc;
}
)) [ "unstable" ];
tested =
let
onFullSupported = x: map (system: "${x}.${system}") supportedSystems;
onAllSupported = x: map (system: "${x}.${system}") (supportedSystems ++ limitedSupportedSystems);
onSystems =
systems: x:
map (system: "${x}.${system}") (
pkgs.lib.intersectLists systems (supportedSystems ++ limitedSupportedSystems)
);
in
pkgs.releaseTools.aggregate {
name = "nixos-${nixos.channel.version}";
meta = {
description = "Release-critical builds for the NixOS channel";
maintainers = with pkgs.lib.maintainers; [ ];
};
constituents = pkgs.lib.concatLists [
[ "nixos.channel" ]
(onFullSupported "nixos.dummy")
(onAllSupported "nixos.iso_minimal")
(onSystems [ "x86_64-linux" "aarch64-linux" ] "nixos.amazonImage")
(onFullSupported "nixos.iso_plasma6")
(onFullSupported "nixos.iso_gnome")
(onFullSupported "nixos.manual")
(onSystems [ "aarch64-linux" ] "nixos.sd_image")
(onFullSupported "nixos.tests.acme")
(onSystems [ "x86_64-linux" ] "nixos.tests.boot.biosCdrom")
(onSystems [ "x86_64-linux" ] "nixos.tests.boot.biosUsb")
(onFullSupported "nixos.tests.boot-stage1")
(onFullSupported "nixos.tests.boot.uefiCdrom")
(onFullSupported "nixos.tests.boot.uefiUsb")
(onFullSupported "nixos.tests.chromium")
(onFullSupported "nixos.tests.containers-imperative")
(onFullSupported "nixos.tests.containers-ip")
(onSystems [ "x86_64-linux" ] "nixos.tests.docker")
(onFullSupported "nixos.tests.ecryptfs")
(onFullSupported "nixos.tests.env")
# Way too many manual retries required on Hydra.
# Apparently it's hard to track down the cause.
# So let's depend just on the packages for now.
#(onFullSupported "nixos.tests.firefox-esr")
#(onFullSupported "nixos.tests.firefox")
# Note: only -unwrapped variants have a Hydra job.
(onFullSupported "nixpkgs.firefox-esr-unwrapped")
(onFullSupported "nixpkgs.firefox-unwrapped")
(onFullSupported "nixos.tests.firewall")
(onFullSupported "nixos.tests.fontconfig-default-fonts")
(onFullSupported "nixos.tests.gitlab")
(onFullSupported "nixos.tests.gnome")
(onFullSupported "nixos.tests.gnome-xorg")
(onSystems [ "x86_64-linux" ] "nixos.tests.hibernate")
(onFullSupported "nixos.tests.i3wm")
(onSystems [ "aarch64-linux" ] "nixos.tests.installer.simpleUefiSystemdBoot")
(onSystems [ "x86_64-linux" ] "nixos.tests.installer.btrfsSimple")
(onSystems [ "x86_64-linux" ] "nixos.tests.installer.btrfsSubvolDefault")
(onSystems [ "x86_64-linux" ] "nixos.tests.installer.btrfsSubvolEscape")
(onSystems [ "x86_64-linux" ] "nixos.tests.installer.btrfsSubvols")
(onSystems [ "x86_64-linux" ] "nixos.tests.installer.luksroot")
(onSystems [ "x86_64-linux" ] "nixos.tests.installer.lvm")
(onSystems [ "x86_64-linux" ] "nixos.tests.installer.separateBootZfs")
(onSystems [ "x86_64-linux" ] "nixos.tests.installer.separateBootFat")
(onSystems [ "x86_64-linux" ] "nixos.tests.installer.separateBoot")
(onSystems [ "x86_64-linux" ] "nixos.tests.installer.simpleLabels")
(onSystems [ "x86_64-linux" ] "nixos.tests.installer.simpleProvided")
(onSystems [ "x86_64-linux" ] "nixos.tests.installer.simpleUefiSystemdBoot")
(onSystems [ "x86_64-linux" ] "nixos.tests.installer.simple")
(onSystems [ "x86_64-linux" ] "nixos.tests.installer.swraid")
(onSystems [ "x86_64-linux" ] "nixos.tests.installer.zfsroot")
(onSystems [ "x86_64-linux" ] "nixos.tests.nixos-rebuild-specialisations")
(onFullSupported "nixos.tests.nix-misc.default")
(onFullSupported "nixos.tests.ipv6")
(onFullSupported "nixos.tests.keymap.azerty")
(onFullSupported "nixos.tests.keymap.colemak")
(onFullSupported "nixos.tests.keymap.dvorak")
(onFullSupported "nixos.tests.keymap.dvorak-programmer")
(onFullSupported "nixos.tests.keymap.neo")
(onFullSupported "nixos.tests.keymap.qwertz")
(onFullSupported "nixos.tests.latestKernel.login")
(onFullSupported "nixos.tests.lightdm")
(onFullSupported "nixos.tests.login")
(onFullSupported "nixos.tests.misc")
(onFullSupported "nixos.tests.mutableUsers")
(onFullSupported "nixos.tests.nat.firewall")
(onFullSupported "nixos.tests.nat.standalone")
(onFullSupported "nixos.tests.networking.scripted.bond")
(onFullSupported "nixos.tests.networking.scripted.bridge")
(onFullSupported "nixos.tests.networking.scripted.dhcpOneIf")
(onFullSupported "nixos.tests.networking.scripted.dhcpSimple")
(onFullSupported "nixos.tests.networking.scripted.link")
(onFullSupported "nixos.tests.networking.scripted.loopback")
(onFullSupported "nixos.tests.networking.scripted.macvlan")
(onFullSupported "nixos.tests.networking.scripted.privacy")
(onFullSupported "nixos.tests.networking.scripted.routes")
(onFullSupported "nixos.tests.networking.scripted.sit")
(onFullSupported "nixos.tests.networking.scripted.static")
(onFullSupported "nixos.tests.networking.scripted.virtual")
(onFullSupported "nixos.tests.networking.scripted.vlan")
(onFullSupported "nixos.tests.networking.networkd.bond")
(onFullSupported "nixos.tests.networking.networkd.bridge")
(onFullSupported "nixos.tests.networking.networkd.dhcpOneIf")
(onFullSupported "nixos.tests.networking.networkd.dhcpSimple")
(onFullSupported "nixos.tests.networking.networkd.link")
(onFullSupported "nixos.tests.networking.networkd.loopback")
# Fails nondeterministically (https://github.com/NixOS/nixpkgs/issues/96709)
#(onFullSupported "nixos.tests.networking.networkd.macvlan")
(onFullSupported "nixos.tests.networking.networkd.privacy")
(onFullSupported "nixos.tests.networking.networkd.routes")
(onFullSupported "nixos.tests.networking.networkd.sit")
(onFullSupported "nixos.tests.networking.networkd.static")
(onFullSupported "nixos.tests.networking.networkd.virtual")
(onFullSupported "nixos.tests.networking.networkd.vlan")
(onFullSupported "nixos.tests.systemd-networkd-ipv6-prefix-delegation")
(onFullSupported "nixos.tests.nfs4.simple")
(onSystems [ "x86_64-linux" ] "nixos.tests.oci-containers.podman")
(onFullSupported "nixos.tests.openssh")
(onFullSupported "nixos.tests.initrd-network-ssh")
(onFullSupported "nixos.tests.pantheon")
(onFullSupported "nixos.tests.php.fpm")
(onFullSupported "nixos.tests.php.httpd")
(onFullSupported "nixos.tests.php.pcre")
(onFullSupported "nixos.tests.plasma5")
(onSystems [ "x86_64-linux" ] "nixos.tests.podman")
(onFullSupported "nixos.tests.predictable-interface-names.predictableNetworkd")
(onFullSupported "nixos.tests.predictable-interface-names.predictable")
(onFullSupported "nixos.tests.predictable-interface-names.unpredictableNetworkd")
(onFullSupported "nixos.tests.predictable-interface-names.unpredictable")
(onFullSupported "nixos.tests.printing-service")
(onFullSupported "nixos.tests.printing-socket")
(onFullSupported "nixos.tests.proxy")
(onFullSupported "nixos.tests.sddm.default")
(onFullSupported "nixos.tests.shadow")
(onFullSupported "nixos.tests.simple")
(onFullSupported "nixos.tests.sway")
(onFullSupported "nixos.tests.switchTest")
(onFullSupported "nixos.tests.udisks2")
(onFullSupported "nixos.tests.xfce")
(onFullSupported "nixpkgs.emacs")
(onFullSupported "nixpkgs.jdk")
(onSystems [ "x86_64-linux" ] "nixpkgs.mesa_i686") # i686 sanity check + useful
[
"nixpkgs.tarball"
"nixpkgs.release-checks"
]
];
};
}