at 23.05-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{ nixpkgs ? { outPath = (import ../lib).cleanSource ./..; revCount = 56789; shortRev = "gfedcba"; } 6, stableBranch ? false 7, supportedSystems ? [ "aarch64-linux" "x86_64-linux" ] # no i686-linux 8}: 9 10let 11 12 nixpkgsSrc = nixpkgs; # urgh 13 14 pkgs = import ./.. { system = "x86_64-linux"; }; 15 16 lib = pkgs.lib; 17 18 nixos' = import ./release.nix { 19 inherit stableBranch supportedSystems; 20 nixpkgs = nixpkgsSrc; 21 }; 22 23 nixpkgs' = builtins.removeAttrs (import ../pkgs/top-level/release.nix { 24 inherit supportedSystems; 25 nixpkgs = nixpkgsSrc; 26 }) [ "unstable" ]; 27 28in rec { 29 30 nixos = { 31 inherit (nixos') channel manual options iso_minimal amazonImage dummy; 32 tests = { 33 inherit (nixos'.tests) 34 acme 35 containers-imperative 36 containers-ip 37 firewall 38 ipv6 39 login 40 misc 41 nat 42 # fails with kernel >= 5.15 https://github.com/NixOS/nixpkgs/pull/152505#issuecomment-1005049314 43 #nfs3 44 openssh 45 php 46 predictable-interface-names 47 proxy 48 simple; 49 installer = { 50 inherit (nixos'.tests.installer) 51 lvm 52 separateBoot 53 simple; 54 }; 55 boot = { 56 inherit (nixos'.tests.boot) 57 biosCdrom 58 uefiCdrom; 59 }; 60 }; 61 }; 62 63 nixpkgs = { 64 inherit (nixpkgs') 65 apacheHttpd 66 cmake 67 cryptsetup 68 emacs 69 gettext 70 git 71 imagemagick 72 jdk 73 linux 74 mariadb 75 nginx 76 nodejs 77 openssh 78 php 79 postgresql 80 python 81 rsyslog 82 stdenv 83 subversion 84 tarball 85 vim; 86 }; 87 88 tested = let 89 onSupported = x: map (system: "${x}.${system}") supportedSystems; 90 onSystems = systems: x: map (system: "${x}.${system}") 91 (pkgs.lib.intersectLists systems supportedSystems); 92 in pkgs.releaseTools.aggregate { 93 name = "nixos-${nixos.channel.version}"; 94 meta = { 95 description = "Release-critical builds for the NixOS channel"; 96 maintainers = [ lib.maintainers.eelco ]; 97 }; 98 constituents = lib.flatten [ 99 [ 100 "nixos.channel" 101 "nixpkgs.tarball" 102 ] 103 (map (onSystems [ "x86_64-linux" ]) [ 104 "nixos.tests.boot.biosCdrom" 105 "nixos.tests.installer.lvm" 106 "nixos.tests.installer.separateBoot" 107 "nixos.tests.installer.simple" 108 ]) 109 (map onSupported [ 110 "nixos.dummy" 111 "nixos.iso_minimal" 112 "nixos.amazonImage" 113 "nixos.manual" 114 "nixos.tests.acme" 115 "nixos.tests.boot.uefiCdrom" 116 "nixos.tests.containers-imperative" 117 "nixos.tests.containers-ip" 118 "nixos.tests.firewall" 119 "nixos.tests.ipv6" 120 "nixos.tests.login" 121 "nixos.tests.misc" 122 "nixos.tests.nat.firewall-conntrack" 123 "nixos.tests.nat.firewall" 124 "nixos.tests.nat.standalone" 125 # fails with kernel >= 5.15 https://github.com/NixOS/nixpkgs/pull/152505#issuecomment-1005049314 126 #"nixos.tests.nfs3.simple" 127 "nixos.tests.openssh" 128 "nixos.tests.php.fpm" 129 "nixos.tests.php.pcre" 130 "nixos.tests.predictable-interface-names.predictable" 131 "nixos.tests.predictable-interface-names.predictableNetworkd" 132 "nixos.tests.predictable-interface-names.unpredictable" 133 "nixos.tests.predictable-interface-names.unpredictableNetworkd" 134 "nixos.tests.proxy" 135 "nixos.tests.simple" 136 "nixpkgs.jdk" 137 ]) 138 ]; 139 }; 140 141}