.circleci/config.yml

Summary

Maintainability
Test Coverage
version: 2.1

build_and_test_steps: &build_and_test_steps
  steps:
    - restore_cache:
        keys:
          - source-v1-{{ .Branch }}
          - source-v1-
    - checkout
    - save_cache:
        key: source-v1-{{ .Branch }}
        paths:
          - ".git"
    - run: npm i
    - run: npm run test

jobs:
  node4:
    docker:
      - image: 'circleci/node:4.9.1'
    <<: *build_and_test_steps
  node6:
    docker:
      - image: 'circleci/node:6.17.1'
    <<: *build_and_test_steps
  node8:
    docker:
      - image: 'cimg/node:8.17.0'
    <<: *build_and_test_steps
  node16:
    docker:
      - image: 'cimg/node:16.13.0'
    <<: *build_and_test_steps

workflows:
  version: 2
  build_and_test:
    jobs:
      - node4
      - node6
      - node8
      - node16