Bump cache key
[lsp-test.git] / .github / workflows / haskell.yml
index e4cdf76e2a374e073f0bf41cd65a654514df1c8f..9822af7bb3405772ba37414e81131c51f9bb3659 100644 (file)
@@ -1,32 +1,35 @@
 name: Haskell CI
 
-on: [push]
-
+on: [push, pull_request]
 jobs:
   build:
 
-    runs-on: ubuntu-latest
+    runs-on: ${{ matrix.os }}
+
+    strategy:
+      fail-fast: false
+      matrix:
+        ghc: ['8.10.1', '8.8.3', '8.6.5', '8.4.4']
+        os: [ubuntu-latest, macOS-latest, windows-latest]
+        exclude:
+          - os: windows-latest
+            ghc: '8.8.3' # fails due to segfault
 
     steps:
     - uses: actions/checkout@v1
-    - uses: actions/setup-haskell@v1
+    - uses: actions/setup-haskell@v1.1
       with:
-        ghc-version: '8.6.5'
+        ghc-version: ${{ matrix.ghc }}
         cabal-version: '3.0'
     - run: cabal update
-    - name: Install HIE
-      run: |
-        pushd $HOME
-        git clone https://github.com/haskell/haskell-ide-engine --recurse-submodules
-        cd haskell-ide-engine
-        cabal install hie
-        cabal install hoogle
-        export PATH=$PATH:$HOME/.cabal/bin
-        hoogle generate
-        popd
+
+    - name: Cache Cabal
+      uses: actions/cache@v1.2.0
+      with:
+        path: ~/.cabal
+        key: ${{ runner.OS }}-${{ matrix.ghc }}-cabal-0
+
     - name: Build
       run: cabal build
     - name: Test
-      run: |
-        export PATH=$PATH:$HOME/.cabal/bin
-        cabal test
+      run: cabal test