X-Git-Url: https://git.lukelau.me/?a=blobdiff_plain;f=.travis.yml;h=f26edb0e6c7e24605a0d183f5c3ac78d36777de0;hb=refs%2Fheads%2Ftravis-windows;hp=22b64e9a342fcbd62e9276021e032f5f0652dcfd;hpb=13928a9c66b4a352ae784660877d4fae57ac81d9;p=lsp-test.git diff --git a/.travis.yml b/.travis.yml index 22b64e9..f26edb0 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,24 +2,48 @@ language: c sudo: false -# Caching so the next build will be fast too. +os: +- windows +- linux +- osx + +dist: xenial + cache: directories: + - .stack-work - $HOME/.stack + - $HOME/haskell-ide-engine/.stack-work + - C:/Users/travis/AppData/Local/Programs/stack + - C:/sr + timeout: 1000 -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' +addons: + apt: + packages: + - npm + homebrew: + packages: + - haskell-stack + - npm -install: - - git clone https://github.com/haskell/haskell-ide-engine.git --recursive - - cd haskell-ide-engine - - git checkout c34c08eeced8173983601e98304258075f3057e1 - - stack --no-terminal --skip-ghc-check install -j1 - - stack exec hoogle generate - - cd .. +before_install: + - if [[ "$TRAVIS_OS_NAME" == "windows" ]]; then choco install haskell-stack nodejs; /C/ProgramData/chocolatey/bin/RefreshEnv.cmd; fi + - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then ./.linux.sh; fi + - mkdir -p 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 1a5640f4790bde364dcd0a61617c5ca5b85b145a + - git submodule init + - git submodule sync + - git submodule update --init + - stack --no-terminal --skip-ghc-check -j2 install --stack-yaml=stack-8.6.2.yaml + - stack exec hoogle generate --stack-yaml=stack-8.6.2.yaml + - cd $TRAVIS_BUILD_DIR + - npm update + - npm i -g javascript-typescript-langserver script: - - stack --no-terminal --skip-ghc-check test + - stack test