cargo-nextest: 0.9.62 -> 0.9.63
[NixPkgs.git] / nixos / release-small.nix
blob6204dc731ad961e137034fd233951ae3f57ce027
1 # This jobset is used to generate a NixOS channel that contains a
2 # small subset of Nixpkgs, mostly useful for servers that need fast
3 # security updates.
5 # Individual jobs can be tested by running:
7 #   nix-build nixos/release-small.nix -A <jobname>
9 { nixpkgs ? { outPath = (import ../lib).cleanSource ./..; revCount = 56789; shortRev = "gfedcba"; }
10 , stableBranch ? false
11 , supportedSystems ? [ "aarch64-linux" "x86_64-linux" ] # no i686-linux
14 let
16   nixpkgsSrc = nixpkgs; # urgh
18   pkgs = import ./.. { system = "x86_64-linux"; };
20   lib = pkgs.lib;
22   nixos' = import ./release.nix {
23     inherit stableBranch supportedSystems;
24     nixpkgs = nixpkgsSrc;
25   };
27   nixpkgs' = builtins.removeAttrs (import ../pkgs/top-level/release.nix {
28     inherit supportedSystems;
29     nixpkgs = nixpkgsSrc;
30   }) [ "unstable" ];
32 in rec {
34   nixos = {
35     inherit (nixos') channel manual options iso_minimal amazonImage dummy;
36     tests = {
37       inherit (nixos'.tests)
38         acme
39         containers-imperative
40         containers-ip
41         firewall
42         ipv6
43         login
44         misc
45         nat
46         nfs3
47         openssh
48         php
49         predictable-interface-names
50         proxy
51         simple;
52       installer = {
53         inherit (nixos'.tests.installer)
54           lvm
55           separateBoot
56           simple;
57       };
58       boot = {
59         inherit (nixos'.tests.boot)
60           biosCdrom
61           uefiCdrom;
62       };
63     };
64   };
66   nixpkgs = {
67     inherit (nixpkgs')
68       apacheHttpd
69       cmake
70       cryptsetup
71       emacs
72       gettext
73       git
74       imagemagick
75       jdk
76       linux
77       mariadb
78       nginx
79       nodejs
80       openssh
81       php
82       postgresql
83       python
84       rsyslog
85       stdenv
86       subversion
87       tarball
88       vim
89       tests-stdenv-gcc-stageCompare;
90   };
92   tested = let
93     onSupported = x: map (system: "${x}.${system}") supportedSystems;
94     onSystems = systems: x: map (system: "${x}.${system}")
95       (pkgs.lib.intersectLists systems supportedSystems);
96   in pkgs.releaseTools.aggregate {
97     name = "nixos-${nixos.channel.version}";
98     meta = {
99       description = "Release-critical builds for the NixOS channel";
100       maintainers = [ lib.maintainers.eelco ];
101     };
102     constituents = lib.flatten [
103       [
104         "nixos.channel"
105         "nixpkgs.tarball"
106       ]
107       (map (onSystems [ "x86_64-linux" ]) [
108         "nixos.tests.boot.biosCdrom"
109         "nixos.tests.installer.lvm"
110         "nixos.tests.installer.separateBoot"
111         "nixos.tests.installer.simple"
112       ])
113       (map onSupported [
114         "nixos.dummy"
115         "nixos.iso_minimal"
116         "nixos.amazonImage"
117         "nixos.manual"
118         "nixos.tests.acme"
119         "nixos.tests.boot.uefiCdrom"
120         "nixos.tests.containers-imperative"
121         "nixos.tests.containers-ip"
122         "nixos.tests.firewall"
123         "nixos.tests.ipv6"
124         "nixos.tests.login"
125         "nixos.tests.misc"
126         "nixos.tests.nat.firewall"
127         "nixos.tests.nat.standalone"
128         "nixos.tests.nfs3.simple"
129         "nixos.tests.openssh"
130         "nixos.tests.php.fpm"
131         "nixos.tests.php.pcre"
132         "nixos.tests.predictable-interface-names.predictable"
133         "nixos.tests.predictable-interface-names.predictableNetworkd"
134         "nixos.tests.predictable-interface-names.unpredictable"
135         "nixos.tests.predictable-interface-names.unpredictableNetworkd"
136         "nixos.tests.proxy"
137         "nixos.tests.simple"
138         "nixpkgs.jdk"
139         "nixpkgs.tests-stdenv-gcc-stageCompare"
140       ])
141     ];
142   };