[SciPy-Dev] Discontinued Rackspace Open Compute Discount

Olivier Grisel olivier.grisel at ensta.org
Sun Feb 9 06:19:57 EST 2020


Using Azure Artifacts feed seems to work:

https://github.com/MacPython/scikit-learn-wheels/pull/23#issuecomment-583804796

But apparently it will require project maintainers to create a new
Azure account (it's possible to do so using your existing github
credentials), create public project there and a feed whose content
that can be publicly accessed via pip by anyone. The CI script. It's
possible to configure a retention policy to automatically clean-up old
nightly builds and release artifacts to stay below the limit of 2GB
(which would be more than enough for release automation and nightly
builds publishing).

For scikit-learn we already use Azure Pipelines for most automated
testing (pytest in PR) and we wanted to migrated our
https://github.com/MacPython/scikit-learn-wheels release automation
(based on https://github.com/matthew-brett/multibuild/ and backed by
on travis and appveyor) to use it Azure Pipelines instead. Appveyor is
too slow and Azure Pipelines is much faster for us. So migrating to
Azure Artifacts to also host the nightly build wheelhouse would be
quite natural in our case. The upload credentials is automatically
handled via the TwineAuthenticate at 1 task setup in the Azure Pipelines
yaml configuration.

However for projects that do not want to use Azure Pipelines for
building, I cannot find how to generate a secret token to "twine
upload" their wheels from a different CI to an Azure Artifact feed.

Another alternative would be to use anaconda.org that can also host
wheelhouse. The clean-up is not automatic but can be scripted with a
cron task on the CI. anaconda uploads might be more flexible w.r.t.
credentials for uploading from various CIs.

-- 
Olivier


More information about the SciPy-Dev mailing list