c351a84eec
Let's test / on ZFS and /boot on ZFS in separate tests since the GRUB integration for ZFS seems to be not very well maintained. If the test breaks in the future it's easier to figure out that ZFS on /boot is at fault and either fix the issue or disable the test. The new test creates a ZFS pool where all features not compatible with GRUB2 are disabled. The dataset is then mounted on /boot and we check that the installer correctly generates a bootable configuration. Try to use as many ZFS features as possible to verify that GRUB can handle them.
180 lines
9.1 KiB
Nix
180 lines
9.1 KiB
Nix
# 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 ? [ "i686-linux" ]
|
||
}:
|
||
|
||
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; [ eelco ];
|
||
};
|
||
constituents = pkgs.lib.concatLists [
|
||
[ "nixos.channel" ]
|
||
(onFullSupported "nixos.dummy")
|
||
(onAllSupported "nixos.iso_minimal")
|
||
(onSystems ["x86_64-linux" "aarch64-linux"] "nixos.amazonImage")
|
||
(onFullSupported "nixos.iso_plasma5")
|
||
(onFullSupported "nixos.iso_gnome")
|
||
(onFullSupported "nixos.manual")
|
||
(onSystems ["x86_64-linux"] "nixos.ova")
|
||
(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 ["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.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.nfs3.simple")
|
||
(onFullSupported "nixos.tests.nfs4.simple")
|
||
(onSystems ["x86_64-linux"] "nixos.tests.oci-containers.podman")
|
||
(onFullSupported "nixos.tests.openssh")
|
||
(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")
|
||
["nixpkgs.tarball"]
|
||
|
||
# Ensure that nixpkgs-check-by-name is available in all release channels and nixos-unstable,
|
||
# so that a pre-built version can be used in CI for PR's on the corresponding development branches.
|
||
# See ../pkgs/test/nixpkgs-check-by-name/README.md
|
||
(onSystems ["x86_64-linux"] "nixpkgs.tests.nixpkgs-check-by-name")
|
||
];
|
||
};
|
||
}
|