version: 2.1 workflows: build_and_test: jobs: - build - lint: requires: - build - test: requires: - build jobs: build: docker: - image: cimg/node:12.18 steps: - checkout - restore_cache: name: Restore Yarn Package Cache key: yarn-packages-v2{{ checksum "yarn.lock" }} - run: yarn global add node-gyp && yarn install - save_cache: name: Save Yarn Package Cache key: yarn-packages-v2{{ checksum "yarn.lock" }} paths: - ./node_modules lint: docker: - image: cimg/node:12.18 steps: - checkout - restore_cache: key: yarn-packages-v2{{ checksum "yarn.lock" }} - run : yarn lint && yarn format:check test: docker: - image: cimg/node:12.18 steps: - checkout - restore_cache: key: yarn-packages-v2{{ checksum "yarn.lock" }} - run : yarn test:ci