Turn on py36 at Travis

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.
This commit is contained in:
Chad Whitacre 2020-07-02 07:35:31 -04:00
parent 5a2ee5387a
commit 076c73d22f

View File

@ -1,7 +1,7 @@
sudo: false
language: python
cache: pip
dist: trusty
dist: xenial
before_cache:
- rm -f $HOME/.cache/pip/log/debug.log
git:
@ -16,19 +16,15 @@ install:
- 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; fi
- if [ "${TRAVIS_OS_NAME}" = "linux" ]; then pip install --upgrade codecov tox setuptools; fi
- 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
if [ "${T}" = "py35" ]; then
python3 -m compileall -f -x tahoe-depgraph.py .
else
tox -e ${T}
fi
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.).
@ -69,9 +65,8 @@ matrix:
python: '2.7'
env: T=pyinstaller LANG=en_US.UTF-8
language: generic # "python" is not available on OS-X
# this is a "lint" job that checks for python3 compatibility
- os: linux
python: '3.5'
env: T=py35
python: '3.6'
env: T=py36
fast_finish: true