@@ -0,0 +1,46 @@
1+#!/usr/bin/env bash
2+
3+# Script to verify a package to build successfully
4+# Provide pacakge name by the first argument
5+#
6+# Example:
7+# ./verify-package mtl
8+# or
9+# ./verify-package mtl-2.2.2
10+
11+set -eu
12+
13+die() {
14+ >&2 echo "$1"
15+ exit 1
16+}
17+
18+package="${1:-}"
19+if [[ -z $package ]]; then
20+ die "Package name is not given"
21+fi
22+
23+
24+here="$(cd "$(dirname "$0")" > /dev/null; pwd)"
25+dir="$(mktemp -d tmp.XXXX)"
26+
27+exit() {
28+ cd "$here"
29+ rm -rf "$dir"
30+}
31+trap exit EXIT
32+
33+cd "$dir"
34+stack unpack "$package"
35+cd "$(ls | head -n 1)"
36+rm -f stack.yaml
37+stack init --resolver nightly
38+stack build --resolver nightly --haddock --test --bench --no-run-benchmarks
39+
40+
41+cat <<EOF
42+
43+
44+ 🎉 It looks good!
45+
46+EOF