From df80103c333bcc810346430b3991aa44e34da75e Mon Sep 17 00:00:00 2001 From: =?utf8?q?=C5=81ukasz=20Langa?= Date: Wed, 18 Apr 2018 19:36:39 -0700 Subject: [PATCH] Solve the Travis failure with 3.7 from deadsnakes --- .travis.yml | 9 +++++++-- .travis_py37_workaround.sh | 12 ++++++++++++ 2 files changed, 19 insertions(+), 2 deletions(-) create mode 100644 .travis_py37_workaround.sh diff --git a/.travis.yml b/.travis.yml index 5452f0f..f37d6df 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,7 +1,12 @@ -sudo: false +sudo: required +dist: xenial language: python cache: pip -before_script: +before_install: +- if [[ $TRAVIS_PYTHON_VERSION == '3.7-dev' ]]; then sudo add-apt-repository ppa:deadsnakes/ppa -y; fi +- if [[ $TRAVIS_PYTHON_VERSION == '3.7-dev' ]]; then sudo sudo apt-get update; fi +install: +- if [[ $TRAVIS_PYTHON_VERSION == '3.7-dev' ]]; then source .travis_py37_workaround.sh; fi - pip install coverage coveralls flake8 flake8-bugbear mypy - pip install -e . script: diff --git a/.travis_py37_workaround.sh b/.travis_py37_workaround.sh new file mode 100644 index 0000000..8db36bb --- /dev/null +++ b/.travis_py37_workaround.sh @@ -0,0 +1,12 @@ +echo "The ready-made virtualenv is not the one we want. Deactivating..." +deactivate + +echo "Installing 3.7 from deadsnakes..." +sudo apt-get --yes install python3.7 + +echo "Creating a fresh virtualenv. We can't use `ensurepip` because Debian." +python3.7 -m venv ~/virtualenv/python3.7-deadsnakes --without-pip +source ~/virtualenv/python3.7-deadsnakes/bin/activate + +echo "We ensure our own pip." +curl -sSL https://bootstrap.pypa.io/get-pip.py | python3.7 -- 2.39.5