rickvanlieshout.com/.circleci/config.yml
2022-04-16 14:53:32 +00:00

82 lines
1.7 KiB
YAML

version: 2
defaults: &defaults
docker:
- image: circleci/node:16.6.2
working_directory: ~/gatsby-starter-lumen
jobs:
install:
<<: *defaults
steps:
- checkout
- restore_cache:
keys:
- dependencies-{{ checksum "package-lock.json" }}
- run: npm ci
- save_cache:
paths:
- node_modules
key: dependencies-{{ checksum "package-lock.json" }}
lint:
<<: *defaults
steps:
- checkout
- restore_cache:
keys:
- dependencies-{{ checksum "package-lock.json" }}
- run: npm run lint
test:
<<: *defaults
steps:
- checkout
- restore_cache:
keys:
- dependencies-{{ checksum "package-lock.json" }}
- run: npm run test --runInBand --no-cache
coverage:
<<: *defaults
steps:
- checkout
- restore_cache:
keys:
- dependencies-{{ checksum "package-lock.json" }}
- run: npm run test:coverage --runInBand --no-cache
- save_cache:
key: coverage-{{ .Environment.CIRCLE_SHA1 }}
paths:
- coverage
codecov:
<<: *defaults
steps:
- checkout
- restore_cache:
keys:
- dependencies-{{ checksum "package-lock.json" }}
- restore_cache:
keys:
- coverage-{{ .Environment.CIRCLE_SHA1 }}
- run: npx codecov
workflows:
version: 2
test:
jobs:
- install
- lint:
requires:
- install
- test:
requires:
- install
- coverage:
requires:
- install
- codecov:
requires:
- coverage