Install Cabal library
[lsp-test.git] / .github / workflows / haskell.yml
index 6124028e8461baf163b8de7c34c444f2080962ad..e02750059b2461b1606d114f7cab69604fc67a9c 100644 (file)
@@ -26,27 +26,28 @@ jobs:
       uses: actions/checkout@v1
       with:
         repository: haskell/haskell-ide-engine
-        submodules: recurse
+        submodules: recursive
         ref: ${{ env.hieref }}
-        path: $HOME/haskell-ide-engine
+        path: haskell-ide-engine
 
-    - name: Cache Cabal binaries
+    - name: Cache HIE
       uses: actions/cache@v1
       with:
-        path: $HOME/.cabal/bin
+        path: haskell-ide-engine/dist-newstyle
         key: ${{ runner.OS }}-${{ matrix.ghc }}-${{ env.hieref }}
 
     - name: Build HIE
       run: |
-        if [ -e $HOME/.cabal/bin/hie ]; then
-            echo "hie is already built"
-            exit 0
-        fi
-        pushd $HOME/haskell-ide-engine
+        if [ -e $HOME/.cabal/bin/hie ]; then
+            echo "hie is already built"
+            exit 0
+        fi
+        pushd ../haskell-ide-engine
         cabal install hie
         cabal install hoogle
         hoogle generate
         popd
+        cabal v1-install Cabal --constraint "Cabal == 3.0.0.0"
     - name: Install JS Language Server
       run: npm install javascript-typescript-langserver
     - name: Build
@@ -54,4 +55,4 @@ jobs:
     - name: Test
       run: |
         export PATH=$PATH:$HOME/.cabal/bin:$(npm bin) 
-        cabal test
+        cabal run lsp-test:test:tests