| # 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 |