X-Git-Url: https://git.lukelau.me/?p=lsp-test.git;a=blobdiff_plain;f=.travis.yml;h=cb44faf7a4022c9894ba379a2ed413c4e482edb7;hp=28d6795f31917cee8cbd8a15be40d96288361018;hb=HEAD;hpb=0a188a2da9f22fd9a69ceddfaa8c62b7b2cb518a diff --git a/.travis.yml b/.travis.yml index 28d6795..cb44faf 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,36 +1,110 @@ language: c - sudo: false +os: +- linux +- osx +- windows + +dist: xenial + +ghc: +- 8.6.5 +cabal: '2.4' + cache: directories: - - .stack-work - - $HOME/.stack - - $HOME/haskell-ide-engine/.stack-work + - "$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: - - 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' - - mkdir -p haskell-ide-engine - - cd $HOME/haskell-ide-engine +- | + 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 submodule init - - git submodule sync +- git checkout 0f697c8919747effca54be8a9b494896aea7d947 - git submodule update --init - - stack --no-terminal --skip-ghc-check -j2 install - - stack exec hoogle generate - - cd $TRAVIS_BUILD_DIR - - hie --version - - npm update - - npm i -g javascript-typescript-langserver +- 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: - - stack test +# 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