2016-11-15 13:36:26 +03:00
|
|
|
sudo: true
|
2016-02-02 12:35:39 +03:00
|
|
|
|
2016-08-17 11:18:57 +03:00
|
|
|
language: c
|
|
|
|
|
|
|
|
addons:
|
|
|
|
apt:
|
2018-10-31 00:09:40 +03:00
|
|
|
sources:
|
|
|
|
- google-chrome
|
2016-08-17 11:18:57 +03:00
|
|
|
packages:
|
2016-08-17 12:12:46 +03:00
|
|
|
# GHC
|
2016-08-17 11:18:57 +03:00
|
|
|
- libgmp-dev
|
2016-08-17 12:12:46 +03:00
|
|
|
# Selenium
|
|
|
|
- xvfb
|
2018-10-31 00:09:40 +03:00
|
|
|
# Testcafe
|
|
|
|
- google-chrome-stable fluxbox
|
2017-08-13 15:59:57 +03:00
|
|
|
chrome: stable
|
2018-11-25 11:48:42 +03:00
|
|
|
before_install:
|
|
|
|
- # start your web application and listen on `localhost`
|
|
|
|
- google-chrome-stable --headless --disable-gpu --remote-debugging-port=5000 http://localhost &
|
2016-08-17 11:18:57 +03:00
|
|
|
|
2016-02-02 12:35:39 +03:00
|
|
|
cache:
|
|
|
|
directories:
|
2016-08-17 11:18:57 +03:00
|
|
|
- $HOME/.stack
|
|
|
|
- .stack-work
|
2018-12-10 01:02:03 +03:00
|
|
|
- back/.stack-work
|
2018-09-02 19:09:23 +03:00
|
|
|
timeout: 1000
|
2016-02-02 12:35:39 +03:00
|
|
|
|
2018-09-02 20:45:34 +03:00
|
|
|
jobs:
|
2016-02-02 12:35:39 +03:00
|
|
|
include:
|
2018-12-10 01:02:03 +03:00
|
|
|
- stage: "Build backend dependencies"
|
2018-09-02 20:45:34 +03:00
|
|
|
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
|
|
|
|
|
2018-12-10 01:02:03 +03:00
|
|
|
- stage: "Build and test the backend"
|
2018-09-02 20:45:34 +03:00
|
|
|
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
|
2018-11-25 11:48:42 +03:00
|
|
|
- sh -e /etc/init.d/xvfb start
|
2018-09-02 20:45:34 +03:00
|
|
|
- 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:
|
2018-12-10 01:02:03 +03:00
|
|
|
- stack --no-terminal build
|
2018-09-02 20:45:34 +03:00
|
|
|
- stack --no-terminal test
|
2018-12-10 01:02:03 +03:00
|
|
|
- make back/test-db
|
2017-01-31 03:18:33 +03:00
|
|
|
|
2018-12-10 01:02:03 +03:00
|
|
|
- stage: "Build and test the frontend"
|
2018-10-31 00:09:40 +03:00
|
|
|
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
|
|
|
|
|
2017-01-31 03:18:33 +03:00
|
|
|
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=
|