diff options
author | Alyssa Ross <hi@alyssa.is> | 2023-09-15 07:58:52 +0000 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2023-09-15 07:58:52 +0000 |
commit | 9d1daa60832979d5d361dfdac136fb9e5a1af2c5 (patch) | |
tree | 5192dd85903cb092cf7dff0e3403387b3b683d84 /nixpkgs/maintainers | |
parent | 67cdfc7d42f721bf85814af5a0095fb9f9ea455d (diff) | |
parent | f2ea252d23ebc9a5336bf6a61e0644921f64e67c (diff) | |
download | nixlib-9d1daa60832979d5d361dfdac136fb9e5a1af2c5.tar nixlib-9d1daa60832979d5d361dfdac136fb9e5a1af2c5.tar.gz nixlib-9d1daa60832979d5d361dfdac136fb9e5a1af2c5.tar.bz2 nixlib-9d1daa60832979d5d361dfdac136fb9e5a1af2c5.tar.lz nixlib-9d1daa60832979d5d361dfdac136fb9e5a1af2c5.tar.xz nixlib-9d1daa60832979d5d361dfdac136fb9e5a1af2c5.tar.zst nixlib-9d1daa60832979d5d361dfdac136fb9e5a1af2c5.zip |
Merge branch 'nixos-unstable' of https://github.com/NixOS/nixpkgs
Diffstat (limited to 'nixpkgs/maintainers')
-rw-r--r-- | nixpkgs/maintainers/maintainer-list.nix | 55 | ||||
-rwxr-xr-x | nixpkgs/maintainers/scripts/haskell/hydra-report.hs | 47 | ||||
-rwxr-xr-x | nixpkgs/maintainers/scripts/haskell/mark-broken.sh | 22 | ||||
-rwxr-xr-x | nixpkgs/maintainers/scripts/remove-old-aliases.py | 9 | ||||
-rw-r--r-- | nixpkgs/maintainers/team-list.nix | 14 |
5 files changed, 119 insertions, 28 deletions
diff --git a/nixpkgs/maintainers/maintainer-list.nix b/nixpkgs/maintainers/maintainer-list.nix index 33043a777594..12ea34f0fcb3 100644 --- a/nixpkgs/maintainers/maintainer-list.nix +++ b/nixpkgs/maintainers/maintainer-list.nix @@ -301,6 +301,12 @@ githubId = 1174810; name = "Nikolay Amiantov"; }; + abdiramen = { + email = "abdirahman.osmanthus@gmail.com"; + github = "Abdiramen"; + githubId = 15805292; + name = "Abdirahman Osman"; + }; abhi18av = { email = "abhi18av@gmail.com"; github = "abhi18av"; @@ -876,6 +882,12 @@ githubId = 153175; name = "Andrew Marshall"; }; + amaxine = { + email = "max@ine.dev"; + github = "amaxine"; + githubId = 35892750; + name = "Maxine Aubrey"; + }; ambroisie = { email = "bruno.nixpkgs@belanyi.fr"; github = "ambroisie"; @@ -1516,6 +1528,11 @@ githubId = 11037075; name = "Ashley Hooper"; }; + ashvith-shetty = { + github = "Ashvith10"; + githubId = 113123021; + name = "Ashvith Shetty"; + }; aske = { email = "aske@fmap.me"; github = "aske"; @@ -9245,6 +9262,12 @@ github = "KnairdA"; githubId = 498373; }; + knarkzel = { + email = "knarkzel@gmail.com"; + name = "Knarkzel"; + github = "Knarkzel"; + githubId = 85593302; + }; knedlsepp = { email = "josef.kemetmueller@gmail.com"; github = "knedlsepp"; @@ -10317,6 +10340,12 @@ githubId = 782440; name = "Luna Nova"; }; + luochen1990 = { + email = "luochen1990@gmail.com"; + github = "luochen1990"; + githubId = 2309868; + name = "Luo Chen"; + }; lurkki = { email = "jussi.kuokkanen@protonmail.com"; github = "Lurkki14"; @@ -10868,12 +10897,6 @@ githubId = 502805; name = "Max Zerzouri"; }; - maxeaubrey = { - email = "maxeaubrey@gmail.com"; - github = "maxeaubrey"; - githubId = 35892750; - name = "Maxine Aubrey"; - }; maxhbr = { email = "nixos@maxhbr.dev"; github = "maxhbr"; @@ -12742,6 +12765,12 @@ githubId = 16027994; name = "Nathan Viets"; }; + nyanbinary = { + email = "vextium@skiff.com"; + github = "nyabinary"; + githubId = 97130632; + name = "Niko"; + }; nyanloutre = { email = "paul@nyanlout.re"; github = "nyanloutre"; @@ -18112,6 +18141,12 @@ githubId = 90482; name = "Viktor Nordling"; }; + vilsol = { + email = "me@vil.so"; + github = "vilsol"; + githubId = 1759390; + name = "Vilsol"; + }; viluon = { email = "nix@viluon.me"; github = "viluon"; @@ -18367,7 +18402,7 @@ }; weathercold = { name = "Weathercold"; - email = "weathercold.scr@gmail.com"; + email = "weathercold.scr@proton.me"; matrix = "@weathercold:matrix.org"; github = "Weathercold"; githubId = 49368953; @@ -18479,6 +18514,12 @@ githubId = 20464732; name = "Willi Butz"; }; + willswats = { + email = "williamstuwatson@gmail.com"; + github = "willswats"; + githubId = 86304139; + name = "William Watson"; + }; wilsonehusin = { name = "Wilson E. Husin"; email = "wilsonehusin@gmail.com"; diff --git a/nixpkgs/maintainers/scripts/haskell/hydra-report.hs b/nixpkgs/maintainers/scripts/haskell/hydra-report.hs index 5f7e40a28bcd..5573e5e5afc6 100755 --- a/nixpkgs/maintainers/scripts/haskell/hydra-report.hs +++ b/nixpkgs/maintainers/scripts/haskell/hydra-report.hs @@ -30,7 +30,7 @@ Because step 1) is quite expensive and takes roughly ~5 minutes the result is ca {-# OPTIONS_GHC -Wall #-} {-# LANGUAGE DataKinds #-} -import Control.Monad (forM_, (<=<)) +import Control.Monad (forM_, forM, (<=<)) import Control.Monad.Trans (MonadIO (liftIO)) import Data.Aeson ( FromJSON, @@ -108,6 +108,7 @@ newtype JobsetEvalInputs = JobsetEvalInputs {nixpkgs :: Nixpkgs} data Eval = Eval { id :: Int , jobsetevalinputs :: JobsetEvalInputs + , builds :: Seq Int } deriving (Generic, ToJSON, FromJSON, Show) @@ -151,15 +152,20 @@ data Build = Build } deriving (Generic, ToJSON, FromJSON, Show) +data HydraSlownessWorkaroundFlag = HydraSlownessWorkaround | NoHydraSlownessWorkaround +data RequestLogsFlag = RequestLogs | NoRequestLogs + main :: IO () main = do args <- getArgs case args of - ["get-report"] -> getBuildReports + ["get-report", "--slow"] -> getBuildReports HydraSlownessWorkaround + ["get-report"] -> getBuildReports NoHydraSlownessWorkaround ["ping-maintainers"] -> printMaintainerPing - ["mark-broken-list"] -> printMarkBrokenList + ["mark-broken-list", "--no-request-logs"] -> printMarkBrokenList NoRequestLogs + ["mark-broken-list"] -> printMarkBrokenList RequestLogs ["eval-info"] -> printEvalInfo - _ -> putStrLn "Usage: get-report | ping-maintainers | mark-broken-list | eval-info" + _ -> putStrLn "Usage: get-report [--slow] | ping-maintainers | mark-broken-list [--no-request-logs] | eval-info" reportFileName :: IO FilePath reportFileName = getXdgDirectory XdgCache "haskell-updates-build-report.json" @@ -167,18 +173,27 @@ reportFileName = getXdgDirectory XdgCache "haskell-updates-build-report.json" showT :: Show a => a -> Text showT = Text.pack . show -getBuildReports :: IO () -getBuildReports = runReq defaultHttpConfig do +getBuildReports :: HydraSlownessWorkaroundFlag -> IO () +getBuildReports opt = runReq defaultHttpConfig do evalMay <- Seq.lookup 0 . evals <$> hydraJSONQuery mempty ["jobset", "nixpkgs", "haskell-updates", "evals"] - eval@Eval{id} <- maybe (liftIO $ fail "No Evalution found") pure evalMay + eval@Eval{id} <- maybe (liftIO $ fail "No Evaluation found") pure evalMay liftIO . putStrLn $ "Fetching evaluation " <> show id <> " from Hydra. This might take a few minutes..." - buildReports :: Seq Build <- hydraJSONQuery (responseTimeout 600000000) ["eval", showT id, "builds"] + buildReports <- getEvalBuilds opt id liftIO do fileName <- reportFileName putStrLn $ "Finished fetching all builds from Hydra, saving report as " <> fileName now <- getCurrentTime encodeFile fileName (eval, now, buildReports) +getEvalBuilds :: HydraSlownessWorkaroundFlag -> Int -> Req (Seq Build) +getEvalBuilds NoHydraSlownessWorkaround id = + hydraJSONQuery (responseTimeout 900000000) ["eval", showT id, "builds"] +getEvalBuilds HydraSlownessWorkaround id = do + Eval{builds} <- hydraJSONQuery mempty [ "eval", showT id ] + forM builds $ \buildId -> do + liftIO $ putStrLn $ "Querying build " <> show buildId + hydraJSONQuery mempty [ "build", showT buildId ] + hydraQuery :: HttpResponse a => Proxy a -> Option 'Https -> [Text] -> Req (HttpResponseBody a) hydraQuery responseType option query = responseBody @@ -187,7 +202,7 @@ hydraQuery responseType option query = (foldl' (/:) (https "hydra.nixos.org") query) NoReqBody responseType - (header "User-Agent" "hydra-report.hs/v1 (nixpkgs;maintainers/scripts/haskell)" <> option) + (header "User-Agent" "hydra-report.hs/v1 (nixpkgs;maintainers/scripts/haskell) pls fix https://github.com/NixOS/nixos-org-configurations/issues/270" <> option) hydraJSONQuery :: FromJSON a => Option 'Https -> [Text] -> Req a hydraJSONQuery = hydraQuery jsonResponse @@ -775,16 +790,20 @@ printMaintainerPing = do textBuildSummary = printBuildSummary eval fetchTime buildSum topBrokenRdeps Text.putStrLn textBuildSummary -printMarkBrokenList :: IO () -printMarkBrokenList = do +printMarkBrokenList :: RequestLogsFlag -> IO () +printMarkBrokenList reqLogs = do (_, fetchTime, buildReport) <- readBuildReports runReq defaultHttpConfig $ forM_ buildReport \build@Build{job, id} -> case (getBuildState build, Text.splitOn "." $ unJobName job) of (Failed, ["haskellPackages", name, "x86_64-linux"]) -> do - -- Fetch build log from hydra to figure out the cause of the error. - build_log <- ByteString.lines <$> hydraPlainQuery ["build", showT id, "nixlog", "1", "raw"] -- We use the last probable error cause found in the build log file. - let error_message = fromMaybe " failure " $ safeLast $ mapMaybe probableErrorCause build_log + error_message <- fromMaybe "failure" <$> + case reqLogs of + NoRequestLogs -> pure Nothing + RequestLogs -> do + -- Fetch build log from hydra to figure out the cause of the error. + build_log <- ByteString.lines <$> hydraPlainQuery ["build", showT id, "nixlog", "1", "raw"] + pure $ safeLast $ mapMaybe probableErrorCause build_log liftIO $ putStrLn $ " - " <> Text.unpack name <> " # " <> error_message <> " in job https://hydra.nixos.org/build/" <> show id <> " at " <> formatTime defaultTimeLocale "%Y-%m-%d" fetchTime _ -> pure () diff --git a/nixpkgs/maintainers/scripts/haskell/mark-broken.sh b/nixpkgs/maintainers/scripts/haskell/mark-broken.sh index 2624311aac9d..9aa9433b8023 100755 --- a/nixpkgs/maintainers/scripts/haskell/mark-broken.sh +++ b/nixpkgs/maintainers/scripts/haskell/mark-broken.sh @@ -10,6 +10,24 @@ set -euo pipefail +do_commit=false +mark_broken_list_flags="" + +for arg in "$@"; do + case "$arg" in + --do-commit) + do_commit=true + ;; + --no-request-logs) + mark_broken_list_flags="$mark_broken_list_flags $arg" + ;; + *) + echo "$0: unknown flag: $arg" + exit 100 + ;; + esac +done + broken_config="pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml" tmpfile=$(mktemp) @@ -17,7 +35,7 @@ trap "rm ${tmpfile}" 0 echo "Remember that you need to manually run 'maintainers/scripts/haskell/hydra-report.hs get-report' sometime before running this script." echo "Generating a list of broken builds and displaying for manual confirmation ..." -maintainers/scripts/haskell/hydra-report.hs mark-broken-list | sort -i > "$tmpfile" +maintainers/scripts/haskell/hydra-report.hs mark-broken-list $mark_broken_list_flags | sort -i > "$tmpfile" $EDITOR "$tmpfile" @@ -34,7 +52,7 @@ clear="env -u HOME -u NIXPKGS_CONFIG" $clear maintainers/scripts/haskell/regenerate-hackage-packages.sh evalline=$(maintainers/scripts/haskell/hydra-report.hs eval-info) -if [[ "${1:-}" == "--do-commit" ]]; then +if $do_commit; then git add $broken_config git add pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml git add pkgs/development/haskell-modules/hackage-packages.nix diff --git a/nixpkgs/maintainers/scripts/remove-old-aliases.py b/nixpkgs/maintainers/scripts/remove-old-aliases.py index 8f04a9be4f17..3c5f8edc50ad 100755 --- a/nixpkgs/maintainers/scripts/remove-old-aliases.py +++ b/nixpkgs/maintainers/scripts/remove-old-aliases.py @@ -102,12 +102,13 @@ def convert_to_throw(date_older_list: list[str]) -> list[tuple[str, str]]: alias = before_equal alias_unquoted = before_equal.strip('"') - after_equal_list = [x.strip(";:") for x in after_equal.split()] + replacement = next(x.strip(";:") for x in after_equal.split()) + replacement = replacement.removeprefix("pkgs.") converted = ( - f"{indent}{alias} = throw \"'{alias_unquoted}' has been renamed to/replaced by" - f" '{after_equal_list.pop(0)}'\";" - f' # Converted to throw {datetime.today().strftime("%Y-%m-%d")}' + f"{indent}{alias} = throw \"'{alias_unquoted}' has been" + f" renamed to/replaced by '{replacement}'\";" + f" # Converted to throw {datetime.today().strftime('%Y-%m-%d')}" ) converted_list.append((line, converted)) diff --git a/nixpkgs/maintainers/team-list.nix b/nixpkgs/maintainers/team-list.nix index 8e92004148ba..cba6f0d43642 100644 --- a/nixpkgs/maintainers/team-list.nix +++ b/nixpkgs/maintainers/team-list.nix @@ -365,7 +365,7 @@ with lib.maintainers; { hedning jtojnar dasj19 - maxeaubrey + amaxine ]; githubTeams = [ "gnome" @@ -918,6 +918,18 @@ with lib.maintainers; { shortName = "Vim/Neovim"; }; + wdz = { + members = [ + n0emis + netali + vidister + johannwagner + yuka + ]; + scope = "Group registration for WDZ GmbH team members who collectively maintain packages."; + shortName = "WDZ GmbH"; + }; + xfce = { members = [ bobby285271 |