Five days ago, the last merge to our master branch succeeded on Travis
Today, I tried to run some builds in a test branch to see if bumping a certain dependency would break anything. However, after getting very confusing build results I got sidetracked and eventually discovered that the exact same commit now fails.
Python 3.3 builds say there’s No module named 'typing' (true, but while there’s a PyPI package to backport it the list of installed packages hasn’t changed between jobs).
Python 3.5 builds point to a syntax error in one of our dependencies (geoip2 2.9.0) that hasn’t changed in years.
These errors don’t make sense, since the exact same build succeeded a few days ago. I can only conclude that something in the Travis CI Python archives has changed due to a recent update. It’s either that or the package artifact on PyPI changed, and we all know the policy there. (In case not: It’s impossible to replace an uploaded artifact, period. Broken releases must be version-bumped.)
Please check your list of packages being installed more closely. Since you are using >= specificaltions rather than ==, you will be getting newer versions whenever they are available.
Well, this gives cwd a whole new definition for me: “committing while drowsy”.
I did compare log output—and even used WinMerge to do so—but I must have copied the wrong log.
maxminddb is a sub-dependency of geoip2, which also uses a >= requirement specifier. Sigh.
Accidentally comparing the wrong logs is embarrassing but I’m glad it turned out to be something fairly trivial. We just have to explicitly cap maxminddb's version ourselves, since the newest major version dropped support for older Python releases that we still support until our next major version.