version: 2.1 commands: test-nodejs: steps: - run: name: Versions command: npm version - checkout - restore_cache: keys: - v{{ .Environment.CIRCLE_CACHE_VERSION }}-{{ arch }}-npm-cache-{{ .Branch }}-{{ .Environment.CIRCLE_JOB }} - v{{ .Environment.CIRCLE_CACHE_VERSION }}-{{ arch }}-npm-cache-master-{{ .Environment.CIRCLE_JOB }} - run: name: Install dependencies command: npm ci - run: name: Test command: npm test - coverage - save-npm-cache save-npm-cache: steps: - save_cache: key: v{{ .Environment.CIRCLE_CACHE_VERSION }}-{{ arch }}-npm-cache-{{ .Branch }}-{{ .Environment.CIRCLE_JOB }}-{{ checksum "package-lock.json" }} paths: - ~/.npm/_cacache coverage: steps: - run: command: npm run cover - run: command: npm run coveralls jobs: node-v8: docker: - image: node:8 steps: - test-nodejs node-v10: docker: - image: node:10 steps: - test-nodejs node-v12: docker: - image: node:12 steps: - test-nodejs workflows: version: 2 node-multi-build: jobs: - node-v8 - node-v10 - node-v12