2021-03-26 21:52:00 +01:00
|
|
|
language: python
|
|
|
|
|
2022-10-08 02:28:36 +02:00
|
|
|
dist: focal
|
2021-03-26 21:52:00 +01:00
|
|
|
|
|
|
|
addons:
|
|
|
|
apt:
|
|
|
|
packages:
|
|
|
|
- libdbus-1-dev
|
|
|
|
|
|
|
|
matrix:
|
|
|
|
include:
|
|
|
|
- python: "3.6"
|
|
|
|
env: TOXENV=py36
|
2022-10-08 02:28:36 +02:00
|
|
|
- python: "3.7"
|
2021-03-26 21:52:00 +01:00
|
|
|
env: TOXENV=py37
|
|
|
|
- python: "3.8"
|
|
|
|
env: TOXENV=py38
|
2021-05-02 15:47:30 +02:00
|
|
|
- python: "3.9"
|
2021-03-26 21:52:00 +01:00
|
|
|
env: TOXENV=py39
|
2022-10-08 02:28:36 +02:00
|
|
|
- python: "3.10"
|
|
|
|
env: TOXENV=py310
|
2021-11-25 21:20:22 +01:00
|
|
|
# PyPy Environments
|
2022-10-08 02:28:36 +02:00
|
|
|
- python: "pypy3.6-7.3.3"
|
|
|
|
env: TOXENV=pypy36
|
|
|
|
- python: "pypy3.9-7.3.9"
|
|
|
|
env: TOXENV=pypy39
|
2021-11-25 21:20:22 +01:00
|
|
|
# An extra environment where additional packages are not installed
|
|
|
|
- python: "3.9"
|
|
|
|
env:
|
|
|
|
- TOXENV=bare
|
2021-03-26 21:52:00 +01:00
|
|
|
|
|
|
|
install:
|
|
|
|
- pip install babel
|
2022-10-08 02:28:36 +02:00
|
|
|
|
|
|
|
# Use up-to-date versions of tox, pip, virtualenv, and wheel.
|
|
|
|
- pip install --upgrade tox pip virtualenv wheel
|
|
|
|
|
|
|
|
# cryptography 3.3 is the last one not needing a Rust toolchain. Let's use it for PyPy.
|
|
|
|
- if [[ $TOXENV == 'pypy'* ]]; then pip install "cryptography<3.4"; fi
|
|
|
|
|
|
|
|
# Install project dependencies.
|
2021-03-26 21:52:00 +01:00
|
|
|
- pip install codecov
|
|
|
|
- pip install -r dev-requirements.txt
|
|
|
|
- pip install -r requirements.txt
|
2022-10-08 02:28:36 +02:00
|
|
|
|
2021-11-25 21:20:22 +01:00
|
|
|
# bare installs do not include extra package dependencies
|
|
|
|
- if [[ $TOXENV != 'bare' ]]; then pip install -r all-plugin-requirements.txt; fi
|
|
|
|
# pypy and bare installs do not include dbus-python
|
|
|
|
- if [[ $TOXENV != 'bare' ]] && [[ $TRAVIS_PYTHON_VERSION != 'pypy'* ]]; then travis_retry pip install dbus-python; fi
|
2022-10-08 02:28:36 +02:00
|
|
|
|
|
|
|
# Fix/workaround: Python 3.7 importlib-metadata becomes incompatible with flake8,
|
|
|
|
# unless we use a version that still supports EntryPoints.get().
|
|
|
|
# `tox.ini` has been updated to not call flake8 on Python 3.7.
|
|
|
|
- if [[ $TOXENV == 'py37' || $TOXENV == 'pypy37' ]]; then pip uninstall --yes flake8; fi
|
2021-03-26 21:52:00 +01:00
|
|
|
|
|
|
|
# run tests
|
|
|
|
script:
|
|
|
|
- tox
|
|
|
|
|
|
|
|
after_success:
|
|
|
|
- tox -e coverage-report
|
|
|
|
- codecov
|
|
|
|
|
|
|
|
notifications:
|
|
|
|
email: false
|