dist: xenial
-# ghc:
-# - 8.6.5
-# cabal: '2.4'
+ghc:
+- 8.6.5
+cabal: '2.4'
cache:
directories:
update: true
before_install:
-- if [[ "$TRAVIS_OS_NAME" == "windows" ]]; then choco install ghc cabal nodejs; /C/ProgramData/chocolatey/bin/RefreshEnv.cmd; fi
-- export PATH=$HOME/.cabal/bin:$PATH
+- |
+ if [[ "$TRAVIS_OS_NAME" == "windows" ]]; then
+ choco source add -n mistuke -s https://www.myget.org/F/mistuke/api/v2
+ choco install cabal-head -pre
+ choco install ghc nodejs
+ /C/ProgramData/chocolatey/bin/RefreshEnv.cmd
+ export PATH=/C/ProgramData/chocolatey/lib/ghc/tools/ghc-8.6.5/bin:${PATH}
+ 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}
+- ghc --version
- mkdir -p $HOME/haskell-ide-engine
-- cd $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 --overwrite-policy=always
-- cabal v2-install hoogle -j2 --overwrite-policy=always
+- cabal v2-update
+- cabal --version
+- |
+ if [[ "$TRAVIS_OS_NAME" == "windows" ]]; then
+ cabal v2-install hie -j2 --overwrite-policy=always --install-method=copy --installdir=~/.cabal/bin
+ else
+ cabal v2-install hie -j2 --overwrite-policy=always
+ fi
+- |
+ if [[ "$TRAVIS_OS_NAME" == "windows" ]]; then
+ cabal v2-install hoogle -j2 --overwrite-policy=always --install-method=copy --installdir=~/.cabal/bin
+ else
+ cabal v2-install hoogle -j2 --overwrite-policy=always
+ fi
- hoogle generate
-- cd $TRAVIS_BUILD_DIR
+- 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
install:
- cabal v2-build
script:
+# until cabal v2-test supports streaming results
- cabal v2-run lsp-test:test:tests
deploy: