version: 2.1 orbs: python: cjw296/python-ci@2 jobs: check-package: parameters: image: type: string python: type: string default: "python" docker: - image: << parameters.image >> steps: - python/check-package: package: "mock" test: - run: name: "Import package" command: << parameters.python >> -c "import mock" common: &common jobs: - python/pip-run-tests: name: python27 image: circleci/python:2.7 - python/pip-run-tests: name: python34 image: circleci/python:3.4 - python/pip-run-tests: name: python35 image: circleci/python:3.5 - python/pip-run-tests: name: python36 image: circleci/python:3.6 - python/pip-run-tests: name: python37 image: circleci/python:3.7 - python/pip-run-tests: name: pypy27 image: pypy:2.7 - python/pip-run-tests: name: pypy36 image: pypy:3.6 - python/coverage: name: coverage requires: - python27 - python34 - python35 - python36 - python37 - pypy27 - pypy36 - python/pip-docs: name: docs requires: - coverage - python/pip-setuptools-build-package: name: package requires: - docs filters: branches: only: master - check-package: name: check-package-python27 image: circleci/python:2.7 requires: - package - check-package: name: check-package-python37 image: circleci/python:3.7 requires: - package - check-package: name: check-package-pypy27 image: pypy:2.7 python: pypy requires: - package - check-package: name: check-package-pypy36 image: pypy:3.6 python: pypy3 requires: - package - python/release: name: release config: .carthorse.yml requires: - check-package-python27 - check-package-python37 - check-package-pypy27 - check-package-pypy36 workflows: push: <<: *common periodic: <<: *common triggers: - schedule: cron: "0 1 * * *" filters: branches: only: master