EBM-2017-2018/EBM-boilerplate

View on GitHub
.travis.yml

Summary

Maintainability
Test Coverage
language: node_js
node_js:
- node
 
sudo: required
 
services:
- docker
 
before_script:
- set -e
- cd backend
- npm i
- cd ../frontend
- npm i
- npm i codecov
- cd ..
 
script:
- set -e
 
# Environment variables
- export REPO_NAME=$(echo $TRAVIS_REPO_SLUG | awk -F/ '{ print tolower($2) }')
 
# Frontend
- cd frontend
- npm test -- --coverage
- ./node_modules/.bin/codecov
- npm run build
- cd ..
 
# Backend
- cd backend
- npm test
- npm run apidoc
- cd ..
 
# Build Docker
- |
if [[ $TRAVIS_PULL_REQUEST == 'false' ]];
then
export TAG=latest
else
export TAG=pr-${TRAVIS_PULL_REQUEST}
fi;
- docker build -t ebm1718travis/$REPO_NAME:$TAG .
- |
if [[ $TRAVIS_BRANCH == 'master' ]] || [[ $TRAVIS_PULL_REQUEST == 'true' ]];
then
docker login -u "$DOCKER_USERNAME" -p "$DOCKER_PASSWORD"
docker push ebm1718travis/$REPO_NAME:$TAG
fi;
 
deploy:
provider: pages
skip-cleanup: true
github-token: $GITHUB_TOKEN # Set in travis-ci.org dashboard, marked secure
keep-history: true
local-dir: backend/doc
on:
branch: master
 
notifications:
webhooks:
urls:
- https://ebm.nymous.io/webhooks/travis
on_success: always
on_failure: never
on_start: never
on_cancel: never
on_error: never