version: 2
jobs:
  build:
    working_directory: /usr/src/app
    docker:
      - image: banian/node
    steps:
      # Checkout repository
      - checkout

      # Restore cache
      - restore_cache:
          key: yarn-{{ checksum "yarn.lock" }}

      # Install dependencies
      - run:
          name: Install Dependencies
          command: NODE_ENV=dev yarn

      # Keep cache
      - save_cache:
          key: yarn-{{ checksum "yarn.lock" }}
          paths:
            - "node_modules"

      # Test
      - run:
          name: Tests
          command: yarn test

      # Coverage
      - run:
          name: Coverage
          command: yarn codecov
