blob: 4bda98dc7bb818dc21369801780b94a6ffafb306 [file] [log] [blame]
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"