vuls: init at 0.27.0 (#348530)
[NixPkgs.git] / pkgs / top-level / release-python.nix
blob40a42dd49978bf11e350c1f2cc4ad0c8dfb1c30f
1 /*
2    test for example like this
3    $ hydra-eval-jobs pkgs/top-level/release-python.nix
4 */
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 = {
13     allowUnfree = false;
14     inHydra = true;
15   }; }
18 let
19   release-lib = import ./release-lib.nix {
20     inherit supportedSystems nixpkgsArgs;
21   };
23   inherit (release-lib) mapTestOn pkgs;
25   inherit (release-lib.lib) isDerivation mapAttrs optionals;
27   packagePython = mapAttrs (name: value:
28     let res = builtins.tryEval (
29       if isDerivation value then
30         value.meta.isBuildPythonPackage or []
31       else if value.recurseForDerivations or false || value.recurseForRelease or false || value.__recurseIntoDerivationForReleaseJobs or false then
32         packagePython value
33       else
34         []);
35     in optionals res.success res.value
36     );
38   jobs = {
39     lib-tests = import ../../lib/tests/release.nix { inherit pkgs; };
40     pkgs-lib-tests = import ../pkgs-lib/tests { inherit pkgs; };
42     tested = pkgs.releaseTools.aggregate {
43       name = "python-tested";
44       meta.description = "Release-critical packages from the python package sets";
45       constituents = [
46         jobs.nixos-render-docs.x86_64-linux              # Used in nixos manual
47         jobs.remarshal.x86_64-linux                      # Used in pkgs.formats helper
48         jobs.python312Packages.afdko.x86_64-linux        # Used in noto-fonts-color-emoji
49         jobs.python312Packages.buildcatrust.x86_64-linux # Used in pkgs.cacert
50         jobs.python312Packages.colorama.x86_64-linux     # Used in nixos test-driver
51         jobs.python312Packages.ptpython.x86_64-linux     # Used in nixos test-driver
52         jobs.python312Packages.requests.x86_64-linux     # Almost ubiquous package
53         jobs.python312Packages.sphinx.x86_64-linux       # Document creation for many packages
54       ];
55     };
57   } // (mapTestOn (packagePython pkgs));
58 in jobs