blob: 958be800f519716de45e3fd1af4bbdad733a3950 [file] [log] [blame]
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# We need to set "sudo: true" in order to use a virtual machine instead of a container, because
# SSH tests fail in the container. See:
# https://docs.travis-ci.com/user/reference/overview/#Virtualization-environments
dist: trusty
sudo: true
language: python
addons:
apt:
sources:
- sourceline: 'ppa:fkrull/deadsnakes'
packages:
# Ubuntu 14.04 (trusty) does not come with Python 2.6, so we will install it from Felix
# Krull's PPA
- python2.6
- python2.6-dev
python:
# We handle Python 2.6 testing from within tox (see tox.ini); note that this means that we run
# tox itself always from Python 2.7
- '2.7'
env:
# The PYTEST_PROCESSES environment var is used in tox.ini to override the --numprocesses argument
# for PyTest's xdist plugin. The reason this is necessary is that conventional Travis environments
# may report a large amount of available CPUs, but they they are greatly restricted. Through trial
# and error we found that more than 1 process may result in failures.
- PYTEST_PROCESSES=1 TOX_ENV=pylint_code
- PYTEST_PROCESSES=1 TOX_ENV=pylint_tests
- PYTEST_PROCESSES=1 TOX_ENV=py27
- PYTEST_PROCESSES=1 TOX_ENV=py26
- PYTEST_PROCESSES=1 TOX_ENV=py27e2e
- PYTEST_PROCESSES=1 TOX_ENV=py26e2e
- PYTEST_PROCESSES=1 TOX_ENV=py27ssh
- PYTEST_PROCESSES=1 TOX_ENV=py26ssh
- PYTEST_PROCESSES=1 TOX_ENV=docs
before_install:
# Create SSH keys for SSH tests
- ssh-keygen -f $HOME/.ssh/id_rsa -t rsa -N ''
- cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys
# Python dependencies
- pip install --upgrade pip
- pip install --upgrade setuptools
- pip install tox
- tox --version
script:
- tox -e $TOX_ENV