language: haskell
-dist: xenial
sudo: false
+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
-- cd $HOME/haskell-ide-engine
+- if [[ "$TRAVIS_OS_NAME" == "windows" ]]; then choco install ghc cabal nodejs; /C/ProgramData/chocolatey/bin/RefreshEnv.cmd; fi
+# 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
+- pushd $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-install —lib Cabal
-- cd $TRAVIS_BUILD_DIR
+- cabal v2-update
+- cabal v2-install hie -j2 --overwrite-policy=always
+- cabal v2-install hoogle -j2 --overwrite-policy=always
+- hoogle generate
+- popd
+# needs to be old-install for cabal-helper to find it
+- 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-
+# until cabal v2-test supports streaming results
- cabal v2-run lsp-test:test:tests
deploy:
tags: true
branch: master
repo: bubba/lsp-test
-