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
+
+addons:
+ apt:
+ packages:
+ - npm
+ homebrew:
+ packages:
+ - haskell-stack
+ - npm
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'
-
-install:
- - git clone https://github.com/haskell/haskell-ide-engine.git --recursive
- - cd haskell-ide-engine
- - git checkout c34c08eeced8173983601e98304258075f3057e1
- - git submodule update
- - stack --no-terminal --skip-ghc-check install -j2
- - stack exec hoogle generate
- - cd ..
+ - if [[ "$TRAVIS_OS_NAME" == "windows" ]]; then choco install haskell-stack nodejs 7zip; export PATH=/C/ProgramData/chocolatey/bin:$PATH; refreshenv; fi
+ - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then curl -sSL https://get.haskellstack.org/ | 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