.circleci/config.yml
version: 2
jobs:
build:
docker:
- image: circleci/node:8.4-browsers
environment:
CHROME_BIN: "/usr/bin/google-chrome"
FIREFOX_BIN: "/usr/bin/firefox"
working_directory: ~/gluebert
steps:
- checkout
- restore_cache:
keys:
- v1-dependencies-{{ checksum "package.json" }}
- v1-dependencies-
- run: yarn install && npm install
- save_cache:
paths:
- node_modules
key: v1-dependencies-{{ checksum "package.json" }}
test:
docker:
- image: circleci/node:8.4-browsers
environment:
CHROME_BIN: "/usr/bin/google-chrome"
FIREFOX_BIN: "/usr/bin/firefox"
working_directory: ~/gluebert
steps:
- checkout
- restore_cache:
keys:
- v1-dependencies-{{ checksum "package.json" }}
- v1-dependencies-
- run: yarn install && npm install
- save_cache:
paths:
- node_modules
key: v1-dependencies-{{ checksum "package.json" }}
- run: yarn test
- run: npm install codeclimate-test-reporter
- run:
name: code-coverage
command: './node_modules/.bin/codeclimate-test-reporter < ./coverage/phantomjs/lcov.info'
- run: yarn test
- run: npm install codeclimate-test-reporter
saucelabs:
docker:
- image: circleci/node:8.4-browsers
environment:
CHROME_BIN: "/usr/bin/google-chrome"
FIREFOX_BIN: "/usr/bin/firefox"
working_directory: ~/gluebert
steps:
- checkout
- restore_cache:
keys:
- v1-dependencies-{{ checksum "package.json" }}
- v1-dependencies-
- run: yarn install && npm install
- save_cache:
paths:
- node_modules
key: v1-dependencies-{{ checksum "package.json" }}
- run: yarn test:e2e:saucelabs
documentation_build:
docker:
- image: circleci/node:8.4
working_directory: ~/gluebert
steps:
- checkout
- run: wget https://github.com/spf13/hugo/releases/download/v0.26/hugo_0.26_Linux-64bit.deb
- run: sudo dpkg -i hugo_0.26_Linux-64bit.deb
- run: sudo apt-get -y -qq install awscli
- run: cd ./documentation/themes/gluebert && npm install
- run: cd ./documentation/themes/gluebert && npm run build
- run: cd ./documentation && HUGO_ENV=production hugo
- run: cd ./documentation/public && ls -alh
- run: aws s3 sync ./documentation/public s3://gluebert.com --region eu-west-1 --delete
api_build:
docker:
- image: circleci/node:8.4
working_directory: ~/gluebert
steps:
- checkout
- run: sudo apt-get -y -qq install awscli
- restore_cache:
keys:
- v1-dependencies-{{ checksum "package.json" }}
- v1-dependencies-
- run: yarn install && npm install
- save_cache:
paths:
- node_modules
key: v1-dependencies-{{ checksum "package.json" }}
- run: npm run doc
- run: aws s3 sync ./doc s3://api.gluebert.com --region eu-west-1 --delete
workflows:
version: 2
pipeline:
jobs:
- test
# - saucelabs:
# filters:
# branches:
# only:
# - master
- documentation_build:
filters:
branches:
only:
- master
- api_build:
filters:
branches:
only:
- master