Try caching windows stack directories
[opengl.git] / .travis.yml
index 729bd20fdec694cada5f89850f4246129573a505..7db1c5498ce3106e25e19e8595e50f1db7b10a1f 100644 (file)
@@ -2,24 +2,49 @@ language: c
 
 sudo: false
 
-# Caching so the next build will be fast too.
+os:
+- windows
+- linux
+- osx
+
 cache:
   directories:
+    - .stack-work
     - $HOME/.stack
+    - $HOME/haskell-ide-engine/.stack-work
+    - %APPDATA%\Local\Programs\stack
+    - C:\sr
+  timeout: 1000
+
+addons:
+  apt:
+    packages:
+      - haskell-stack
+      - npm
+    update: true
+  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/Bubba/haskell-ide-engine.git --recursive
-  - cd haskell-ide-engine
-  - git checkout 377157dad7641c2c63e8b554a46a4888dca48721
-  - stack --no-terminal --skip-ghc-check install -j1
+  - if [[ "$TRAVIS_OS_NAME" == "windows" ]]; then choco install haskell-stack; 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 f5c903f31ef5a7ee75984faf2e6ccc0a06ab23eb
+  - git submodule init
+  - git submodule sync
+  - git submodule update --init
+  - stack --no-terminal --skip-ghc-check -j2 install
   - stack exec hoogle generate
-  - cd ..
+  - cd $TRAVIS_BUILD_DIR
+  - npm update
+  - npm i -g javascript-typescript-langserver
 
 script:
-  - stack --no-terminal --skip-ghc-check test
+  - stack test