Whittle down the install steps
[lsp-test.git] / .travis.yml
index 19306cbf2012866fd136fb496be56ed7612c9fa0..53104ff453a8e125edf69e4825f3aaa864b3a60c 100644 (file)
@@ -1,42 +1,66 @@
-language: haskell
-dist: xenial
+language: c
 sudo: false
 
-ghc:
-- 8.6.5
-cabal: '2.4'
+os:
+- linux
+- osx
+- windows
+
+dist: xenial
+
+# ghc:
+# - 8.6.5
+# cabal: '2.4'
 
 cache:
   directories:
   - "$HOME/.cabal"
+  - "$HOME/.ghc"
   - "$HOME/haskell-ide-engine/dist-newstyle"
   - "dist-newstyle"
-  timeout: 1000
 
 addons:
   apt:
+    sources:
+    - sourceline: ppa:hvr/ghc
     packages:
     - npm
+    - ghc-8.6.5
+    - cabal-install-2.4
+  homebrew:
+    packages:
+    - ghc
+    - cabal-install
+    - npm
+    update: true
 
 before_install:
-- mkdir -p haskell-ide-engine
+- if [[ "$TRAVIS_OS_NAME" == "windows" ]]; then choco install ghc; /C/ProgramData/chocolatey/bin/RefreshEnv.cmd; fi
+- ghc --version
+# these are taken from the haskell language setup
+- export PATH=/opt/ghc/8.6.5/bin:${PATH}
+- export PATH=/opt/cabal/2.4/bin:${PATH}
+- export PATH=$HOME/.cabal/bin:${PATH}
+- mkdir -p $HOME/haskell-ide-engine
 - cd $HOME/haskell-ide-engine
 - git init
 - git remote add origin https://github.com/haskell/haskell-ide-engine.git
 - git pull origin master
 - git checkout abdb097f39e135deaf321a604c95f16cbda32678
 - git submodule update --init
-- cabal v2-install hie -j2
-- cabal v2-run -j2 hoogle generate
+- cabal v2-update
+- cabal v2-install hie -j2 --overwrite-policy=always
+- cabal v2-install hoogle -j2 --overwrite-policy=always
+- hoogle generate
 - cd $TRAVIS_BUILD_DIR
+- cabal install Cabal --constraint "Cabal == 2.4.1.0"
 - npm update
 - npm i -g javascript-typescript-langserver
-- export PATH=$HOME/.cabal/bin:$PATH
 
 install:
 - cabal v2-build
 script:
-- cabal v2-test
+- cabal v2-run lsp-test:test:tests
 
 deploy:
   - provider: hackage
@@ -55,4 +79,3 @@ deploy:
       tags: true
       branch: master
       repo: bubba/lsp-test
-