at 24.11-pre 3.6 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{ nixpkgs ? { outPath = (import ../lib).cleanSource ./..; revCount = 56789; shortRev = "gfedcba"; } 10, stableBranch ? false 11, supportedSystems ? [ "aarch64-linux" "x86_64-linux" ] # no i686-linux 12}: 13 14let 15 16 nixpkgsSrc = nixpkgs; # urgh 17 18 pkgs = import ./.. { system = "x86_64-linux"; }; 19 20 lib = pkgs.lib; 21 22 nixos' = import ./release.nix { 23 inherit stableBranch supportedSystems; 24 nixpkgs = nixpkgsSrc; 25 }; 26 27 nixpkgs' = builtins.removeAttrs (import ../pkgs/top-level/release.nix { 28 inherit supportedSystems; 29 nixpkgs = nixpkgsSrc; 30 }) [ "unstable" ]; 31 32in rec { 33 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 }; 65 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 release-checks 85 rsyslog 86 stdenv 87 subversion 88 tarball 89 vim 90 tests-stdenv-gcc-stageCompare; 91 }; 92 93 tested = let 94 onSupported = x: map (system: "${x}.${system}") supportedSystems; 95 onSystems = systems: x: map (system: "${x}.${system}") 96 (pkgs.lib.intersectLists systems supportedSystems); 97 in pkgs.releaseTools.aggregate { 98 name = "nixos-${nixos.channel.version}"; 99 meta = { 100 description = "Release-critical builds for the NixOS channel"; 101 maintainers = [ ]; 102 }; 103 constituents = lib.flatten [ 104 [ 105 "nixos.channel" 106 "nixpkgs.tarball" 107 "nixpkgs.release-checks" 108 ] 109 (map (onSystems [ "x86_64-linux" ]) [ 110 "nixos.tests.boot.biosCdrom" 111 "nixos.tests.installer.lvm" 112 "nixos.tests.installer.separateBoot" 113 "nixos.tests.installer.simple" 114 ]) 115 (map onSupported [ 116 "nixos.dummy" 117 "nixos.iso_minimal" 118 "nixos.amazonImage" 119 "nixos.manual" 120 "nixos.tests.acme" 121 "nixos.tests.boot.uefiCdrom" 122 "nixos.tests.containers-imperative" 123 "nixos.tests.containers-ip" 124 "nixos.tests.firewall" 125 "nixos.tests.ipv6" 126 "nixos.tests.login" 127 "nixos.tests.misc.default" 128 "nixos.tests.nat.firewall" 129 "nixos.tests.nat.standalone" 130 "nixos.tests.nfs4.simple" 131 "nixos.tests.openssh" 132 "nixos.tests.php.fpm" 133 "nixos.tests.php.pcre" 134 "nixos.tests.predictable-interface-names.predictable" 135 "nixos.tests.predictable-interface-names.predictableNetworkd" 136 "nixos.tests.predictable-interface-names.unpredictable" 137 "nixos.tests.predictable-interface-names.unpredictableNetworkd" 138 "nixos.tests.proxy" 139 "nixos.tests.simple" 140 "nixpkgs.jdk" 141 "nixpkgs.tests-stdenv-gcc-stageCompare" 142 ]) 143 ]; 144 }; 145 146}