node-resque
Version:
an opinionated implementation of resque in node
145 lines (128 loc) • 3.02 kB
YAML
version: 2
references:
cache-options: &cache-options
key: package-cache-{{ .Branch }}-{{ .Revision }}
ignored-branches: &ignored-branches
branches:
ignore:
- gh-pages
shared-test-steps: &shared-test-steps
steps:
- checkout
- restore_cache:
<<: *cache-options
- run:
name: rebuild packages for this node version
command: npm rebuild
- run:
name: display-node-version
command: node --version
- run:
name: display-npm-version
command: npm --version
- run:
name: test
command: ./node_modules/.bin/jest --ci
# Test the common workflow on multiple versions of node
jobs:
build:
docker:
- image: circleci/node:12
steps:
- checkout
- restore_cache:
<<: *cache-options
- run:
name: npm-install
command: npm install
- save_cache:
<<: *cache-options
paths:
- ./node_modules
linter:
docker:
- image: circleci/node:12
steps:
- checkout
- restore_cache:
<<: *cache-options
- run:
name: linter
command: npm run lint
test-node-v10:
docker:
- image: circleci/node:10
- image: redis:5
<<: *shared-test-steps
test-node-v12:
docker:
- image: circleci/node:12
- image: redis:5
<<: *shared-test-steps
test-node-v14:
docker:
- image: circleci/node:14
- image: redis:5
<<: *shared-test-steps
tests-complete:
docker:
- image: circleci/node:12
steps:
- run:
name: hooray
command: echo "hooray the tests are complete"
deploy-docs-website:
docker:
- image: circleci/node:12
steps:
- add_ssh_keys:
fingerprints:
- "18:46:c9:49:88:e3:01:19:56:a5:42:af:85:e9:6e:68"
- checkout
- restore_cache:
<<: *cache-options
- run:
name: deploy-docs
command: ./bin/deploy-docs
# Run all the tests is parallel
workflows:
version: 2
test:
jobs:
- build:
filters:
<<: *ignored-branches
- linter:
requires:
- build
filters:
<<: *ignored-branches
- test-node-v10:
requires:
- linter
filters:
<<: *ignored-branches
- test-node-v12:
requires:
- linter
filters:
<<: *ignored-branches
- test-node-v14:
requires:
- linter
filters:
<<: *ignored-branches
- tests-complete:
filters:
<<: *ignored-branches
requires:
- test-node-v10
- test-node-v12
- test-node-v14
- deploy-docs-website:
filters:
branches:
only:
- master
requires:
- tests-complete