mirror of
https://github.com/tahoe-lafs/tahoe-lafs.git
synced 2024-12-20 21:43:09 +00:00
076c73d22f
Drops the old py35 job, per @exarkun: https://github.com/tahoe-lafs/tahoe-lafs/pull/732#discussion_r449615599 Also bumps Ubuntu at Travis so we can get 3.8 eventually. I first went to 3.8 before dropping back to 3.6 as our initial target. Trusty on Travis does include 3.6, but since we want 3.8 "pretty soon," and the OS bump ended up being tricky (see below), let's go ahead and keep the OS bump. Xenial (16.04) is the current default at Travis, and it does have 3.8 available: https://docs.travis-ci.com/user/languages/python/#python-versions The tricky bug is that different versions of virtualenv have different seeding algorithms: https://discuss.python.org/t/-/4146). CI puts us several layers deep in virtualenv-ception and I didn't fully unravel the whole thing, but starting with a modern virtualenv seems to work around the issue.
73 lines
2.1 KiB
YAML
73 lines
2.1 KiB
YAML
sudo: false
|
|
language: python
|
|
cache: pip
|
|
dist: xenial
|
|
before_cache:
|
|
- rm -f $HOME/.cache/pip/log/debug.log
|
|
git:
|
|
depth: 1000
|
|
|
|
env:
|
|
global:
|
|
- TAHOE_LAFS_HYPOTHESIS_PROFILE=ci
|
|
|
|
install:
|
|
# ~/.local/bin is on $PATH by default, but on OS-X, --user puts it elsewhere
|
|
- if [ "${TRAVIS_OS_NAME}" = "osx" ]; then export PATH=$HOME/Library/Python/2.7/bin:$PATH; fi
|
|
- if [ "${TRAVIS_OS_NAME}" = "osx" ]; then wget https://bootstrap.pypa.io/get-pip.py && sudo python ./get-pip.py; fi
|
|
- pip list
|
|
- if [ "${TRAVIS_OS_NAME}" = "osx" ]; then pip install --user --upgrade codecov tox setuptools virtualenv; fi
|
|
- if [ "${TRAVIS_OS_NAME}" = "linux" ]; then pip install --upgrade codecov tox setuptools virtualenv; fi
|
|
- echo $PATH; which python; which pip; which tox
|
|
- python misc/build_helpers/show-tool-versions.py
|
|
|
|
script:
|
|
- |
|
|
set -eo pipefail
|
|
tox -e ${T}
|
|
# To verify that the resultant PyInstaller-generated binary executes
|
|
# cleanly (i.e., that it terminates with an exit code of 0 and isn't
|
|
# failing due to import/packaging-related errors, etc.).
|
|
if [ "${T}" = "pyinstaller" ]; then dist/Tahoe-LAFS/tahoe --version; fi
|
|
|
|
after_success:
|
|
- if [ "${T}" = "coverage" ]; then codecov; fi
|
|
|
|
notifications:
|
|
email: false
|
|
irc:
|
|
channels: "chat.freenode.net#tahoe-lafs"
|
|
on_success: always # for testing
|
|
on_failure: always
|
|
template:
|
|
- "%{repository}#%{build_number} [%{branch}: %{commit} by %{author}] %{message}"
|
|
- "Changes: %{compare_url} | Details: %{build_url}"
|
|
|
|
matrix:
|
|
include:
|
|
- os: linux
|
|
python: '2.7'
|
|
env: T=coverage LANG=en_US.UTF-8
|
|
- os: linux
|
|
python: '2.7'
|
|
env: T=codechecks LANG=en_US.UTF-8
|
|
- os: linux
|
|
python: '2.7'
|
|
env: T=pyinstaller LANG=en_US.UTF-8
|
|
- os: linux
|
|
python: '2.7'
|
|
env: T=py27 LANG=C
|
|
- os: osx
|
|
python: '2.7'
|
|
env: T=py27 LANG=en_US.UTF-8
|
|
language: generic # "python" is not available on OS-X
|
|
- os: osx
|
|
python: '2.7'
|
|
env: T=pyinstaller LANG=en_US.UTF-8
|
|
language: generic # "python" is not available on OS-X
|
|
- os: linux
|
|
python: '3.6'
|
|
env: T=py36
|
|
|
|
fast_finish: true
|