maintainers/../haskell/mark-broken: Insert eval info in commit msg
This commit is contained in:
@@ -112,7 +112,8 @@ main = do
|
|||||||
["get-report"] -> getBuildReports
|
["get-report"] -> getBuildReports
|
||||||
["ping-maintainers"] -> printMaintainerPing
|
["ping-maintainers"] -> printMaintainerPing
|
||||||
["mark-broken-list"] -> printMarkBrokenList
|
["mark-broken-list"] -> printMarkBrokenList
|
||||||
_ -> putStrLn "Usage: get-report | ping-maintainers | mark-broken-list"
|
["eval-info"] -> printEvalInfo
|
||||||
|
_ -> putStrLn "Usage: get-report | ping-maintainers | mark-broken-list | eval-info"
|
||||||
|
|
||||||
reportFileName :: IO FilePath
|
reportFileName :: IO FilePath
|
||||||
reportFileName = getXdgDirectory XdgCache "haskell-updates-build-report.json"
|
reportFileName = getXdgDirectory XdgCache "haskell-updates-build-report.json"
|
||||||
@@ -396,12 +397,22 @@ jobTotals (summaryBuilds -> Table mapping) = getSum <$> Table (Map.foldMapWithKe
|
|||||||
details :: Text -> [Text] -> [Text]
|
details :: Text -> [Text] -> [Text]
|
||||||
details summary content = ["<details><summary>" <> summary <> " </summary>", ""] <> content <> ["</details>", ""]
|
details summary content = ["<details><summary>" <> summary <> " </summary>", ""] <> content <> ["</details>", ""]
|
||||||
|
|
||||||
|
evalLine :: Eval -> UTCTime -> Text
|
||||||
|
evalLine Eval{id, jobsetevalinputs = JobsetEvalInputs{nixpkgs = Nixpkgs{revision}}} fetchTime =
|
||||||
|
"*evaluation ["
|
||||||
|
<> showT id
|
||||||
|
<> "](https://hydra.nixos.org/eval/"
|
||||||
|
<> showT id
|
||||||
|
<> ") of nixpkgs commit ["
|
||||||
|
<> Text.take 7 revision
|
||||||
|
<> "](https://github.com/NixOS/nixpkgs/commits/"
|
||||||
|
<> revision
|
||||||
|
<> ") as of "
|
||||||
|
<> Text.pack (formatTime defaultTimeLocale "%Y-%m-%d %H:%M UTC" fetchTime)
|
||||||
|
<> "*"
|
||||||
|
|
||||||
printBuildSummary :: Eval -> UTCTime -> StatusSummary -> [(Text, Int)] -> Text
|
printBuildSummary :: Eval -> UTCTime -> StatusSummary -> [(Text, Int)] -> Text
|
||||||
printBuildSummary
|
printBuildSummary eval@Eval{id} fetchTime summary topBrokenRdeps =
|
||||||
Eval{id, jobsetevalinputs = JobsetEvalInputs{nixpkgs = Nixpkgs{revision}}}
|
|
||||||
fetchTime
|
|
||||||
summary
|
|
||||||
topBrokenRdeps =
|
|
||||||
Text.unlines $
|
Text.unlines $
|
||||||
headline <> [""] <> tldr <> ((" * "<>) <$> (errors <> warnings)) <> [""]
|
headline <> [""] <> tldr <> ((" * "<>) <$> (errors <> warnings)) <> [""]
|
||||||
<> totals
|
<> totals
|
||||||
@@ -416,25 +427,14 @@ printBuildSummary
|
|||||||
<> footer
|
<> footer
|
||||||
where
|
where
|
||||||
footer = ["*Report generated with [maintainers/scripts/haskell/hydra-report.hs](https://github.com/NixOS/nixpkgs/blob/haskell-updates/maintainers/scripts/haskell/hydra-report.hs)*"]
|
footer = ["*Report generated with [maintainers/scripts/haskell/hydra-report.hs](https://github.com/NixOS/nixpkgs/blob/haskell-updates/maintainers/scripts/haskell/hydra-report.hs)*"]
|
||||||
|
headline =
|
||||||
|
[ "### [haskell-updates build report from hydra](https://hydra.nixos.org/jobset/nixpkgs/haskell-updates)"
|
||||||
|
, evalLine eval fetchTime ]
|
||||||
totals =
|
totals =
|
||||||
[ "#### Build summary"
|
[ "#### Build summary"
|
||||||
, ""
|
, ""
|
||||||
]
|
]
|
||||||
<> printTable "Platform" (\x -> makeSearchLink id (platform x <> " " <> platformIcon x) ("." <> platform x)) (\x -> showT x <> " " <> icon x) showT numSummary
|
<> printTable "Platform" (\x -> makeSearchLink id (platform x <> " " <> platformIcon x) ("." <> platform x)) (\x -> showT x <> " " <> icon x) showT numSummary
|
||||||
headline =
|
|
||||||
[ "### [haskell-updates build report from hydra](https://hydra.nixos.org/jobset/nixpkgs/haskell-updates)"
|
|
||||||
, "*evaluation ["
|
|
||||||
<> showT id
|
|
||||||
<> "](https://hydra.nixos.org/eval/"
|
|
||||||
<> showT id
|
|
||||||
<> ") of nixpkgs commit ["
|
|
||||||
<> Text.take 7 revision
|
|
||||||
<> "](https://github.com/NixOS/nixpkgs/commits/"
|
|
||||||
<> revision
|
|
||||||
<> ") as of "
|
|
||||||
<> Text.pack (formatTime defaultTimeLocale "%Y-%m-%d %H:%M UTC" fetchTime)
|
|
||||||
<> "*"
|
|
||||||
]
|
|
||||||
brokenLine (name, rdeps) = "[" <> name <> "](https://packdeps.haskellers.com/reverse/" <> name <> ") :arrow_heading_up: " <> Text.pack (show rdeps) <> " "
|
brokenLine (name, rdeps) = "[" <> name <> "](https://packdeps.haskellers.com/reverse/" <> name <> ") :arrow_heading_up: " <> Text.pack (show rdeps) <> " "
|
||||||
numSummary = statusToNumSummary summary
|
numSummary = statusToNumSummary summary
|
||||||
jobsByState predicate = Map.filter (predicate . worstState) summary
|
jobsByState predicate = Map.filter (predicate . worstState) summary
|
||||||
@@ -469,6 +469,11 @@ printBuildSummary
|
|||||||
maintainedJob = Map.lookup "maintained" summary
|
maintainedJob = Map.lookup "maintained" summary
|
||||||
mergeableJob = Map.lookup "mergeable" summary
|
mergeableJob = Map.lookup "mergeable" summary
|
||||||
|
|
||||||
|
printEvalInfo :: IO ()
|
||||||
|
printEvalInfo = do
|
||||||
|
(eval, fetchTime, _) <- readBuildReports
|
||||||
|
putStrLn (Text.unpack $ evalLine eval fetchTime)
|
||||||
|
|
||||||
printMaintainerPing :: IO ()
|
printMaintainerPing :: IO ()
|
||||||
printMaintainerPing = do
|
printMaintainerPing = do
|
||||||
(maintainerMap, (reverseDependencyMap, topBrokenRdeps)) <- concurrently getMaintainerMap do
|
(maintainerMap, (reverseDependencyMap, topBrokenRdeps)) <- concurrently getMaintainerMap do
|
||||||
|
|||||||
@@ -34,6 +34,7 @@ clear="env -u HOME -u NIXPKGS_CONFIG"
|
|||||||
$clear maintainers/scripts/haskell/regenerate-hackage-packages.sh
|
$clear maintainers/scripts/haskell/regenerate-hackage-packages.sh
|
||||||
$clear maintainers/scripts/haskell/regenerate-transitive-broken-packages.sh
|
$clear maintainers/scripts/haskell/regenerate-transitive-broken-packages.sh
|
||||||
$clear maintainers/scripts/haskell/regenerate-hackage-packages.sh
|
$clear maintainers/scripts/haskell/regenerate-hackage-packages.sh
|
||||||
|
evalline=$(maintainers/scripts/haskell/hydra-report.hs eval-info)
|
||||||
|
|
||||||
if [[ "${1:-}" == "--do-commit" ]]; then
|
if [[ "${1:-}" == "--do-commit" ]]; then
|
||||||
git add $broken_config
|
git add $broken_config
|
||||||
@@ -42,6 +43,8 @@ git add pkgs/development/haskell-modules/hackage-packages.nix
|
|||||||
git commit -F - << EOF
|
git commit -F - << EOF
|
||||||
haskellPackages: mark builds failing on hydra as broken
|
haskellPackages: mark builds failing on hydra as broken
|
||||||
|
|
||||||
This commit has been generated by maintainers/scripts/haskell/mark-broken.sh
|
This commit has been generated by maintainers/scripts/haskell/mark-broken.sh based on
|
||||||
|
$evalline
|
||||||
|
from the haskell-updates jobset on hydra under https://hydra.nixos.org/jobset/nixpkgs/haskell-updates
|
||||||
EOF
|
EOF
|
||||||
fi
|
fi
|
||||||
|
|||||||
Reference in New Issue
Block a user