Update hie version
[lsp-test.git] / .github / workflows / haskell.yml
1 name: Haskell CI
2
3 on: [push]
4 jobs:
5   build:
6    
7     runs-on: ${{ matrix.os }}
8
9     env:
10       hieref: 41b9cabcff790da4425ed7fab7cfb618e79bfd04
11
12     strategy:
13       matrix:
14         ghc: ['8.6.5']
15         os: [ubuntu-latest, macOS-latest]
16
17     steps:
18     - uses: actions/checkout@v1
19     - uses: bubba/setup-haskell@macos-ghcup
20       with:
21         ghc-version: ${{ matrix.ghc }}
22         cabal-version: '3.0'
23     - run: cabal update
24
25     - name: Clone HIE
26       uses: actions/checkout@v1
27       with:
28         repository: mpickering/haskell-ide-engine
29         submodules: recursive
30         ref: ${{ env.hieref }}
31         path: haskell-ide-engine
32
33     # - name: Cache Cabal
34     #   uses: actions/cache@v1
35     #   with:
36     #     path: ~/.cabal
37     #     key: ${{ runner.OS }}-${{ matrix.ghc }}-cabal-${{ hashFiles('../**/*.cabal') }}
38     #     restore-keys: |
39     #       ${{ runner.OS }}-${{ matrix.ghc }}-cabal
40
41     - name: Build HIE
42       run: |
43         # if [ -e $HOME/.cabal/bin/hie ]; then
44         #     echo "hie is already built"
45         #     exit 0
46         # fi
47         pushd ../haskell-ide-engine
48         cabal install hie
49         cabal install hoogle
50         hoogle generate
51         popd
52         # cabal v1-install Cabal --constraint "Cabal == 3.0.0.0"
53     - name: Install JS Language Server
54       run: npm install javascript-typescript-langserver
55     - name: Build
56       run: cabal build
57     - name: Test
58       run: |
59         echo $PATH
60         export PATH=$PATH:$(npm bin) 
61         cabal run lsp-test:test:tests