version: 2 jobs: test-py35: docker: - image: python:3.5 steps: - checkout - run: name: Run coverage tests command: | pip install coverage coverage run setup.py test coverage report -m test-py36: docker: - image: python:3.6 steps: - checkout - run: name: Run coverage tests command: | pip install coverage coverage run setup.py test coverage report -m test-py37: docker: - image: python:3.7 steps: - checkout - run: name: Run coverage tests command: | pip install coverage coverage run setup.py test coverage report -m - save_cache: key: coverage-{{ .Branch }}-{{ .Revision }} paths: - .coverage codecov: docker: - image: python:3 steps: - checkout - restore_cache: keys: - coverage-{{ .Branch }}-{{ .Revision }} - run: name: Upload to codecov.io command: | pip install codecov codecov style: docker: - image: python:3 steps: - checkout - run: name: Run flake8 command: | pip install flake8 flake8-docstrings flake8 workflows: version: 2 test: jobs: - test-py35 - test-py36 - test-py37 - codecov: requires: - test-py37 - style