Loading ci/eval/compare/default.nix +2 −3 Original line number Diff line number Diff line Loading @@ -69,7 +69,6 @@ let groupByPlatform extractPackageNames getLabels uniqueStrings ; getAttrs = dir: builtins.fromJSON (builtins.readFile "${dir}/outpaths.json"); Loading @@ -81,7 +80,7 @@ let # - values: lists of `packagePlatformPath`s diffAttrs = diff beforeAttrs afterAttrs; rebuilds = uniqueStrings (diffAttrs.added ++ diffAttrs.changed); rebuilds = diffAttrs.added ++ diffAttrs.changed; rebuildsPackagePlatformAttrs = convertToPackagePlatformAttrs rebuilds; changed-paths = Loading Loading @@ -110,7 +109,7 @@ let ); maintainers = import ./maintainers.nix { changedattrs = lib.unique (map (a: a.packagePath) rebuildsPackagePlatformAttrs); changedattrs = lib.attrNames (lib.groupBy (a: a.name) rebuildsPackagePlatformAttrs); changedpathsjson = touchedFilesJson; }; in Loading ci/eval/compare/maintainers.nix +15 −44 Original line number Diff line number Diff line Loading @@ -11,17 +11,13 @@ let changedpaths = builtins.fromJSON (builtins.readFile changedpathsjson); anyMatchingFile = filename: let matching = builtins.filter (changed: lib.strings.hasSuffix changed filename) changedpaths; in (builtins.length matching) > 0; filename: builtins.any (changed: lib.strings.hasSuffix changed filename) changedpaths; anyMatchingFiles = files: (builtins.length (builtins.filter anyMatchingFile files)) > 0; anyMatchingFiles = files: builtins.any anyMatchingFile files; enrichedAttrs = builtins.map (path: { path = path; name = builtins.concatStringsSep "." path; enrichedAttrs = builtins.map (name: { path = lib.splitString "." name; name = name; }) changedattrs; validPackageAttributes = builtins.filter ( Loading @@ -45,14 +41,6 @@ let pkg: pkg // { maintainers = (pkg.package.meta or { }).maintainers or [ ]; } ) attrsWithPackages; attrsWeCanPing = builtins.filter ( pkg: if (builtins.length pkg.maintainers) > 0 then true else builtins.trace "Package has no maintainers: ${pkg.name}" false ) attrsWithMaintainers; relevantFilenames = drv: (lib.lists.unique ( Loading Loading @@ -88,33 +76,16 @@ let attrsWithModifiedFiles = builtins.filter (pkg: anyMatchingFiles pkg.filenames) attrsWithFilenames; listToPing = lib.lists.flatten ( builtins.map ( listToPing = lib.concatMap ( pkg: builtins.map (maintainer: { id = maintainer.githubId; packageName = pkg.name; dueToFiles = pkg.filenames; }) pkg.maintainers ) attrsWithModifiedFiles ); byMaintainer = lib.lists.foldr ( ping: collector: collector // { "${toString ping.id}" = [ { inherit (ping) packageName dueToFiles; } ] ++ (collector."${toString ping.id}" or [ ]); } ) { } listToPing; ) attrsWithModifiedFiles; textForPackages = packages: lib.strings.concatStringsSep ", " (builtins.map (pkg: pkg.packageName) packages); textPerMaintainer = lib.attrsets.mapAttrs ( maintainer: packages: "- @${maintainer} for ${textForPackages packages}" ) byMaintainer; byMaintainer = lib.groupBy (ping: toString ping.id) listToPing; packagesPerMaintainer = lib.attrsets.mapAttrs ( maintainer: packages: builtins.map (pkg: pkg.packageName) packages Loading Loading
ci/eval/compare/default.nix +2 −3 Original line number Diff line number Diff line Loading @@ -69,7 +69,6 @@ let groupByPlatform extractPackageNames getLabels uniqueStrings ; getAttrs = dir: builtins.fromJSON (builtins.readFile "${dir}/outpaths.json"); Loading @@ -81,7 +80,7 @@ let # - values: lists of `packagePlatformPath`s diffAttrs = diff beforeAttrs afterAttrs; rebuilds = uniqueStrings (diffAttrs.added ++ diffAttrs.changed); rebuilds = diffAttrs.added ++ diffAttrs.changed; rebuildsPackagePlatformAttrs = convertToPackagePlatformAttrs rebuilds; changed-paths = Loading Loading @@ -110,7 +109,7 @@ let ); maintainers = import ./maintainers.nix { changedattrs = lib.unique (map (a: a.packagePath) rebuildsPackagePlatformAttrs); changedattrs = lib.attrNames (lib.groupBy (a: a.name) rebuildsPackagePlatformAttrs); changedpathsjson = touchedFilesJson; }; in Loading
ci/eval/compare/maintainers.nix +15 −44 Original line number Diff line number Diff line Loading @@ -11,17 +11,13 @@ let changedpaths = builtins.fromJSON (builtins.readFile changedpathsjson); anyMatchingFile = filename: let matching = builtins.filter (changed: lib.strings.hasSuffix changed filename) changedpaths; in (builtins.length matching) > 0; filename: builtins.any (changed: lib.strings.hasSuffix changed filename) changedpaths; anyMatchingFiles = files: (builtins.length (builtins.filter anyMatchingFile files)) > 0; anyMatchingFiles = files: builtins.any anyMatchingFile files; enrichedAttrs = builtins.map (path: { path = path; name = builtins.concatStringsSep "." path; enrichedAttrs = builtins.map (name: { path = lib.splitString "." name; name = name; }) changedattrs; validPackageAttributes = builtins.filter ( Loading @@ -45,14 +41,6 @@ let pkg: pkg // { maintainers = (pkg.package.meta or { }).maintainers or [ ]; } ) attrsWithPackages; attrsWeCanPing = builtins.filter ( pkg: if (builtins.length pkg.maintainers) > 0 then true else builtins.trace "Package has no maintainers: ${pkg.name}" false ) attrsWithMaintainers; relevantFilenames = drv: (lib.lists.unique ( Loading Loading @@ -88,33 +76,16 @@ let attrsWithModifiedFiles = builtins.filter (pkg: anyMatchingFiles pkg.filenames) attrsWithFilenames; listToPing = lib.lists.flatten ( builtins.map ( listToPing = lib.concatMap ( pkg: builtins.map (maintainer: { id = maintainer.githubId; packageName = pkg.name; dueToFiles = pkg.filenames; }) pkg.maintainers ) attrsWithModifiedFiles ); byMaintainer = lib.lists.foldr ( ping: collector: collector // { "${toString ping.id}" = [ { inherit (ping) packageName dueToFiles; } ] ++ (collector."${toString ping.id}" or [ ]); } ) { } listToPing; ) attrsWithModifiedFiles; textForPackages = packages: lib.strings.concatStringsSep ", " (builtins.map (pkg: pkg.packageName) packages); textPerMaintainer = lib.attrsets.mapAttrs ( maintainer: packages: "- @${maintainer} for ${textForPackages packages}" ) byMaintainer; byMaintainer = lib.groupBy (ping: toString ping.id) listToPing; packagesPerMaintainer = lib.attrsets.mapAttrs ( maintainer: packages: builtins.map (pkg: pkg.packageName) packages Loading