version: 2.1 workflows: version: 2.1 build_and_test: jobs: - build - lint: requires - build - test: requires - build jobs: build: docker: - image: cimg/node:14.10.1 # the primary container, where your job's commands are run steps: - checkout - run: name: Install dependencies command: yarn global add node-gyp && yarn install - restore_cache: name: Restore Yarn Package Cache keys: - npm-v1-dependencies-{{ checksum "yarn.lock" }} - run: name: Install Dependencies command: yarn install --immutable - save_cache: name: Save Yarn Package Cache key: npm-v1-dependencies-{{ checksum "yarn.lock" }} paths: - ~/.cache/yarn lint: docker: - image: cimg/node:14.10.1 steps: - checkout - restore_cache: name: Restore Yarn Package Cache keys: - npm-v1-dependencies-{{ checksum "yarn.lock" }} - run: name: "Lint Code" command: yarn lint && yarn format:check test: docker: - image: cimg/node:14.10.1 steps: - checkout - restore_cache: name: Restore Yarn Package Cache keys: - npm-v1-dependencies-{{ checksum "yarn.lock" }} - run: name: "Unit Test" command: yarn test:ci