Turn back on tests
[lsp-test.git] / .github / workflows / haskell.yml
index a7a2d07e43d6b2dbb658c675769aeafee69180b1..87a1ca10875eeb3df841de5abcb996bc10e4c3bd 100644 (file)
@@ -1,30 +1,59 @@
 name: Haskell CI
 
 on: [push]
-
 jobs:
-  lint:
-    runs-on: ubuntu-latest
-    steps:
-    - uses: domdere/haskell-lint-action@v1.0.2
-    
   build:
    
-    runs-on: ubuntu-latest
+    runs-on: ${{ matrix.os }}
+
+    env:
+      hieref: 52691a63087ceb585c8bdc2ea04b52df3b2eddf1
+
+    strategy:
+      matrix:
+        ghc: ['8.6.5']
+        os: [ubuntu-latest, macOS-latest]
 
     steps:
     - uses: actions/checkout@v1
-    - name: Install HIE
+    - uses: bubba/setup-haskell@macos-ghcup
+      with:
+        ghc-version: ${{ matrix.ghc }}
+        cabal-version: '3.0'
+    - run: cabal update
+
+    - name: Clone HIE
+      uses: actions/checkout@v1
+      with:
+        repository: mpickering/haskell-ide-engine
+        submodules: recursive
+        ref: ${{ env.hieref }}
+        path: haskell-ide-engine
+
+    - name: Cache HIE
+      uses: actions/cache@v1
+      with:
+        path: ../haskell-ide-engine/dist-newstyle
+        key: ${{ runner.OS }}-${{ matrix.ghc }}-${{ env.hieref }}
+
+    - name: Build HIE
       run: |
-        apt upgrade ghc cabal-install
-        pushd $HOME
-        git clone https://github.com/haskell/haskell-ide-engine --recurse-submodules
-        cd haskell-ide-engine
-        cabal v2-install hie
-        cabal v2-install hoogle
+        # 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
-      run: cabal v2-build
-    - name: Run tests
-      run: cabal v2-test
+      run: cabal build
+    - name: Test
+      run: |
+        echo $PATH
+        export PATH=$PATH:$(npm bin) 
+        cabal run lsp-test:test:tests