maintainers/scripts/haskell: Add --do-commit option

This commit is contained in:
Malte Brandy 2021-05-03 22:52:32 +02:00
parent 7a353215dc
commit 4dbda0125a
No known key found for this signature in database
GPG key ID: 226A2D41EF5378C9
3 changed files with 20 additions and 2 deletions

View file

@ -18,3 +18,8 @@ extractionDerivation='with import ./. {}; runCommand "unpacked-cabal-hashes" { }
unpacked_hackage="$(nix-build -E "$extractionDerivation" --no-out-link)"
hackage2nix --hackage "$unpacked_hackage" --preferred-versions <(for n in "$unpacked_hackage"/*/preferred-versions; do cat "$n"; echo; done) --nixpkgs "$PWD" --config pkgs/development/haskell-modules/configuration-hackage2nix.yaml
if [[ "${1:-}" == "--do-commit" ]]; then
git add pkgs/development/haskell-modules/hackage-packages.nix
git commit -m "hackage-packages.nix: Regenerate based on current config"
fi

View file

@ -7,7 +7,9 @@ set -euo pipefail
pin_file=pkgs/data/misc/hackage/pin.json
current_commit="$(jq -r .commit $pin_file)"
head_commit="$(curl -H "Accept: application/vnd.github.v3+json" https://api.github.com/repos/commercialhaskell/all-cabal-hashes/branches/hackage | jq -r .commit.sha)"
git_info="$(curl -H "Accept: application/vnd.github.v3+json" https://api.github.com/repos/commercialhaskell/all-cabal-hashes/branches/hackage)"
head_commit="$(echo "$git_info" | jq -r .commit.sha)"
commit_msg="$(echo "$git_info" | jq -r .commit.commit.message)"
if [ "$current_commit" != "$head_commit" ]; then
url="https://github.com/commercialhaskell/all-cabal-hashes/archive/$head_commit.tar.gz"
@ -16,6 +18,12 @@ if [ "$current_commit" != "$head_commit" ]; then
--arg commit "$head_commit" \
--arg hash "$hash" \
--arg url "$url" \
'{commit: $commit, url: $url, sha256: $hash}' \
--arg commit_msg "$commit_msg" \
'{commit: $commit, url: $url, sha256: $hash, msg: $commit_msg}' \
> $pin_file
fi
if [[ "${1:-}" == "--do-commit" ]]; then
git add pkgs/data/misc/hackage/pin.json
git commit -m "all-cabal-hashes: Changing pin to '$commit_msg'"
fi

View file

@ -49,3 +49,8 @@ sed -e '/ # Stackage Nightly/,/^$/c \TODO\
sed -e "/TODO/r $tmpfile" \
-e "s/TODO/ # Stackage Nightly $version/" \
-i pkgs/development/haskell-modules/configuration-hackage2nix.yaml
if [[ "${1:-}" == "--do-commit" ]]; then
git add pkgs/development/haskell-modules/configuration-hackage2nix.yaml
git commit -m "configuration-hackage2nix.yaml: Changing Stackage pin to Nightly $version"
fi