Gracefully ignore Haskell stack edge case

Haskell stack can be slow to add new Haskell compiler versions.
The stack container test will fail until this is done, which blocks
docker Haskell updating as well.

Rather, lets ignore that particular failure, but still verify
with stack if the compiler version is supported.
This commit is contained in:
Alistair Burrowes
2021-11-22 19:49:01 +11:00
parent e392283bc8
commit 5af2e70bc2
+14 -1
View File
@@ -2,6 +2,19 @@
set -e
# stack mostly sends to stderr
stack --resolver ghc-$(ghc --print-project-version) new myproject 2> /dev/null
if ! stackResult="$(stack --resolver ghc-$(ghc --print-project-version) new myproject 2>&1 > /dev/null)"; then
case "$stackResult" in
*"Unable to load global hints for"*)
echo >&2 'skipping; stack does not yet support this Haskell version'
exit 0
;;
*)
echo >&2 'error: stack failed:'
echo >&2 "$stackResult"
exit 1
;;
esac
fi
cd myproject
stack run 2> /dev/null