dist: xenial sudo: required language: python python: # Travis Xenial Python to support system_site_packages - 3.5 cache: pip virtualenv: system_site_packages: true env: global: - DISPLAY=:99.0 git: # Set greater depth to get version from tags. depth: 1000 matrix: include: - name: Unit tests env: TOX_ENV=py3 - name: Unit tests (libtorrent 1.2) env: TOX_ENV=py3 addons: apt: sources: [sourceline: "ppa:libtorrent.org/1.2-daily"] packages: [python3-libtorrent, python3-venv] - if: commit_message =~ SECURITY_TEST env: TOX_ENV=security - name: Code linting env: TOX_ENV=lint - name: Docs build env: TOX_ENV=docs - name: GTK unit tests env: TOX_ENV=gtkui - name: Plugins unit tests env: TOX_ENV=plugins addons: apt: sources: - sourceline: "ppa:libtorrent.org/rc-1.1-daily" - deadsnakes packages: - python3-libtorrent # Install py36 specifically for pre-commit to run black formatter. - python3.6 # Intall python3-venv to provide ensurepip module for tox. - python3-venv # Install dependencies install: - pip install tox tox-venv # GTKUI tests - "if [ $TOX_ENV == 'gtkui' ]; then sudo apt install python3-gi python3-gi-cairo gir1.2-gtk-3.0; fi" # Security tests - "if [ $TOX_ENV == 'security' ]; then testssl_url=https://github.com/drwetter/testssl.sh/archive/v2.9.5-5.tar.gz; wget -O- $testssl_url | tar xz && mv -t deluge/tests/data testssl.sh-2.9.5-5/testssl.sh testssl.sh-2.9.5-5/etc/; fi" before_script: - export PYTHONPATH=$PYTHONPATH:$PWD # Verify libtorrent installed and version - python -c "import libtorrent as lt; print(lt.__version__)" # Start xvfb for the GTKUI tests - "if [ $TOX_ENV == 'gtkui' ]; then /sbin/start-stop-daemon --start --quiet --background \ --make-pidfile --pidfile /tmp/custom_xvfb_99.pid \ --exec /usr/bin/Xvfb -- :99 -ac -screen 0 1280x1024x16; fi" script: - tox -e $TOX_ENV