Don't mirror wheels for pip/setuptools/virtualenv

A recent 45.0.0 release of Setuptools dropped support for (the now
EOL) Python 2.7 interpreter. It publishes to PyPI with
options.python_requires set to >=3.5 in its setup.cfg which causes
PyPI's simple index to serve that via a data-requires-python
attribute (see PEP 503) so that pip knows not to pick that one on
unsupported interpreters. Our wheel cache is just served via Apache
with mod_autoindex for its file listing, so lacks an ability to
convey this information.

In the short term, stop copying new versions of the pip, setuptools
and virtialenv wheels into the cache we publish, so that we can
safely remove broken versions of them manually and not have to worry
about them reappearing. Longer term, it may make sense to filter out
any wheels with manylinux or none-any platform specifiers, since
those the first absolutely exist on PyPI already or and the second
are trivial to build at job runtime if they don't. We really only
care about making sure we serve platform-specific wheels we've
built, as those will save the most time in jobs.

Change-Id: I02fac6beef9bb94cdeb1d0a84774c1b93357deb1
This commit is contained in:
Jeremy Stanley 2020-01-13 15:28:59 +00:00
parent da628d77bc
commit abc91b7ced
1 changed files with 7 additions and 0 deletions

View File

@ -4,6 +4,13 @@
WHEELHOUSE_DIR=$1
MIRROR_ROOT=$2
# Pre-filter any blacklisted package name patterns
find "$WHEELHOUSE_DIR/" '(' \
-name "pip-*-none-any.whl" -o \
-name "setuptools-*-none-any.whl" -o \
-name "virtualenv-*-none-any.whl" \
')' -exec rm "{}" \;
# Build our mirror folder structure.
for f in $WHEELHOUSE_DIR/*; do
BASENAME=$(basename $f)