Skip to content

Commit c8d6ee0

Browse files
fix for haskell.yml workflow
1 parent f159f8d commit c8d6ee0

File tree

1 file changed

+27
-71
lines changed

1 file changed

+27
-71
lines changed

.github/workflows/haskell.yml

Lines changed: 27 additions & 71 deletions
Original file line numberDiff line numberDiff line change
@@ -36,94 +36,50 @@ jobs:
3636
- { build: stack, resolver: "--resolver lts-14" } # ghc-8.6.5
3737
- { build: stack, resolver: "--resolver nightly" }
3838
- { 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
4439
# use this to include any dependencies from OS package managers
4540
include: []
4641
# - os: macOS-latest
4742
# brew: anybrewdeps
4843
# - os: ubuntu-latest
4944
# apt-get: happy libblas-dev liblapack-dev
5045

51-
exclude:
52-
- os: macOS-latest
53-
plan:
54-
build: cabal
55-
5646
runs-on: ${{ matrix.os }}
5747
steps:
5848
- name: Install OS Packages
5949
uses: mstksg/get-package@v1
6050
with:
6151
apt-get: ${{ matrix.apt-get }}
6252
brew: ${{ matrix.brew }}
63-
- uses: actions/checkout@v1
53+
- uses: actions/checkout@v2
6454

65-
- name: Setup stack
66-
uses: mstksg/setup-stack@v1
55+
- name: Checkout
56+
uses: actions/checkout@v2
6757

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
7464

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
9378

9479
- name: Build
9580
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

Comments
 (0)