Binary Python wheels and sdist generated by Github Action (#1399)
* Auto-generate binary Python wheels, triggered by git tags 'v*'. * Wheels are generated for Python versions 3.6-3.9, for Linux using the [PyPA manylinux-2014 image](https://github.com/pypa/manylinux) and MacOS using macos-latest (10.15 at time of writing). * The Action generates `sdist` for any other platforms. * The cibuildwheel action automatically prepares the wheels using [auditwheel](https://cibuildwheel.readthedocs.io/en/stable/options/#repair-wheel-command), which means bundling of external deps (e.g. libxml2 for NeuroML). * The output is all that's needed for publication of a new version to (Test)PyPI. * `setup.py` defaults `neuroml` to on. * A small change to `CMakeLists.txt` was required to build the wheels: based on this [Pybind hint](https://pybind11.readthedocs.io/en/stable/compiling.html#findpython-mode) `Development.Module`is now required, and not `Development` when CMake searches for Python. I confirm this change is needed to make Arbor build in the manylinux docker images, but I do not understand what the change implies, other than that we now don't link to `libpython`.
Showing
- .github/workflows/ciwheel.yml 89 additions, 0 deletions.github/workflows/ciwheel.yml
- .github/workflows/ebrains.yml 3 additions, 1 deletion.github/workflows/ebrains.yml
- CMakeLists.txt 5 additions, 1 deletionCMakeLists.txt
- doc/install/build_install.rst 3 additions, 0 deletionsdoc/install/build_install.rst
- doc/install/python.rst 4 additions, 4 deletionsdoc/install/python.rst
- setup.py 61 additions, 12 deletionssetup.py
Please register or sign in to comment