Loading ci/eval/compare/default.nix +4 −1 Original line number Diff line number Diff line Loading @@ -77,7 +77,9 @@ let # - values: lists of `packagePlatformPath`s diffAttrs = builtins.fromJSON (builtins.readFile "${combinedDir}/combined-diff.json"); changedPackagePlatformAttrs = convertToPackagePlatformAttrs diffAttrs.changed; rebuildsPackagePlatformAttrs = convertToPackagePlatformAttrs diffAttrs.rebuilds; removedPackagePlatformAttrs = convertToPackagePlatformAttrs diffAttrs.removed; changed-paths = let Loading Loading @@ -115,8 +117,9 @@ let ); maintainers = callPackage ./maintainers.nix { } { changedattrs = lib.attrNames (lib.groupBy (a: a.name) rebuildsPackagePlatformAttrs); changedattrs = lib.attrNames (lib.groupBy (a: a.name) changedPackagePlatformAttrs); changedpathsjson = touchedFilesJson; removedattrs = lib.attrNames (lib.groupBy (a: a.name) removedPackagePlatformAttrs); inherit byName; }; in Loading ci/eval/compare/maintainers.nix +7 −31 Original line number Diff line number Diff line Loading @@ -5,6 +5,7 @@ { changedattrs, changedpathsjson, removedattrs, byName ? false, }: let Loading @@ -21,43 +22,18 @@ let anyMatchingFiles = files: builtins.any anyMatchingFile files; enrichedAttrs = builtins.map (name: { path = lib.splitString "." name; name = name; }) changedattrs; validPackageAttributes = builtins.filter ( pkg: if (lib.attrsets.hasAttrByPath pkg.path pkgs) then ( let value = lib.attrsets.attrByPath pkg.path null pkgs; in if (builtins.tryEval value).success then if value != null then true else builtins.trace "${pkg.name} exists but is null" false else builtins.trace "Failed to access ${pkg.name} even though it exists" false ) else builtins.trace "Failed to locate ${pkg.name}." false ) enrichedAttrs; attrsWithPackages = builtins.map ( pkg: pkg // { package = lib.attrsets.attrByPath pkg.path null pkgs; } ) validPackageAttributes; attrsWithMaintainers = builtins.map ( pkg: name: let meta = pkg.package.meta or { }; package = lib.getAttrFromPath (lib.splitString "." name) pkgs; in pkg // { { inherit name package; # TODO: Refactor this so we can ping entire teams instead of the individual members. # Note that this will require keeping track of GH team IDs in "maintainers/teams.nix". maintainers = meta.maintainers or [ ]; maintainers = package.meta.maintainers or [ ]; } ) attrsWithPackages; ) (changedattrs ++ removedattrs); relevantFilenames = drv: Loading Loading
ci/eval/compare/default.nix +4 −1 Original line number Diff line number Diff line Loading @@ -77,7 +77,9 @@ let # - values: lists of `packagePlatformPath`s diffAttrs = builtins.fromJSON (builtins.readFile "${combinedDir}/combined-diff.json"); changedPackagePlatformAttrs = convertToPackagePlatformAttrs diffAttrs.changed; rebuildsPackagePlatformAttrs = convertToPackagePlatformAttrs diffAttrs.rebuilds; removedPackagePlatformAttrs = convertToPackagePlatformAttrs diffAttrs.removed; changed-paths = let Loading Loading @@ -115,8 +117,9 @@ let ); maintainers = callPackage ./maintainers.nix { } { changedattrs = lib.attrNames (lib.groupBy (a: a.name) rebuildsPackagePlatformAttrs); changedattrs = lib.attrNames (lib.groupBy (a: a.name) changedPackagePlatformAttrs); changedpathsjson = touchedFilesJson; removedattrs = lib.attrNames (lib.groupBy (a: a.name) removedPackagePlatformAttrs); inherit byName; }; in Loading
ci/eval/compare/maintainers.nix +7 −31 Original line number Diff line number Diff line Loading @@ -5,6 +5,7 @@ { changedattrs, changedpathsjson, removedattrs, byName ? false, }: let Loading @@ -21,43 +22,18 @@ let anyMatchingFiles = files: builtins.any anyMatchingFile files; enrichedAttrs = builtins.map (name: { path = lib.splitString "." name; name = name; }) changedattrs; validPackageAttributes = builtins.filter ( pkg: if (lib.attrsets.hasAttrByPath pkg.path pkgs) then ( let value = lib.attrsets.attrByPath pkg.path null pkgs; in if (builtins.tryEval value).success then if value != null then true else builtins.trace "${pkg.name} exists but is null" false else builtins.trace "Failed to access ${pkg.name} even though it exists" false ) else builtins.trace "Failed to locate ${pkg.name}." false ) enrichedAttrs; attrsWithPackages = builtins.map ( pkg: pkg // { package = lib.attrsets.attrByPath pkg.path null pkgs; } ) validPackageAttributes; attrsWithMaintainers = builtins.map ( pkg: name: let meta = pkg.package.meta or { }; package = lib.getAttrFromPath (lib.splitString "." name) pkgs; in pkg // { { inherit name package; # TODO: Refactor this so we can ping entire teams instead of the individual members. # Note that this will require keeping track of GH team IDs in "maintainers/teams.nix". maintainers = meta.maintainers or [ ]; maintainers = package.meta.maintainers or [ ]; } ) attrsWithPackages; ) (changedattrs ++ removedattrs); relevantFilenames = drv: Loading