# 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