-
-
Save glasnt/45f446d3db156267ced001390788fa07 to your computer and use it in GitHub Desktop.
Advanced CircleCI Workflow hacks. (Source: https://github.com/aldryn/aldryn-newsblog/blob/a19fc2e7513f7ce4078de70d8cb8b7ccf5719f32/.circleci/config.yml)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
version: 2.0 | |
py27default: &py27default | |
docker: | |
- image: circleci/python:2.7 | |
steps: | |
- setup_remote_docker: | |
docker_layer_caching: true | |
- checkout | |
- restore_cache: | |
keys: py27- | |
- run: docker load -i caches/py27.tar || true | |
- run: docker run -e COVERALLS_REPO_TOKEN py27 tox -e $CIRCLE_STAGE | |
py36default: &py36default | |
docker: | |
- image: circleci/python:3.6 | |
steps: | |
- setup_remote_docker: | |
docker_layer_caching: true | |
- checkout | |
- restore_cache: | |
keys: py36- | |
- run: docker load -i caches/py36.tar || true | |
- run: docker run -e COVERALLS_REPO_TOKEN py36 tox -e $CIRCLE_STAGE | |
py35default: &py35default | |
docker: | |
- image: circleci/python:3.5 | |
steps: | |
- setup_remote_docker: | |
docker_layer_caching: true | |
- checkout | |
- restore_cache: | |
keys: py35- | |
- run: docker load -i caches/py35.tar || true | |
- run: docker run -e COVERALLS_REPO_TOKEN py35 tox -e $CIRCLE_STAGE | |
py35_requires: &py35_requires | |
requires: | |
- py35_base | |
py36_requires: &py36_requires | |
requires: | |
- py36_base | |
py27_requires: &py27_requires | |
requires: | |
- py27_base | |
jobs: | |
py27_base: | |
docker: | |
- image: circleci/python:2.7 | |
steps: | |
- checkout | |
- setup_remote_docker: | |
docker_layer_caching: true | |
- run: docker build -f .circleci/Dockerfile --build-arg PYTHON_VERSION=2.7 -t py27 . | |
- run: mkdir caches | |
- run: docker save -o caches/py27.tar py27 | |
- save_cache: | |
key: py27-{{ .Environment.CIRCLE_SHA1 }} | |
paths: | |
- "caches/" | |
py36_base: | |
docker: | |
- image: circleci/python:3.6 | |
steps: | |
- checkout | |
- setup_remote_docker: | |
docker_layer_caching: true | |
- run: docker build -f .circleci/Dockerfile --build-arg PYTHON_VERSION=3.6 -t py36 . | |
- run: mkdir caches | |
- run: docker save -o caches/py36.tar py36 | |
- save_cache: | |
key: py36-{{ .Environment.CIRCLE_SHA1 }} | |
paths: | |
- "caches/" | |
py35_base: | |
docker: | |
- image: circleci/python:3.5 | |
steps: | |
- checkout | |
- setup_remote_docker: | |
docker_layer_caching: true | |
- run: docker build -f .circleci/Dockerfile --build-arg PYTHON_VERSION=3.5 -t py35 . | |
- run: mkdir caches | |
- run: docker save -o caches/py35.tar py35 | |
- save_cache: | |
key: py35-{{ .Environment.CIRCLE_SHA1 }} | |
paths: | |
- "caches/" | |
flake8: | |
<<: *py35default | |
py36-dj111-sqlite-cms35-fe: | |
<<: *py36default | |
py35-dj111-sqlite-cms35: | |
<<: *py35default | |
py35-dj110-sqlite-cms34: | |
<<: *py35default | |
py35-dj19-sqlite-cms34: | |
<<: *py35default | |
py27-dj111-sqlite-cms34: | |
<<: *py27default | |
py27-dj110-sqlite-cms34: | |
<<: *py27default | |
py27-dj19-sqlite-cms34: | |
<<: *py27default | |
py35-dj18-sqlite-cms34: | |
<<: *py35default | |
py27-dj18-sqlite-cms34: | |
<<: *py27default | |
####################### | |
workflows: | |
version: 2 | |
build: | |
jobs: | |
- py27_base | |
- py35_base | |
- py36_base | |
- flake8: | |
requires: | |
- py35_base | |
- py36-dj111-sqlite-cms35-fe: | |
requires: | |
- py36_base | |
- py35-dj111-sqlite-cms35: | |
requires: | |
- py35_base | |
- py35-dj110-sqlite-cms34: | |
requires: | |
- py35_base | |
- py35-dj19-sqlite-cms34: | |
requires: | |
- py35_base | |
- py35-dj19-sqlite-cms34: | |
requires: | |
- py35_base | |
- py27-dj111-sqlite-cms34: | |
requires: | |
- py27_base | |
- py27-dj110-sqlite-cms34: | |
requires: | |
- py27_base | |
- py27-dj19-sqlite-cms34: | |
requires: | |
- py27_base | |
- py35-dj18-sqlite-cms34: | |
requires: | |
- py35_base | |
- py27-dj18-sqlite-cms34: | |
requires: | |
- py27_base | |
- py27-dj18-sqlite-cms34: | |
requires: | |
- py27_base |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment