-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
Add Manylinux Python 3.7 wheel build + tests, disable Azure Windows Python build #1010
Conversation
try setting |
5210e26
to
00fc48b
Compare
try not to pollute the CMakeLists.txt, I think you can do it in the pipeline definition like you were trying to do |
d5309bd
to
cbb22c0
Compare
Our version of CMake seems to ignore the env var even if it's set - I can try setting the include dir and library dir and somehow forcing CMake to read the env var. Looking at some of the linked PRs/commits from the issue on virtual-environments: https://github.com/giotto-ai/giotto-tda/pull/388/files This might be a solution, just pulling in Boost and installing it in a directory we know to be correct. |
@sc1f as a last test can you try adding -DBoost_ROOT=%BOOST_ROOT_1_69_0% to the |
It seems like neither |
Saving this here for posterity:
This passed the build, so I'm pushing up a less janky reformulation of it. |
Cool. You can pass these args into the |
Looks like what I pushed up fixes it (or has at least gotten past the point where it usually breaks) - no more CMake crowding except for setting policy CMP0074 explicitly to |
cpp/perspective/CMakeLists.txt
Outdated
if (WIN32) | ||
# BOOST_ROOT has been removed on Windows VMs in Azure: | ||
# | ||
# - https://github.com/actions/virtual-environments/issues/6870 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
404
cool this should make deploying the wheels much quicker and easier. Maybe @texodus can merge this and a few of the other ones that are ready and cut a 0.4.8 to test the full process |
Don't merge yet lol Looks like a linker error - consistent in both PR and commit builds... |
|
So adding |
6400661
to
7518714
Compare
Looks like downgrading Boost to 1.69.0 (from 1.72.0) worked. AFAIK the version of boost that we need is anything above 1.67.0, which means this should be fine. Re-running builds now, but I saw the last build pass for Python (with a flapping test), so all should be good. |
Thanks for the PR! Looks good! |
This PR adds wheel builds and install tests for Perspective's
manylinux2010
andmanylinux2014
images on Python 3.7, storing built artifacts on Azure's pipeline artifact storage.Additionally, this PR temporarily disables the Windows Python 3.7 build as it seems that Boost's version/path has changed in more recent releases of the Windows VM on Azure Pipelines, which breaks all builds and requires further investigation.
Changes
After builds/tests on manylinux are completed, a wheel is built and installed in a fresh virtual environment.
perspective
is then imported andis_libpsp
called to check that paths to all built C++ shared libraries resolve properly as part of the wheel install. This check is performed for every branch push to CI.I added a
tags
trigger to our pipeline, which means that a wheel will be built on each new tag, as well as when the commit containing the new tag is merged intomaster
. There is no support for automatic disting/file upload (using jpmorganchase/nbcelltests as a guide to that end), but that can be built in as part of a more comprehensive release process.Caveats
manylinux2010
wheel is shown as incompatible when trying to install in a fresh virtual environment; I assume this is due to some technicality of wheels/virtualenv in Python 2 but am not investigating further for the time being