language: python
cache:
    pip
python:
  - 2.7
  - 3.4
  - 3.5
  - 3.6
install:
  - pip install -U pip wheel
  - pip install -r requirements-dev.txt
script:
  - make test
  - make lint
  - make complexity
  - make docs

stages:
  - test
  - strict lint

jobs:
    include:
        - stage: strict lint
          python: 3.6
          install: pip install pylint
          env: LINTER=pylint
          script: make pylint
          if: branch=master
        - stage: strict lint
          python: 3.6
          install: pip install flake8
          env: LINTER=flake8
          script: make flake8
          if: branch=master
        - stage: strict lint
          python: 3.6
          install: pip install pydocstyle
          env: LINTER=pydocstyle
          script: make pydocstyle
          if: branch=master

language: python
cache:
    pip
python:
  - 2.7
  - 3.4
  - 3.5
  - 3.6
install:
  - pip install -U pip wheel
  - pip install -r requirements-dev.txt
script:
  - make test

stages:
  - test
  - lax lint
  - strict lint

jobs:
    include:
        - stage: lax lint and other checks
          python: 3.6
          script:
            - make lint
            - make complexity
            - make docs
          if: branch=dev
        - stage: strict lint
          python: 3.6
          install: pip install pylint
          env: LINTER=pylint
          script: make pylint
          if: branch=master
        - stage: strict lint
          python: 3.6
          install: pip install flake8
          env: LINTER=flake8
          script: make flake8
          if: branch=master
        - stage: strict lint
          python: 3.6
          install: pip install pydocstyle
          env: LINTER=pydocstyle
          script: make pydocstyle
          if: branch=master

Move some tests to act only on the dev branch
Move some tests to act only on the dev branch

linting and so on is only really checked at this point.
They are also somewhat slow, so it doesn't make complete
sense to run them for everything.
