aldryn/aldryn-faq

View on GitHub
.circleci/config.yml

Summary

Maintainability
Test Coverage
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

py34default: &py34default
  docker:
    - image: circleci/python:3.4
  steps:
   - setup_remote_docker:
       docker_layer_caching: true
   - checkout
   - restore_cache:
       keys: py34-
   - run: docker load -i caches/py34.tar || true
   - run: docker run -e COVERALLS_REPO_TOKEN py34 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

py34_requires: &py34_requires
  requires:
    - py34_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/"
  py34_base:
    docker:
      - image: circleci/python:3.4
    steps:
      - checkout
      - setup_remote_docker:
          docker_layer_caching: true
      - run: docker build -f .circleci/Dockerfile --build-arg PYTHON_VERSION=3.4 -t py34 .
      - run: mkdir caches
      - run: docker save -o caches/py34.tar py34
      - save_cache:
         key: py34-{{ .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:
    <<: *py27default
  py35-dj111-cms35-fe:
    <<: *py35default
  py35-dj111-cms34:
    <<: *py35default
  py35-dj110-cms35:
    <<: *py35default
  py35-dj110-cms34:
    <<: *py35default
  py35-dj18-cms34:
    <<: *py35default
  py35-dj19-cms34:
    <<: *py35default

  py34-dj111-cms35:
    <<: *py34default
  py34-dj111-cms34:
    <<: *py34default
  py34-dj110-cms35:
    <<: *py34default
  py34-dj110-cms34:
    <<: *py34default
  py34-dj19-cms34:
    <<: *py34default
  py34-dj18-cms34:
    <<: *py34default

  py27-dj111-cms35:
    <<: *py27default
  py27-dj111-cms34:
    <<: *py27default
  py27-dj110-cms35:
    <<: *py27default
  py27-dj110-cms34:
    <<: *py27default
  py27-dj19-cms34:
    <<: *py27default
  py27-dj18-cms34:
    <<: *py27default

#######################

workflows:
  version: 2
  build:
    jobs:
      - py27_base
      - py34_base
      - py35_base
      - flake8:
          requires:
            - py27_base
      - py35-dj111-cms35-fe:
          requires:
            - py35_base
      - py35-dj111-cms34:
          requires:
            - py35_base
      - py35-dj110-cms35:
          requires:
            - py35_base
      - py35-dj110-cms34:
          requires:
            - py35_base
      - py35-dj18-cms34:
          requires:
            - py35_base
      - py35-dj19-cms34:
          requires:
            - py35_base
      - py34-dj111-cms35:
          requires:
            - py34_base
      - py34-dj111-cms34:
          requires:
            - py34_base
      - py34-dj110-cms35:
          requires:
            - py34_base
      - py34-dj110-cms34:
          requires:
            - py34_base
      - py34-dj19-cms34:
          requires:
            - py34_base
      - py34-dj18-cms34:
          requires:
            - py34_base
      - py27-dj111-cms35:
          requires:
            - py27_base
      - py27-dj111-cms34:
          requires:
            - py27_base
      - py27-dj110-cms35:
          requires:
            - py27_base
      - py27-dj110-cms34:
          requires:
            - py27_base
      - py27-dj19-cms34:
          requires:
            - py27_base
      - py27-dj18-cms34:
          requires:
            - py27_base