@@ -36,94 +36,50 @@ jobs:
36
36
- { build: stack, resolver: "--resolver lts-14" } # ghc-8.6.5
37
37
- { build: stack, resolver: "--resolver nightly" }
38
38
- { build: stack, resolver: "" }
39
- - { build: cabal, ghc: 8.0.2, cabal-install: "2.0" } # setup-haskell only supports cabal-install 2.0 and higher
40
- - { build: cabal, ghc: 8.2.2, cabal-install: "2.0" }
41
- - { build: cabal, ghc: 8.4.4, cabal-install: "2.2" }
42
- - { build: cabal, ghc: 8.6.5, cabal-install: "2.4" }
43
- - { build: cabal, ghc: 8.8.1, cabal-install: "2.4" } # currently not working for >= 3.0
44
39
# use this to include any dependencies from OS package managers
45
40
include : []
46
41
# - os: macOS-latest
47
42
# brew: anybrewdeps
48
43
# - os: ubuntu-latest
49
44
# apt-get: happy libblas-dev liblapack-dev
50
45
51
- exclude :
52
- - os : macOS-latest
53
- plan :
54
- build : cabal
55
-
56
46
runs-on : ${{ matrix.os }}
57
47
steps :
58
48
- name : Install OS Packages
59
49
uses : mstksg/get-package@v1
60
50
with :
61
51
apt-get : ${{ matrix.apt-get }}
62
52
brew : ${{ matrix.brew }}
63
- - uses : actions/checkout@v1
53
+ - uses : actions/checkout@v2
64
54
65
- - name : Setup stack
66
- uses : mstksg/setup-stack@v1
55
+ - name : Checkout
56
+ uses : actions/checkout@v2
67
57
68
- - name : Setup cabal-install
69
- uses : actions/setup-haskell@v1
70
- with :
71
- ghc-version : ${{ matrix.plan.ghc }}
72
- cabal-version : ${{ matrix.plan.cabal-install }}
73
- if : matrix.plan.build == 'cabal'
58
+ - name : Cache Local
59
+ id : cache-local
60
+ uses : actions/cache@v1
61
+ with :
62
+ path : ~/.local/
63
+ key : ${{ runner.os }}-local-v1
74
64
75
- - name : Install dependencies
76
- run : |
77
- set -ex
78
- case "$BUILD" in
79
- stack)
80
- stack --no-terminal --install-ghc $ARGS test --bench --only-dependencies
81
- ;;
82
- cabal)
83
- cabal --version
84
- cabal update
85
- PACKAGES=$(stack --install-ghc query locals | grep '^ *path' | sed 's@^ *path:@@')
86
- cabal install --only-dependencies --enable-tests --enable-benchmarks --force-reinstalls --ghc-options=-O0 --reorder-goals --max-backjumps=-1 $CABALARGS $PACKAGES
87
- ;;
88
- esac
89
- set +ex
90
- env :
91
- ARGS : ${{ matrix.plan.resolver }}
92
- BUILD : ${{ matrix.plan.build }}
65
+ - name : Cache Stack
66
+ id : cache-stack
67
+ uses : actions/cache@v1
68
+ with :
69
+ path : ~/.stack
70
+ key : ${{ runner.os }}-stack-v1
71
+
72
+ - name : Cache Cabal
73
+ id : cache-cabal
74
+ uses : actions/cache@v1
75
+ with :
76
+ path : ~/.cabal
77
+ key : ${{ runner.os }}-cabal-v1
93
78
94
79
- name : Build
95
80
run : |
96
- set -ex
97
- case "$BUILD" in
98
- stack)
99
- stack --no-terminal $ARGS test --bench --no-run-benchmarks --haddock --no-haddock-deps
100
- ;;
101
- cabal)
102
- PACKAGES=$(stack --install-ghc query locals | grep '^ *path' | sed 's@^ *path:@@')
103
- cabal install --enable-tests --enable-benchmarks --force-reinstalls --ghc-options=-O0 --reorder-goals --max-backjumps=-1 $CABALARGS $PACKAGES
104
- ORIGDIR=$(pwd)
105
- for dir in $PACKAGES
106
- do
107
- cd $dir
108
- cabal check || [ "$CABALVER" == "1.16" ]
109
- cabal sdist
110
- PKGVER=$(cabal info . | awk '{print $2;exit}')
111
- SRC_TGZ=$PKGVER.tar.gz
112
- cd dist
113
- tar zxfv "$SRC_TGZ"
114
- cd "$PKGVER"
115
- cabal configure --enable-tests --ghc-options -O0
116
- cabal build
117
- if [ "$CABALVER" = "1.16" ] || [ "$CABALVER" = "1.18" ]; then
118
- cabal test
119
- else
120
- cabal test --show-details=streaming --log=/dev/stdout
121
- fi
122
- cd $ORIGDIR
123
- done
124
- ;;
125
- esac
126
- set +ex
127
- env :
128
- ARGS : ${{ matrix.plan.resolver }}
129
- BUILD : ${{ matrix.plan.build }}
81
+ stack build --ghc-options="-Werror" --only-dependencies
82
+
83
+ - name : Test
84
+ run : |
85
+ stack test --ghc-options="-Werror"
0 commit comments