Install happy
[lsp-test.git] / .travis.yml
index 8305980fa916bc0f18b9c553bbeb62a54ed8ac94..9d2616c38fe4753b19d0aaf88356ddbd2cb81368 100644 (file)
@@ -1,24 +1,54 @@
-language: c
+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:
+    packages:
+    - npm
 
 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'
+  - 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
-  - stack --no-terminal --skip-ghc-check install -j1
-  - stack exec hoogle generate
-  - cd ..
+  - 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
+  - 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