Use haskell/actions/setup
[lsp-test.git] / .github / workflows / haskell.yml
1 name: Test
2
3 on: [push, pull_request]
4 jobs:
5   build:
6
7     runs-on: ${{ matrix.os }}
8
9     strategy:
10       fail-fast: false
11       matrix:
12         ghc: ['8.10.3', '8.8.3', '8.6.5', '8.4.4']
13         os: [ubuntu-latest, macOS-latest, windows-latest]
14         exclude:
15           - os: windows-latest
16             ghc: '8.8.3' # fails due to segfault
17
18     steps:
19     - uses: actions/checkout@v2
20     - uses: haskell/actions/setup@v1
21       with:
22         ghc-version: ${{ matrix.ghc }}
23         cabal-version: '3.2'
24
25     - name: Cache Cabal
26       uses: actions/cache@v1.2.0
27       with:
28         path: ~/.cabal
29         key: ${{ runner.OS }}-${{ matrix.ghc }}-cabal-0
30
31     - name: Build
32       run: cabal build
33     - name: Test
34       run: cabal test