maintainers/scripts/haskell: Add mark-broken.sh
This commit is contained in:
parent
1da75e70f8
commit
dd8a25528a
45
maintainers/scripts/haskell/mark-broken.sh
Executable file
45
maintainers/scripts/haskell/mark-broken.sh
Executable file
@ -0,0 +1,45 @@
|
||||
#! /usr/bin/env nix-shell
|
||||
#! nix-shell -i bash -p coreutils git -I nixpkgs=.
|
||||
|
||||
# This script uses the data pulled with
|
||||
# maintainers/scripts/haskell/hydra-report.hs get-report to produce a list of
|
||||
# failing builds that get written to the hackage2nix config. Then
|
||||
# hackage-packages.nix gets regenerated and transitive-broken packages get
|
||||
# marked as dont-distribute in the config as well.
|
||||
# This should disable builds for most failing jobs in the haskell-updates jobset.
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
broken_config="pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml"
|
||||
|
||||
tmpfile=$(mktemp)
|
||||
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
|
||||
|
||||
$EDITOR $tmpfile
|
||||
|
||||
tail -n +3 "$broken_config" >> "$tmpfile"
|
||||
|
||||
cat > "$broken_config" << EOF
|
||||
broken-packages:
|
||||
# These packages don't compile.
|
||||
EOF
|
||||
|
||||
sort -iu "$tmpfile" >> "$broken_config"
|
||||
maintainers/scripts/haskell/regenerate-hackage-packages.sh
|
||||
maintainers/scripts/haskell/regenerate-transitive-broken-packages.sh
|
||||
maintainers/scripts/haskell/regenerate-hackage-packages.sh
|
||||
|
||||
if [[ "${1:-}" == "--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
|
||||
git commit -F - << EOF
|
||||
hackage2nix: Mark failing builds broken
|
||||
|
||||
This commit has been generated by maintainers/scripts/haskell/mark-broken.sh
|
||||
EOF
|
||||
fi
|
Loading…
Reference in New Issue
Block a user