at 25.11-pre 3.9 kB view raw
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. 4# 5# Individual jobs can be tested by running: 6# 7# nix-build nixos/release-small.nix -A <jobname> 8# 9{ 10 nixpkgs ? { 11 outPath = (import ../lib).cleanSource ./..; 12 revCount = 56789; 13 shortRev = "gfedcba"; 14 }, 15 stableBranch ? false, 16 supportedSystems ? [ 17 "aarch64-linux" 18 "x86_64-linux" 19 ], # no i686-linux 20}: 21 22let 23 24 nixpkgsSrc = nixpkgs; # urgh 25 26 pkgs = import ./.. { system = "x86_64-linux"; }; 27 28 lib = pkgs.lib; 29 30 nixos' = import ./release.nix { 31 inherit stableBranch supportedSystems; 32 nixpkgs = nixpkgsSrc; 33 }; 34 35 nixpkgs' = builtins.removeAttrs (import ../pkgs/top-level/release.nix { 36 inherit supportedSystems; 37 nixpkgs = nixpkgsSrc; 38 }) [ "unstable" ]; 39 40in 41rec { 42 43 nixos = { 44 inherit (nixos') 45 channel 46 manual 47 options 48 dummy 49 ; 50 tests = { 51 acme = { 52 inherit (nixos'.tests.acme) 53 http01-builtin 54 dns01 55 ; 56 }; 57 inherit (nixos'.tests) 58 containers-imperative 59 containers-ip 60 firewall 61 ipv6 62 login 63 misc 64 nat 65 nfs4 66 openssh 67 php 68 predictable-interface-names 69 proxy 70 simple 71 ; 72 latestKernel = { 73 inherit (nixos'.tests.latestKernel) 74 login 75 ; 76 }; 77 installer = { 78 inherit (nixos'.tests.installer) 79 lvm 80 separateBoot 81 simple 82 simpleUefiSystemdBoot 83 ; 84 }; 85 }; 86 }; 87 88 nixpkgs = { 89 inherit (nixpkgs') 90 apacheHttpd 91 cmake 92 cryptsetup 93 emacs 94 gettext 95 git 96 imagemagick 97 jdk 98 linux 99 mariadb 100 nginx 101 nodejs 102 openssh 103 opensshTest 104 php 105 postgresql 106 python 107 release-checks 108 rsyslog 109 stdenv 110 subversion 111 tarball 112 vim 113 tests-stdenv-gcc-stageCompare 114 ; 115 }; 116 117 tested = 118 let 119 onSupported = x: map (system: "${x}.${system}") supportedSystems; 120 onSystems = 121 systems: x: map (system: "${x}.${system}") (pkgs.lib.intersectLists systems supportedSystems); 122 in 123 pkgs.releaseTools.aggregate { 124 name = "nixos-${nixos.channel.version}"; 125 meta = { 126 description = "Release-critical builds for the NixOS channel"; 127 maintainers = [ ]; 128 }; 129 constituents = lib.flatten [ 130 [ 131 "nixos.channel" 132 "nixpkgs.tarball" 133 "nixpkgs.release-checks" 134 ] 135 (map (onSystems [ "x86_64-linux" ]) [ 136 "nixos.tests.installer.lvm" 137 "nixos.tests.installer.separateBoot" 138 "nixos.tests.installer.simple" 139 ]) 140 (map onSupported [ 141 "nixos.dummy" 142 "nixos.manual" 143 "nixos.tests.acme.http01-builtin" 144 "nixos.tests.acme.dns01" 145 "nixos.tests.containers-imperative" 146 "nixos.tests.containers-ip" 147 "nixos.tests.firewall" 148 "nixos.tests.ipv6" 149 "nixos.tests.installer.simpleUefiSystemdBoot" 150 "nixos.tests.login" 151 "nixos.tests.latestKernel.login" 152 "nixos.tests.misc" 153 "nixos.tests.nat.firewall" 154 "nixos.tests.nat.standalone" 155 "nixos.tests.nfs4.simple" 156 "nixos.tests.openssh" 157 "nixos.tests.php.fpm" 158 "nixos.tests.php.pcre" 159 "nixos.tests.predictable-interface-names.predictable" 160 "nixos.tests.predictable-interface-names.predictableNetworkd" 161 "nixos.tests.predictable-interface-names.unpredictable" 162 "nixos.tests.predictable-interface-names.unpredictableNetworkd" 163 "nixos.tests.proxy" 164 "nixos.tests.simple" 165 "nixpkgs.jdk" 166 "nixpkgs.tests-stdenv-gcc-stageCompare" 167 "nixpkgs.opensshTest" 168 ]) 169 ]; 170 }; 171 172}