python-trio / outcome

Capture the outcome of Python function calls

Home Page:https://outcome.readthedocs.io/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

MacOS CI broken

njsmith opened this issue · comments

https://travis-ci.org/python-trio/outcome/jobs/358703591

This is because we're using the pip that comes with that python release, and it's now too old to support the version of TLS needed to connect to PyPI: https://status.python.org/incidents/hdx7w97m5hr8

Given how cranky Travis's MacOS support is, and how little platform-specific code is in this package, it might be simplest to drop MacOS testing from the test matrix.

(This might affect other python-trio projects too... not sure. @smurfix, are your projects still testing on Travis's MacOS?)

Yes. I had to copy a couple of test exclusions from asyncio, and prolong a few timeouts because anything below 0.1sec is unreliable as hell on Travis' MacOS test, but it still works.

We can however tell Travis that the MacOS test is to be ignored for pass/fail purposes.

The issue here is with pip being too old to install stuff at all, which is not something you'll miss :-).

I guess the way to keep it working is something like, doing curl https://bootstrap.pypa.io/get-pip.py | python before trying to use pip.

get-pip works:

diff --git a/ci/travis.sh b/ci/travis.sh
index 405cc94..173d46b 100755
--- a/ci/travis.sh
+++ b/ci/travis.sh
@@ -9,6 +9,7 @@ if [ "$TRAVIS_OS_NAME" = "osx" ]; then
     sudo installer -pkg macpython.pkg -target /
     ls /Library/Frameworks/Python.framework/Versions/*/bin/
     PYTHON_EXE=/Library/Frameworks/Python.framework/Versions/*/bin/python3
+    curl https://bootstrap.pypa.io/get-pip.py | sudo $PYTHON_EXE
     sudo $PYTHON_EXE -m pip install virtualenv
     $PYTHON_EXE -m virtualenv testenv
     source testenv/bin/activate

Given how cranky Travis's MacOS support is, and how little platform-specific code is in this package, it might be simplest to drop MacOS testing from the test matrix.

Agreed, so I think I'll remove the macOS jobs anyway