sudo: true language: c addons: apt: sources: - google-chrome packages: # GHC - libgmp-dev # Selenium - xvfb # Testcafe - google-chrome-stable fluxbox chrome: stable before_install: - # start your web application and listen on `localhost` - google-chrome-stable --headless --disable-gpu --remote-debugging-port=5000 http://localhost & cache: directories: - $HOME/.stack - .stack-work timeout: 1000 jobs: include: - stage: "Build dependencies" before_script: - mkdir -p ~/.local/bin - export PATH=$HOME/.local/bin:$PATH - >- travis_retry curl -L https://www.stackage.org/stack/linux-x86_64 | tar xz --wildcards --strip-components=1 -C ~/.local/bin '*/stack' script: - stack --no-terminal --install-ghc test --no-run-tests --dependencies-only - stage: "Build and test the project" before_script: # Install Stack - mkdir -p ~/.local/bin - export PATH=$HOME/.local/bin:$PATH - >- travis_retry curl -L https://www.stackage.org/stack/linux-x86_64 | tar xz --wildcards --strip-components=1 -C ~/.local/bin '*/stack' # Install chromedriver - wget http://chromedriver.storage.googleapis.com/2.40/chromedriver_linux64.zip - unzip chromedriver_linux64.zip - chmod +x chromedriver - sudo mv -f chromedriver /usr/local/share/chromedriver - sudo ln -s /usr/local/share/chromedriver /usr/local/bin/chromedriver - sudo ln -s /usr/local/share/chromedriver /usr/bin/chromedriver # Run selenium-server - export DISPLAY=:99.0 - sh -e /etc/init.d/xvfb start - travis_retry wget http://selenium-release.storage.googleapis.com/3.6/selenium-server-standalone-3.6.0.jar - java -jar selenium-server-standalone-3.6.0.jar 2> /dev/null & - sleep 15 script: - scripts/buildjs.sh - stack --no-terminal test - scripts/test-official.sh - stage: "Install and test vue frontend" before_script: # Install dependencies - cd front - npm install - "export DISPLAY=:99.0" - "sh -e /etc/init.d/xvfb start" - sleep 10 - fluxbox >/dev/null 2>&1 & script: # Run testcafe e2e testing - npm run test notifications: slack: secure: BgQpUYFmvXrf7HVBP/fefS/8UVwES800+fT+ufgJX8b2HMx2FvaWVsdv3ErKAryLE0B3fwmvforWugTdgLO3kq66YUgSt51SNQOBLkMVGubIoQsgvr3Ernu+Wpw1DyoMkXQH9q9O9rfCIc4IwkQCEHqu5SVRqdOd5px/CHFl/ktTI22JkT8ap/Be53qjlB2U2sWUf4GxYXq0V/gGF6fDwsUwTVKFb14RfSDrOgK5Vlce2GRf3gNr1C/j7A7EHIR/Z+rNd2hvv69cFw6TRc3s39QmP8XPe3SLZPIHTZ8vRveX1SZioMeEy747r5rHd9vylEjxWtVHhvP9fOt693+woXa8ZAl5uVRgB6S4mTWLZ+LAbqhaCmDGJYr9GrrBMoqWvJiMuBX3ZvHptsAc6O2l/fxZQU3otTE++SmHkhbyoDQkcPCjXPDUi/ZlnoLc5zfMAfApcsZZ8b9t47z12H0O4uDZd2YiNPiQJ1iUA6R879LH3pcxPB3RaoWsfXzv/klkKrU/V2K4SXD9j4/bmAFArlig+dar+Dm44L/a3/G7vbU1lQIa1bG0EqB36qgUS3UCkuy2ppti/JTHpkYx7HVF2BipoCjOVvfBl9G8RkvcQIhyuCfOGm7WL1TjrKVMccIEGJKhm7OO6wOZYCBfAI5zILxi8XEJAIvBm9NywhQlwxI=