apprise/.travis.yml

70 lines
1.9 KiB
YAML

language: python
dist: focal
addons:
apt:
packages:
- libdbus-1-dev
matrix:
include:
- python: "3.6"
env: TOXENV=py36
- python: "3.7"
env: TOXENV=py37
- python: "3.8"
env: TOXENV=py38
- python: "3.9"
env: TOXENV=py39
- python: "3.10"
env: TOXENV=py310
# PyPy Environments
- python: "pypy3.6-7.3.3"
env: TOXENV=pypy36
- python: "pypy3.7-7.3.9"
env: TOXENV=pypy37
- python: "pypy3.8-7.3.9"
env: TOXENV=pypy38
- python: "pypy3.9-7.3.9"
env: TOXENV=pypy39
# An extra environment where additional packages are not installed
- python: "3.9"
env:
- TOXENV=bare
install:
- pip install babel
# 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.
- pip install codecov
- pip install -r dev-requirements.txt
- pip install -r requirements.txt
# 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
# 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
# run tests
script:
- tox
after_success:
- tox -e coverage-report
- codecov
notifications:
email: false