[Numpy-discussion] manylinux wheels with Github Actions

Andrew Nelson andyfaff at gmail.com
Mon Nov 16 17:47:50 EST 2020


For my project (refnx) I solely use GH Actions to test and make wheels. In
my workflow (
https://github.com/refnx/refnx/blob/master/.github/workflows/pythonpackage.yml)
I make a 3.7/3.8/3.9 matrix across Linux/macOS/Windows. First of all I make
the wheels for all those combos, then install the wheels, then run tests on
the installed wheel (thereby checking that the libraries are all delocated
nicely). The final step in the workflow is uploading the wheel artefacts
(stored somewhere on GH).
To make the Linux 2010/2014 wheels I use PyPA docker images (
https://github.com/refnx/refnx/blob/master/.github/workflows/pythonpackage.yml#L70).
I specify what platform I want to make wheels for, as an environment
variable that is used to select the correct docker image
["manylinux2010_x86_64", "manylinux2014_x86_64"]. There are other images
available. The docker image runs a script to make all the wheels (
https://github.com/refnx/refnx/blob/master/tools/build_manylinux_wheels.sh)
and put them in a wheelhouse, that is then uploaded as an artefact along
with the macOS and windows wheels.

I decided to make the deployment step to PyPI a manual process, just so I
can check that everything went ok. When I've just made a release tag I
download the artefacts corresponding to the release commit, then upload
them from my personal PC.

It all works really well.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.python.org/pipermail/numpy-discussion/attachments/20201117/0f73c96a/attachment.html>


More information about the NumPy-Discussion mailing list