diff2html/.circleci/config.yml
2018-11-24 21:18:53 +00:00

109 lines
2.2 KiB
YAML

version: 2
jobs:
build-common: &common-build
docker:
- image: node
working_directory: ~/diff2html
steps: &common-steps
- checkout
- restore_cache:
key: dependency-cache-{{ checksum "yarn.lock" }}
- run: npm install
- save_cache:
key: dependency-cache-{{ checksum "yarn.lock" }}
paths:
- ./node_modules
- run: npm run coverage
- run: npm run check-coverage
build-latest: &latest-build
docker:
- image: node
working_directory: ~/diff2html
steps:
- checkout
- restore_cache:
key: dependency-cache-{{ checksum "yarn.lock" }}
- run: yarn
- save_cache:
key: dependency-cache-{{ checksum "yarn.lock" }}
paths:
- ./node_modules
- run: yarn run test
- run: yarn run lint
- run: yarn run codacy
- persist_to_workspace:
root: ~/diff2html
paths:
- docs
- dist
build-node_4:
<<: *common-build
docker:
- image: node:4
build-node_5:
<<: *common-build
docker:
- image: node:5
build-node_6:
<<: *common-build
docker:
- image: node:6
build-node_7:
<<: *common-build
docker:
- image: node:7
build-node_8:
<<: *common-build
docker:
- image: node:8
build-node_9:
<<: *common-build
docker:
- image: node:9
build-node_10:
<<: *latest-build
docker:
- image: node:10
deploy:
machine:
enabled: true
working_directory: ~/diff2html
steps:
- attach_workspace:
at: .
- run:
name: Prepare website sources
command: |
rm -f docs/assets
mv dist docs/assets
- run:
name: Deploy
working_directory: ~/diff2html/docs
command: aws s3 sync . s3://diff2html.xyz --region eu-west-1
workflows:
version: 2
build:
jobs:
- build-node_4
- build-node_5
- build-node_6
- build-node_7
- build-node_8
- build-node_9
- build-node_10
- deploy:
requires:
- build-node_10
filters:
branches:
only: master