version: 2.1 jobs: build: docker: &shared_docker - image: circleci/node:12 steps: - checkout - restore_cache: keys: - npm-v1-dependencies-{{ checksum "yarn.lock" }} - run: yarn global add node-gyp && yarn install - save_cache: paths: - ./node_modules key: npm-v1-dependencies-{{ checksum "yarn.lock" }} lint: docker: *shared_docker steps: - checkout - restore_cache: keys: - npm-v1-dependencies-{{ checksum "yarn.lock" }} - run: yarn lint && yarn format:check test: docker: *shared_docker steps: - checkout # check out the code in the project directory - restore_cache: keys: - npm-v1-dependencies-{{ checksum "yarn.lock" }} - run: yarn test:ci workflows: version: 2 build_test: jobs: - build - lint: requires: - build - test: requires: - build