浏览代码

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.
Alistair Burrowes 4 年之前
父节点
当前提交
5af2e70bc2
共有 1 个文件被更改,包括 14 次插入1 次删除
  1. 14 1
      test/tests/haskell-stack/container.sh

+ 14 - 1
test/tests/haskell-stack/container.sh

@@ -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