language: c 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" 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: - | 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 --ignore-dependencies choco install nodejs.install /C/ProgramData/chocolatey/bin/RefreshEnv.cmd # ghc/cabal paths export PATH=/C/ProgramData/chocolatey/lib/ghc/tools/ghc-8.6.5/bin:${PATH} export PATH=${APPDATA}/cabal/bin:${PATH} # nodejs paths export PATH=/C/Program\ Files/nodejs:${PATH} export PATH=${APPDATA}/npm:${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} - npm update - npm i -g javascript-typescript-langserver - 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 0f697c8919747effca54be8a9b494896aea7d947 - git submodule update --init - cabal v2-update - | if [[ "$TRAVIS_OS_NAME" == "windows" ]]; then cabal v2-install hie -j2 --overwrite-policy=always --install-method=copy 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 else cabal v2-install hoogle -j2 --overwrite-policy=always fi - hoogle generate - popd # needs to be old-install for cabal-helper to find it - cabal v1-install Cabal --constraint "Cabal == 2.4.1.0" install: - cabal v2-build script: # until cabal v2-test supports streaming results we use v2-run # skipping for now testing the manual javascript session - cabal v2-run lsp-test:test:tests -- --skip="manual javascript session passes a test" jobs: include: - stage: deploy deploy: - provider: hackage username: bubba password: secure: M95r2TETDB9ndhqV0xCA9XSRw9k3tBj1xgTTAvB9b/aK3198XekZTak24a+etDNeq8cUke8wmWbN7UfBBlXiDmYYK+DfUFj5ilrkNRO+cAHQzx6TQ+yGr4GhTGhu76zA0g9PZLwMoaZdUELdOkNtRDh0EjC/PVMIp84ZKn2hBLJrptkeBbI5XDArd9I6gvu9mEuPjQ595GdHkKQdQJNEDyr1BQ9BwqUxCHj3HbUjkkfpdgujxE93wzj82/HMzGncYxeH5m5YWvK3ayX22cY3ZXK3D6jgZFB/wdp3uGwoUl1HGaVjAl6XbyV0ALMQkGTWOPrfI3HWqOtOcs349poMckDFseG1LmTXtWa3cG+8bcdzZtCbbo4pLu57e6DULivmvOw64R/tPPUx/evBRhstYVevYLrN0hJLwP3jWYl4BheHSCoDsv8cTFPaNYI/f0LgHF2NaUNBK89pOiR8kmue7oGoCUF/gBRKgqswG0xEji0YvkSIfPV/7qmfL2uoLFCZ/YpMQ8F80KjxsaA5qA3ktt0fVj14QNtsHl4+Qkwj5dtalre2zw5eHyZTe8svlD9Fp4pBaHMuazLDDyv/Aor4JYfInlfIR6oTtn6ty09eX0KjA2OhFi4hE4/jClt6ASDm3Dfv7bnFJJEBQLxfwFcQCFmAsI0EyUrAFmLON07hsm4= on: tags: true branch: master repo: bubba/lsp-test - provider: github api_key: secure: JKjHWJ/ikW15Y/ZfnlREUeTj2Nw+QHzuc7yC3Bw+AOYQo8gKLCpZiN2iqPaw9xJifGoadutLaKKl2SSup7sZ8CGNW5brttqtGEgxJZci+rjR/b/5RHlyOM10RUg4rwKE0oRo8qXpbRuw6x8cWsREjworMBewZCyF6ToUuTzzMaHqvE/mxwIxoW3b30Xt+TytD6rRlbk/MNiRSZpJeA1TyNiPmpGTqSBc8LBhh8H3IOaZDL3bxlENTEuTJFW67vCQSsoH4/9JKeJ/M3WiwBVza4CTTMfQAxijYOqVGqYcoFtqMXDv4q+IhnBVSYpVo24Ii7zS2I4uQsWDNf5mdtUmfF5MJh9kKRnlp8464VWcLeRWJNsJMz09+rFiUQnl8ovPiu6bwv6GCwsBLzrYdrMx4w/F8FMuB05DsORPWqAcGjSw94seIJcTRTEZg8MbFswNSNptMIf0/PPYDAzoxpAmmS8kigJBL0ymw/QrPgyVKz1hiN2u/OOxmkjM0mrSB2fUGKghyHg0MGIIS8bx6H/pFuX7/WmuQHcUbk5Z6S64YXrb2Vqb3l6Ua0Tz7uwRWrWI8YyTb7KMyhAeYChK5zEWlMBIAv7T602qFJWerU+Eor4lLJmd7CunUah3voPJ4JL8LhhOcVlrWpke+1S+JB6LPOTjQZTjxN3qeR9uGMdl/Zk= draft: true on: tags: true branch: master repo: bubba/lsp-test