language: haskell
-
ghc:
- "8.2.2"
- - "8.4.2"
+ - "8.4.3"
sudo: false
# Caching so the next build will be fast too.
-# cache:
-# directories:
-# - $HOME/.stack
+cache:
+ directories:
+ - dist
+ - dist-newstyle
+ - $HOME/.stack
+ - $HOME/haskell-ide-engine/.stack-work
addons:
apt:
- 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'
- - npm update
-
-install:
- - git clone https://github.com/haskell/haskell-ide-engine.git --recursive
- - cd haskell-ide-engine
+ - printenv
+ - 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'
+ - stack config set system-ghc --global true
+ # - export PATH=/opt/ghc/8.4.3/bin:$PATH
+ # - sh .download-hie.sh
+ # - export PATH=$TRAVIS_BUILD_DIR:$PATH
+ # - hie version
+ - 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 submodule init
- git submodule sync
- - git submodule update
- - stack --no-terminal --skip-ghc-check install -j2
+ - git submodule update --init
+ - stack --no-terminal --skip-ghc-check -j2 install --stack-yaml=stack-$TRAVIS_HASKELL_VERSION.yaml
- stack exec hoogle generate
- - cd ..
+ - cd $TRAVIS_BUILD_DIR
+ - hie --version
+ # - git submodule init
+ # - git submodule sync
+ # - git submodule update
+ # - cabal new-configure
+ # - cabal new-build -j2
+ # - export PATH=$HOME/haskell-ide-engine/dist-newstyle/build/*/ghc-*/haskell-ide-engine-*/c/hie/build/hie/hie:$PATH
+ - npm update
- npm i -g javascript-typescript-langserver
-# script:
-# - stack --no-terminal --skip-ghc-check test
+script:
+ - stack test --no-terminal --skip-ghc-check -j2
+ # - cabal configure --enable-tests
+ # - cabal test --show-details=streaming