ghaction-upx/node_modules/@sinonjs/commons/.circleci/config.yml
2020-01-23 08:49:02 +00:00

98 lines
1.9 KiB
YAML

version: 2.1
references:
x-workdir: &work-dir
working_directory: ~/source
x-save-workspace: &persist-step
persist_to_workspace:
root: ~/source
paths:
- .
x-attach: &attach-step
attach_workspace:
at: .
jobs:
install-dependencies:
<<: *work-dir
docker:
- image: circleci/node:10
environment:
HUSKY_SKIP_INSTALL: 1
steps:
- checkout
- restore_cache:
keys:
- v1-npm-{{ checksum "package-lock.json" }}
- run:
name: Install dependencies
command: |
if [ ! -d node_modules ]; then
npm ci
fi
- save_cache:
key: v1-npm-{{ checksum "package-lock.json" }}
paths:
- node_modules
- *persist-step
lint:
<<: *work-dir
docker:
- image: node
steps:
- *attach-step
- run:
name: lint
command: npm run lint
node-8:
docker:
- image: circleci/node:8
steps:
- *attach-step
- run:
name: Test
command: npm test
node-10:
docker:
- image: circleci/node:10
steps:
- *attach-step
- run:
name: Test
command: npm test
node-12:
docker:
- image: circleci/node:12
steps:
- *attach-step
- run:
name: Test with coverage
command: npm run test-check-coverage
- run:
name: Upload coverage report
command: bash <(curl -s https://codecov.io/bash) -F unit -s coverage/lcov.info
workflows:
version: 2
commons-circle-ci:
jobs:
- install-dependencies
- lint:
requires:
- install-dependencies
- node-8:
requires:
- install-dependencies
- node-10:
requires:
- install-dependencies
- node-12:
requires:
- install-dependencies