Install happy
[lsp-test.git] / .travis.yml
index 73de261bb86aa00e9fd950420e77a4dd0a87f33b..9d2616c38fe4753b19d0aaf88356ddbd2cb81368 100644 (file)
@@ -1,11 +1,16 @@
-language: javascript
+language: haskell
+ghc:
+  - "8.2.2"
+  - "8.4.3"
 
 sudo: false
 
 # Caching so the next build will be fast too.
 cache:
   directories:
-  - $HOME/.stack
+  # - $HOME/.stack
+  - $HOME/haskell-ide-engine/dist
+  - $HOME/haskell-ide-engine/dist-newstyle
 
 addons:
   apt:
@@ -14,20 +19,36 @@ addons:
 
 before_install:
   # Download and unpack the stack executable
-  - mkdir -p ~/.local/bin
-  - export PATH=$HOME/.local/bin:$PATH
-  - travis_retry curl -L https://get.haskellstack.org/stable/linux-x86_64.tar.gz | tar xz --wildcards --strip-components=1 -C ~/.local/bin '*/stack'
-  - npm update
+  # - mkdir -p ~/.local/bin
+  # - export PATH=$HOME/.local/bin:$PATH
+  # - travis_retry curl -L https://get.haskellstack.org/stable/linux-x86_64.tar.gz | tar xz --wildcards --strip-components=1 -C ~/.local/bin '*/stack'
     
-install:
-  - git clone https://github.com/haskell/haskell-ide-engine.git --recursive
+  - cd $HOME
+  # It's ok to fail
+  - mkdir -p haskell-ide-engine
   - cd haskell-ide-engine
-  - git checkout c4190b22afa307bf8761d14ec71e17db79d7f395
+  - git init
+  - git remote add origin https://github.com/Bubba/haskell-ide-engine.git
+  - git pull origin heirarchal-document-symbols
+  - git submodule init
+  - git submodule sync
   - git submodule update
-  - stack --no-terminal --skip-ghc-check install -j2
-  - stack exec hoogle generate
-  - cd ..
+  - cabal new-configure
+  - cabal new-build -j2
+  - export PATH=$HOME/haskell-ide-engine/dist-newstyle/build/*/ghc-*/haskell-ide-engine-*/c/hie/build/hie/hie:$PATH
+  # - export PATH=$HOME/haskell-ide-engine/dist-newstyle/build/*/ghc-*/haskell-ide-engine-*/x/hie/build:$PATH
+  # - stack --no-terminal --skip-ghc-check install -j2
+  # - stack exec hoogle generate
+  - cabal install happy hoogle
+  - hoogle generate
+  - cd $TRAVIS_BUILD_DIR
+  - npm update
   - npm i -g javascript-typescript-langserver
 
 script:
-  - stack --no-terminal --skip-ghc-check test
+  - cabal configure --enable-tests --enable-coverage
+  - cabal build
+  - cabal test --show-details=streaming
+after_script:
+  - cabal install codecov-haskell
+  - codecov-haskell [options] tests