| language: python |
| dist: xenial |
| os: linux |
| |
| # Note: graphviz is needed for grapgs embedded in the docs |
| addons: |
| apt: |
| packages: |
| - graphviz |
| - libvirt-dev |
| |
| matrix: |
| fast_finish: true |
| include: |
| - name: Unit Tests (Python 3.5) |
| python: 3.5 |
| - name: Unit Tests (Python 3.6) |
| python: 3.6 |
| - name: Unit Tests, Installation Checks (Python 3.7) |
| python: 3.7 |
| before_script: TOX_ENV=py3.7,py3.7-dist,py3.7-dist-wheel |
| - name: Unit Tests (Python 3.8 on Windows) |
| os: windows |
| python: 3.8 |
| language: shell |
| before_install: |
| - choco install python --version 3.8.1 |
| - export PATH="/c/Python38:/c/Python38/Scripts:$PATH" |
| - python -m pip install --user --upgrade "pip==20.0.1" |
| before_script: TOX_ENV=py3.8-windows |
| env: PATH=/c/Python38:/c/Python38/Scripts:$PATH |
| - name: Unit Tests (Python 3.8) |
| python: 3.8 |
| - name: Unit Tests (PyPy 3.5) |
| python: pypy3.5 |
| - name: License and File name Checks |
| env: ENV=checks |
| python: 3.7 |
| before_script: TOX_ENV=checks |
| - name: Lint (flake8) |
| env: ENV=lint |
| python: 3.7 |
| before_script: TOX_ENV=lint |
| - name: Lint (pylint) |
| env: ENV=pylint |
| python: 3.7 |
| before_script: TOX_ENV=pylint |
| - name: MyPy |
| env: ENV=mypy |
| python: 3.7 |
| before_script: TOX_ENV=mypy |
| - name: Code Coverage (Unit tests) |
| env: ENV=coverage |
| python: 3.7 |
| before_script: TOX_ENV=coverage-travis |
| - name: Documentation |
| env: |
| - ENV=docs |
| - secure: "d4F2RE2iWFh6yqE5MUxnakDihBMsY/hMsaMWllVAYU/fvCMKhaW97d51EiS55kur/eNVX2jpEqkVkSu5VeNSxC3w9sZTG+dHVb8A43o9QaSCPngvHTZ4X9fx8lB96G7uju6pmm5ovKt85hxZW2uQNYo3ugwCUl94lVDYqo+KJUM=" |
| python: 3.7 |
| before_script: TOX_ENV=docs-travis |
| # Note: graphviz is needed for grapgs embedded in the docs |
| addons: |
| apt: |
| packages: |
| - graphviz |
| - gcc |
| - libvirt-dev |
| # Trigger ReadTheDocs build on docs builder |
| after_success: |
| - pip3 install requests |
| - python3 ./contrib/trigger_rtd_build.py |
| |
| install: |
| # NOTE: This is a workaround since we need to use install --user on Windows |
| - if [ "${TRAVIS_OS_NAME}" != "windows" ]; then python -m pip install --upgrade "pip==20.0.1"; fi |
| - python -m pip install --upgrade "setuptools==42.0.2" |
| - python -m pip install "virtualenv==16.7.6" |
| - python -m pip install "tox==3.14.2" |
| - TOX_ENV=py$TRAVIS_PYTHON_VERSION |
| |
| script: |
| - tox -e $TOX_ENV --recreate |
| |
| cache: |
| apt: true |
| directories: |
| - $HOME/.cache/pip # pip cache |
| - .tox |
| |
| notifications: |
| # Disabled until ASF switches to new mailing list software |
| # when we can whitelist addresses |
| #email: |
| # - "notifications@libcloud.apache.org" |
| irc: |
| - "chat.freenode.net#libcloud" |