mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-28 01:43:15 +00:00
4be2c3acd5
The Haskell Hydra report generator (`maintainers/scripts/haskell/hydra-report.hs`) uses this `maintainer-handles.nix` script for generating a mapping of email addresses to GitHub handles. This `maintainer-handles.nix` script is necessary because the Haskell Hydra report generator gets Hydra job status info as input, but needs to ping users on GitHub. Hydra job status info only contains user emails (not GitHub handles). So the `maintainer-handles.nix` script is necessary for looking up GitHub handles from email addresses. This commit fixes the `maintainers-handles.nix` code to ignore maintainers that don't have email addresses. The code was originally assuming that all maintainers have email addresses, but there was recently a maintainer added without an email address.
22 lines
839 B
Nix
22 lines
839 B
Nix
# Nix script to lookup maintainer github handles from their email address. Used by ./hydra-report.hs.
|
|
#
|
|
# This script produces an attr set mapping of email addresses to GitHub handles:
|
|
#
|
|
# ```nix
|
|
# > import ./maintainer-handles.nix
|
|
# { "cdep.illabout@gmail.com" = "cdepillabout"; "john@smith.com" = "johnsmith"; ... }
|
|
# ```
|
|
#
|
|
# This mapping contains all maintainers in ../../mainatainer-list.nix, but it
|
|
# ignores maintainers who don't have a GitHub account or an email address.
|
|
let
|
|
pkgs = import ../../.. {};
|
|
maintainers = import ../../maintainer-list.nix;
|
|
inherit (pkgs) lib;
|
|
mkMailGithubPair = _: maintainer:
|
|
if (maintainer ? email) && (maintainer ? github) then
|
|
{ "${maintainer.email}" = maintainer.github; }
|
|
else
|
|
{};
|
|
in lib.zipAttrsWith (_: builtins.head) (lib.mapAttrsToList mkMailGithubPair maintainers)
|