diff --git a/pkgs/top-level/release-cuda.nix b/pkgs/top-level/release-cuda.nix index ee6ca16c6dd3..55796a21291d 100644 --- a/pkgs/top-level/release-cuda.nix +++ b/pkgs/top-level/release-cuda.nix @@ -72,11 +72,16 @@ let ; # Package sets to evaluate whole - packageSets = builtins.filter (lib.strings.hasPrefix "cudaPackages") (builtins.attrNames pkgs); - evalPackageSet = pset: packagePlatforms pkgs.${pset}; + # Derivations from these package sets are selected based on the value + # of their meta.{hydraPlatforms,platforms,badPlatforms} attributes + autoPackageSets = builtins.filter (lib.strings.hasPrefix "cudaPackages") (builtins.attrNames pkgs); + autoPackagePlatforms = lib.genAttrs autoPackageSets (pset: packagePlatforms pkgs.${pset}); - jobs = - mapTestOn { + # Explicitly select additional packages to also evaluate + # The desired platforms must be set explicitly here + explicitPackagePlatforms = + # This comment prevents nixfmt from changing the indentation level, lol + { blas = linux; blender = linux; faiss = linux; @@ -159,7 +164,11 @@ let vidstab = linux; vllm = linux; }; - } - // mapTestOn (lib.genAttrs packageSets evalPackageSet); + }; + + # Explicitly specified platforms take precedence over the platforms + # automatically inferred in autoPackagePlatforms + allPackagePlatforms = lib.recursiveUpdate autoPackagePlatforms explicitPackagePlatforms; + jobs = mapTestOn allPackagePlatforms; in jobs