Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Automate builds using cibuildwheels to improve current workflow #235

Open
4 tasks
paddyroddy opened this issue Mar 20, 2023 · 0 comments
Open
4 tasks

Automate builds using cibuildwheels to improve current workflow #235

paddyroddy opened this issue Mar 20, 2023 · 0 comments

Comments

@paddyroddy
Copy link
Collaborator

paddyroddy commented Mar 20, 2023

Addresses #192. Following the merge of #231 the shared libraries will now be built in the current workflow rather than committed to git. The initial proposal was to use cibuildwheels for everything but following attempts in #230 and #225 this proved tricky and so @p-j-smith, and I decided that we should get the current workflow working and the cibuildwheels is a more involved job for another time.

To build on cibuildwheel the following steps are required:

  • Compile the Windows binaries on Windows rather than cross-compiling (see Can the C++ be built on Windows #234)
  • Install eigen on the respective OS and fix the includes
  • Replace Makefile with setup.py (this is assuming that sticking with ctypes)
  • Remove the build.sh script

The pyproject.toml could look a bit like

[tool.cibuildwheel]
test-command = "pytest {project}"
test-extras = [
    "napari",
]
test-requires = [
    "dask",
    "pytest",
]
linux.before-all = [
    "yum install -y eigen3-devel",
]
macos.before-all = [
    "brew install eigen",
]
windows.before-all = [
    "choco install eigen",
]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant