Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at python-updates 74 lines 2.1 kB view raw
1/* 2 test for example like this 3 $ hydra-eval-jobs pkgs/top-level/release-python.nix 4*/ 5 6{ 7 # The platforms for which we build Nixpkgs. 8 supportedSystems ? [ 9 "aarch64-linux" 10 "x86_64-linux" 11 ], 12 # Attributes passed to nixpkgs. Don't build packages marked as unfree. 13 nixpkgsArgs ? { 14 config = { 15 allowAliases = false; 16 allowUnfree = false; 17 inHydra = true; 18 }; 19 20 __allowFileset = false; 21 }, 22}: 23 24let 25 release-lib = import ./release-lib.nix { 26 inherit supportedSystems nixpkgsArgs; 27 }; 28 29 inherit (release-lib) mapTestOn pkgs; 30 31 inherit (release-lib.lib) isDerivation mapAttrs optionals; 32 33 packagePython = mapAttrs ( 34 name: value: 35 let 36 res = builtins.tryEval ( 37 if isDerivation value then 38 value.meta.isBuildPythonPackage or [ ] 39 else if 40 value.recurseForDerivations or false 41 || value.recurseForRelease or false 42 || value.__recurseIntoDerivationForReleaseJobs or false 43 then 44 packagePython value 45 else 46 [ ] 47 ); 48 in 49 optionals res.success res.value 50 ); 51 52 jobs = { 53 # for pkgs.formats tests, which rely on remarshal 54 pkgs-lib-tests = import ../pkgs-lib/tests { inherit pkgs; }; 55 56 tested = pkgs.releaseTools.aggregate { 57 name = "python-tested"; 58 meta.description = "Release-critical packages from the python package sets"; 59 constituents = [ 60 jobs.nixos-render-docs.x86_64-linux # Used in nixos manual 61 jobs.remarshal_0_17.x86_64-linux # Used in pkgs.formats.yaml_1_1 62 jobs.python312Packages.afdko.x86_64-linux # Used in noto-fonts-color-emoji 63 jobs.python312Packages.buildcatrust.x86_64-linux # Used in pkgs.cacert 64 jobs.python312Packages.colorama.x86_64-linux # Used in nixos test-driver 65 jobs.python312Packages.ptpython.x86_64-linux # Used in nixos test-driver 66 jobs.python312Packages.requests.x86_64-linux # Almost ubiquous package 67 jobs.python312Packages.sphinx.x86_64-linux # Document creation for many packages 68 ]; 69 }; 70 71 } 72 // (mapTestOn (packagePython pkgs)); 73in 74jobs