tahoe-lafs / zfec

zfec -- an efficient, portable erasure coding tool
Other
374 stars 44 forks source link

Create wheel packages using GitHub Actions #20

Closed sajith closed 3 years ago

sajith commented 3 years ago

This PR contains GitHub Actions configuration that will create wheel (for macOS, Windows, and Linux) and source packages of zfec, using cibuildwheel. The configuration is pretty much straight from cibuildwheel documentation. Examples of this in action are here.

This will also run tox -e py where it makes sense: currently skipping running tox on Windows with Python 3.9, because twisted isn't happy about being in that environment.

In order to test these packages, I published packages on testpypi, and made a draft PR on Tahoe-LAFS that uses zfec package from testpypi -- it successfully runs Tahoe-LAFS tests on Windows using GitHub Actions, without having to install a compiler.

Note that packages on testpypi are tagged 1.5.4. That is because I wanted to ensure that tagging creates packages as expected. I'm proposing some steps to release a 1.5.4 for real:

And then, outside of this repository:

We could also possibly automate the part where packages are published on pypi, but that probably won't be necessary now since zfec is not a super active project.

(I think macOS and Linux will continue to need a compiler because pyyaml has published .whl packages only for Windows; I am not quite sure about PyOpenSSL's story.)