mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-25 16:33:15 +00:00
8b4b8ea9cf
Rebuilding images multiple times on the small channels is too expensive
and makes them slower than they could be. Consuming the image from the
full release channel is probably good enough.
(cherry picked from commit 9426d90c67
)
146 lines
3.5 KiB
Nix
146 lines
3.5 KiB
Nix
# This jobset is used to generate a NixOS channel that contains a
|
|
# small subset of Nixpkgs, mostly useful for servers that need fast
|
|
# security updates.
|
|
#
|
|
# Individual jobs can be tested by running:
|
|
#
|
|
# nix-build nixos/release-small.nix -A <jobname>
|
|
#
|
|
{ nixpkgs ? { outPath = (import ../lib).cleanSource ./..; revCount = 56789; shortRev = "gfedcba"; }
|
|
, stableBranch ? false
|
|
, supportedSystems ? [ "aarch64-linux" "x86_64-linux" ] # no i686-linux
|
|
}:
|
|
|
|
let
|
|
|
|
nixpkgsSrc = nixpkgs; # urgh
|
|
|
|
pkgs = import ./.. { system = "x86_64-linux"; };
|
|
|
|
lib = pkgs.lib;
|
|
|
|
nixos' = import ./release.nix {
|
|
inherit stableBranch supportedSystems;
|
|
nixpkgs = nixpkgsSrc;
|
|
};
|
|
|
|
nixpkgs' = builtins.removeAttrs (import ../pkgs/top-level/release.nix {
|
|
inherit supportedSystems;
|
|
nixpkgs = nixpkgsSrc;
|
|
}) [ "unstable" ];
|
|
|
|
in rec {
|
|
|
|
nixos = {
|
|
inherit (nixos') channel manual options iso_minimal dummy;
|
|
tests = {
|
|
inherit (nixos'.tests)
|
|
acme
|
|
containers-imperative
|
|
containers-ip
|
|
firewall
|
|
ipv6
|
|
login
|
|
misc
|
|
nat
|
|
nfs4
|
|
openssh
|
|
php
|
|
predictable-interface-names
|
|
proxy
|
|
simple;
|
|
installer = {
|
|
inherit (nixos'.tests.installer)
|
|
lvm
|
|
separateBoot
|
|
simple;
|
|
};
|
|
boot = {
|
|
inherit (nixos'.tests.boot)
|
|
biosCdrom
|
|
uefiCdrom;
|
|
};
|
|
};
|
|
};
|
|
|
|
nixpkgs = {
|
|
inherit (nixpkgs')
|
|
apacheHttpd
|
|
cmake
|
|
cryptsetup
|
|
emacs
|
|
gettext
|
|
git
|
|
imagemagick
|
|
jdk
|
|
linux
|
|
mariadb
|
|
nginx
|
|
nodejs
|
|
openssh
|
|
php
|
|
postgresql
|
|
python
|
|
release-checks
|
|
rsyslog
|
|
stdenv
|
|
subversion
|
|
tarball
|
|
vim
|
|
tests-stdenv-gcc-stageCompare;
|
|
};
|
|
|
|
tested = let
|
|
onSupported = x: map (system: "${x}.${system}") supportedSystems;
|
|
onSystems = systems: x: map (system: "${x}.${system}")
|
|
(pkgs.lib.intersectLists systems supportedSystems);
|
|
in pkgs.releaseTools.aggregate {
|
|
name = "nixos-${nixos.channel.version}";
|
|
meta = {
|
|
description = "Release-critical builds for the NixOS channel";
|
|
maintainers = [ ];
|
|
};
|
|
constituents = lib.flatten [
|
|
[
|
|
"nixos.channel"
|
|
"nixpkgs.tarball"
|
|
"nixpkgs.release-checks"
|
|
]
|
|
(map (onSystems [ "x86_64-linux" ]) [
|
|
"nixos.tests.boot.biosCdrom"
|
|
"nixos.tests.installer.lvm"
|
|
"nixos.tests.installer.separateBoot"
|
|
"nixos.tests.installer.simple"
|
|
])
|
|
(map onSupported [
|
|
"nixos.dummy"
|
|
"nixos.iso_minimal"
|
|
"nixos.manual"
|
|
"nixos.tests.acme"
|
|
"nixos.tests.boot.uefiCdrom"
|
|
"nixos.tests.containers-imperative"
|
|
"nixos.tests.containers-ip"
|
|
"nixos.tests.firewall"
|
|
"nixos.tests.ipv6"
|
|
"nixos.tests.login"
|
|
"nixos.tests.misc.default"
|
|
"nixos.tests.nat.firewall"
|
|
"nixos.tests.nat.standalone"
|
|
"nixos.tests.nfs4.simple"
|
|
"nixos.tests.openssh"
|
|
"nixos.tests.php.fpm"
|
|
"nixos.tests.php.pcre"
|
|
"nixos.tests.predictable-interface-names.predictable"
|
|
"nixos.tests.predictable-interface-names.predictableNetworkd"
|
|
"nixos.tests.predictable-interface-names.unpredictable"
|
|
"nixos.tests.predictable-interface-names.unpredictableNetworkd"
|
|
"nixos.tests.proxy"
|
|
"nixos.tests.simple"
|
|
"nixpkgs.jdk"
|
|
"nixpkgs.tests-stdenv-gcc-stageCompare"
|
|
])
|
|
];
|
|
};
|
|
|
|
}
|