at 23.11-pre 3.5 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 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 }; 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 rsyslog 85 stdenv 86 subversion 87 tarball 88 vim 89 tests-stdenv-gcc-stageCompare; 90 }; 91 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 }; 143 144}