os: linux dist: xenial language: python python: # Travis Xenial Python to support system_site_packages - 3.5_with_system_site_packages cache: pip env: global: - DISPLAY=:99.0 git: # Set greater depth to get version from tags. depth: 1000 jobs: 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] - name: Unit tests - Python 2 env: TOX_ENV=py27 python: 2.7_with_system_site_packages - if: commit_message =~ SECURITY_TEST env: TOX_ENV=security - name: Code linting env: TOX_ENV=lint python: 3.6 - name: Docs build env: TOX_ENV=docs - name: GTK unit tests env: TOX_ENV=gtkui - name: Plugins unit tests env: TOX_ENV=plugins - name: Windows Unit tests os: windows language: shell before_install: # Python version must match available deluge-libtorrent - choco install python --version 3.6.8 - python --version - python -m pip install --upgrade pip certifi - python -m pip install deluge-libtorrent env: - PATH=/c/Python36:/c/Python36/Scripts:$PATH - TOX_ENV=py3 addons: apt: sources: - sourceline: "ppa:libtorrent.org/rc-1.1-daily" - deadsnakes packages: - python-libtorrent - 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 # Spellchecking - enchant # Install dependencies install: - pip install tox # 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 - "if [ $TOX_ENV != 'lint' ]; then python -c 'import libtorrent as lt; print(lt.__version__)'; fi" # 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