Use cabal-head
[lsp-test.git] / .travis.yml
1 language: c
2 sudo: false
3
4 os:
5 - linux
6 - osx
7 - windows
8
9 dist: xenial
10
11 ghc:
12 - 8.6.5
13 cabal: '2.4'
14
15 cache:
16   directories:
17   - "$HOME/.cabal"
18   - "$HOME/.ghc"
19   - "$HOME/haskell-ide-engine/dist-newstyle"
20   - "dist-newstyle"
21
22 addons:
23   apt:
24     sources:
25     - sourceline: ppa:hvr/ghc
26     packages:
27     - npm
28     - ghc-8.6.5
29     - cabal-install-2.4
30   homebrew:
31     packages:
32     - ghc
33     - cabal-install
34     - npm
35     update: true
36
37 before_install:
38 - |
39   if [[ "$TRAVIS_OS_NAME" == "windows" ]]; then
40     choco install cabal-head -pre
41     choco install ghc nodejs
42     /C/ProgramData/chocolatey/bin/RefreshEnv.cmd
43     export PATH=/C/ProgramData/chocolatey/lib/ghc/tools/ghc-8.6.5/bin:${PATH}
44   fi
45 # these are taken from the haskell language setup
46 - export PATH=/opt/ghc/8.6.5/bin:${PATH}
47 - export PATH=/opt/cabal/2.4/bin:${PATH}
48 - export PATH=$HOME/.cabal/bin:${PATH}
49 - ghc --version
50 - mkdir -p $HOME/haskell-ide-engine
51 - pushd $HOME/haskell-ide-engine
52 - git init
53 - git remote add origin https://github.com/haskell/haskell-ide-engine.git
54 - git pull origin master
55 - git checkout abdb097f39e135deaf321a604c95f16cbda32678
56 - git submodule update --init
57 - cabal v2-update
58 - cabal v2-install hie -j2 --overwrite-policy=always
59 - cabal v2-install hoogle -j2 --overwrite-policy=always
60 - hoogle generate
61 - popd
62 # needs to be old-install for cabal-helper to find it
63 - cabal install Cabal --constraint "Cabal == 2.4.1.0"
64 - npm update
65 - npm i -g javascript-typescript-langserver
66
67 install:
68 - cabal v2-build
69 script:
70 # until cabal v2-test supports streaming results
71 - cabal v2-run lsp-test:test:tests
72
73 deploy:
74   - provider: hackage
75     username: bubba
76     password:
77       secure: M95r2TETDB9ndhqV0xCA9XSRw9k3tBj1xgTTAvB9b/aK3198XekZTak24a+etDNeq8cUke8wmWbN7UfBBlXiDmYYK+DfUFj5ilrkNRO+cAHQzx6TQ+yGr4GhTGhu76zA0g9PZLwMoaZdUELdOkNtRDh0EjC/PVMIp84ZKn2hBLJrptkeBbI5XDArd9I6gvu9mEuPjQ595GdHkKQdQJNEDyr1BQ9BwqUxCHj3HbUjkkfpdgujxE93wzj82/HMzGncYxeH5m5YWvK3ayX22cY3ZXK3D6jgZFB/wdp3uGwoUl1HGaVjAl6XbyV0ALMQkGTWOPrfI3HWqOtOcs349poMckDFseG1LmTXtWa3cG+8bcdzZtCbbo4pLu57e6DULivmvOw64R/tPPUx/evBRhstYVevYLrN0hJLwP3jWYl4BheHSCoDsv8cTFPaNYI/f0LgHF2NaUNBK89pOiR8kmue7oGoCUF/gBRKgqswG0xEji0YvkSIfPV/7qmfL2uoLFCZ/YpMQ8F80KjxsaA5qA3ktt0fVj14QNtsHl4+Qkwj5dtalre2zw5eHyZTe8svlD9Fp4pBaHMuazLDDyv/Aor4JYfInlfIR6oTtn6ty09eX0KjA2OhFi4hE4/jClt6ASDm3Dfv7bnFJJEBQLxfwFcQCFmAsI0EyUrAFmLON07hsm4=
78     on:
79       tags: true  
80       branch: master
81       repo: bubba/lsp-test
82   - provider: github
83     api_key:
84       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=
85     draft: true
86     on:
87       tags: true
88       branch: master
89       repo: bubba/lsp-test