Cache hoogle db
[lsp-test.git] / .github / workflows / haskell.yml
index 86507b4ff5fd52104bd134c9f0f900be9ba43680..4f5dda47c2136109c42d284c203216d82e34c30e 100644 (file)
@@ -41,17 +41,29 @@ jobs:
         restore-keys: |
           ${{ runner.OS }}-${{ matrix.ghc }}-cabal
 
+    - name: Cache Hoogle
+      uses: actions/cache@v1.1.0
+      with:
+        path: ~/.hoogle
+        key: ${{ runner.OS }}-${{ matrix.ghc }}-hoogle-${{ env.hieref }}
+
     - name: Build HIE
       run: |
-        if [ -e $HOME/.cabal/bin/hie ]; then
-            echo "hie is already built"
-            exit 0
-        fi
+        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
+    - name: Generate hoogle database
+      run: |
+        if [ -d $HOME/.hoogle ]; then
+           echo "hoogle database already built"
+           exit 0
+        fi
+        hoogle generate
     - name: Install JS Language Server
       run: npm install javascript-typescript-langserver
     - name: Build