Merge pull request #330634 from r-ryantm/auto-update/circumflex
[NixPkgs.git] / nixos / release-small.nix
blob75c3834adc40825e6a2b091393d656d0ed16ee4a
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         nfs4
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       opensshTest
82       php
83       postgresql
84       python
85       release-checks
86       rsyslog
87       stdenv
88       subversion
89       tarball
90       vim
91       tests-stdenv-gcc-stageCompare;
92   };
94   tested = let
95     onSupported = x: map (system: "${x}.${system}") supportedSystems;
96     onSystems = systems: x: map (system: "${x}.${system}")
97       (pkgs.lib.intersectLists systems supportedSystems);
98   in pkgs.releaseTools.aggregate {
99     name = "nixos-${nixos.channel.version}";
100     meta = {
101       description = "Release-critical builds for the NixOS channel";
102       maintainers = [ ];
103     };
104     constituents = lib.flatten [
105       [
106         "nixos.channel"
107         "nixpkgs.tarball"
108         "nixpkgs.release-checks"
109       ]
110       (map (onSystems [ "x86_64-linux" ]) [
111         "nixos.tests.boot.biosCdrom"
112         "nixos.tests.installer.lvm"
113         "nixos.tests.installer.separateBoot"
114         "nixos.tests.installer.simple"
115       ])
116       (map onSupported [
117         "nixos.dummy"
118         "nixos.iso_minimal"
119         "nixos.amazonImage"
120         "nixos.manual"
121         "nixos.tests.acme"
122         "nixos.tests.boot.uefiCdrom"
123         "nixos.tests.containers-imperative"
124         "nixos.tests.containers-ip"
125         "nixos.tests.firewall"
126         "nixos.tests.ipv6"
127         "nixos.tests.login"
128         "nixos.tests.misc"
129         "nixos.tests.nat.firewall"
130         "nixos.tests.nat.standalone"
131         "nixos.tests.nfs4.simple"
132         "nixos.tests.openssh"
133         "nixos.tests.php.fpm"
134         "nixos.tests.php.pcre"
135         "nixos.tests.predictable-interface-names.predictable"
136         "nixos.tests.predictable-interface-names.predictableNetworkd"
137         "nixos.tests.predictable-interface-names.unpredictable"
138         "nixos.tests.predictable-interface-names.unpredictableNetworkd"
139         "nixos.tests.proxy"
140         "nixos.tests.simple"
141         "nixpkgs.jdk"
142         "nixpkgs.tests-stdenv-gcc-stageCompare"
143         "nixpkgs.opensshTest"
144       ])
145     ];
146   };