99 lines
2.6 KiB
YAML
99 lines
2.6 KiB
YAML
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
|