version: 2 jobs: format: docker: - image: circleci/python:3.7.3 working_directory: ~/repo steps: - checkout - restore_cache: keys: - v1-dependencies-{{ checksum "Pipfile.lock" }} - run: name: install dependencies command: | pip install pipenv export PIPENV_VENV_IN_PROJECT=1 pipenv install --dev - save_cache: paths: - ./venv key: v1-dependencies-{{ checksum "Pipfile.lock" }} - run: name: check formatting with black command: | export PIPENV_VENV_IN_PROJECT=1 pipenv run black --check . test: docker: - image: circleci/python:3.7.3 working_directory: ~/repo steps: - checkout - restore_cache: keys: - v1-dependencies-{{ checksum "Pipfile.lock" }} - run: name: install dependencies command: | pip install pipenv export PIPENV_VENV_IN_PROJECT=1 pipenv install --dev - save_cache: paths: - ./venv key: v1-dependencies-{{ checksum "Pipfile.lock" }} - run: name: run tests command: | export PIPENV_VENV_IN_PROJECT=1 pipenv run pytest workflows: version: 2 format_and_test: jobs: - format - test