1/*
2 test for example like this
3 $ hydra-eval-jobs pkgs/top-level/release-python.nix
4*/
5
6{ # The platforms for which we build Nixpkgs.
7 supportedSystems ? [
8 "aarch64-linux"
9 "x86_64-linux"
10 ]
11, # Attributes passed to nixpkgs. Don't build packages marked as unfree.
12 nixpkgsArgs ? { config = { allowUnfree = false; inHydra = true; }; }
13}:
14
15with import ./release-lib.nix {inherit supportedSystems nixpkgsArgs; };
16with lib;
17
18let
19 packagePython = mapAttrs (name: value:
20 let res = builtins.tryEval (
21 if isDerivation value then
22 value.meta.isBuildPythonPackage or []
23 else if value.recurseForDerivations or false || value.recurseForRelease or false then
24 packagePython value
25 else
26 []);
27 in lib.optionals res.success res.value
28 );
29
30 jobs = {
31 lib-tests = import ../../lib/tests/release.nix { inherit pkgs; };
32 pkgs-lib-tests = import ../pkgs-lib/tests { inherit pkgs; };
33
34 tested = pkgs.releaseTools.aggregate {
35 name = "python-tested";
36 meta.description = "Release-critical packages from the python package sets";
37 constituents = [
38 jobs.remarshal.x86_64-linux # Used in pkgs.formats helper
39 jobs.python39Packages.buildcatrust.x86_64-linux # Used in pkgs.cacert
40 jobs.python39Packages.colorama.x86_64-linux # Used in nixos test-driver
41 jobs.python39Packages.ptpython.x86_64-linux # Used in nixos test-driver
42 jobs.python39Packages.requests.x86_64-linux # Almost ubiquous package
43 jobs.python39Packages.sphinx.x86_64-linux # Document creation for many packages
44 ];
45 };
46
47 } // (mapTestOn (packagePython pkgs));
48in jobs