X-Git-Url: http://git.lukelau.me/?a=blobdiff_plain;f=.travis.yml;h=8a6fd8040dc237f0f5f6d54de70af8412d7ee6c5;hb=d6b41645f54661b5b317ab36641c4243ecee3334;hp=9d8e610da41329923572c8212fd263bd58536cf5;hpb=4d68c322be54d7016d19d1bfd714eb272864a21f;p=lsp-test.git diff --git a/.travis.yml b/.travis.yml index 9d8e610..8a6fd80 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,7 +1,13 @@ -language: haskell -dist: xenial +language: c sudo: false +os: +- linux +- osx +- windows + +dist: xenial + ghc: - 8.6.5 cabal: '2.4' @@ -12,26 +18,48 @@ cache: - "$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: -- export PATH=$HOME/.cabal/bin:$PATH -- 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 + export PATH=/C/ProgramData/chocolatey/lib/ghc/tools/ghc-8.6.5/bin:${PATH} + /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} +- ghc --version +- 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-update - cabal v2-install hie -j2 --overwrite-policy=always - cabal v2-install hoogle -j2 --overwrite-policy=always - 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 @@ -39,7 +67,7 @@ before_install: install: - cabal v2-build script: - # - cabal v2-test- +# until cabal v2-test supports streaming results - cabal v2-run lsp-test:test:tests deploy: