-
Notifications
You must be signed in to change notification settings - Fork 23
Produce OS-specific wheels #1166
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
Conversation
…e assets to PyPI, as well as the .tar.gz and .zip sources
Codecov Report
@@ Coverage Diff @@
## master #1166 +/- ##
==========================================
+ Coverage 84.95% 87.38% +2.42%
==========================================
Files 81 81
Lines 9224 9224
==========================================
+ Hits 7836 8060 +224
+ Misses 1388 1164 -224 |
This reverts commit f1dbb61.
cbellot000
left a comment
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.
@PProfizi could you please give us an overview of what tests/examples are ran on which wheel?
I've not seen any code change to make the any wheel work, were there already ifs in the code to find the binaries in the installer when the pydpf-coe wheel doesn't have any binary?
@cbellot000 I've added a tests job for the |
…s_specific_wheels
| # This script generates the different versions of the ansys-dpf-core wheels based on a given input. | ||
| # Input can be one of ["any", "win", "manylinux1", "manylinux_2_17"] | ||
|
|
||
| import argparse |
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.
if I remember correctly, wheels used to be build by dpf-action repo, what is done where now?
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.
what about pydpf-post?
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.
if I remember correctly, wheels used to be build by dpf-action repo, what is done where now?
@cbellot000 they indeed used to be created by an action in the dpf-action repo. Now I've changed to have the logic directly in the pydpf-core yml files. I will consider making a common action later but since this is particular to pydpf-core, it would not have a big advantage to move it to the pydpf-actions
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.
what about pydpf-post?
Right now the pydpf-post regular CI just clones the pydpf-core repo and installs it as-is since the dependency is on the git repository directly. I'll have to make a PR on PyDPF-Post to properly build the ansys-dpf-core wheel based on the context, but it can be done after this.
The pydpf-post Release CI gets an ansys-dpf-core wheel from pip, so it requires no change.
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.
Okay, will there be any time with a broken pipeline in pydpf-post? (it's just to make sure we capture evrything)
Also if this will be used in pydpf-post, I guess you'll move it to pydpf-actions after?
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.
Okay, will there be any time with a broken pipeline in pydpf-post? (it's just to make sure we capture evrything)
Also if this will be used in pydpf-post, I guess you'll move it to pydpf-actions after?
Hi @cbellot000, sorry I do not understand the first sentence.
Edit: OK I think I can test running the pydpf-post pipelines on this branch to check what happens.
As for pydpf-post, indeed once I have a build_core action I can move it to the pydpf-actions, but this is really a consolidation step which is not really required at this point.
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.
See here for a run of the PyDPF-Post CI while targeting this branch specifically in the requirements, meaning this branch will be cloned when pip installing dependencies of ansys-dpf-post. Everything passes.
| - name: "Build ansys-dpf-core wheel" | ||
| shell: bash | ||
| run: | | ||
| if [ ${{ matrix.os }} == "ubuntu-latest" ]; then |
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.
is there any place where we have all wheels available (link in pypi) and we let pip pick the right one?
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.
@cbellot000 this is not tested in the CI, no.
We know that pip will pick from most-specific to more-generic, I tested that for other libraries which also do things this way.
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.
maybe we could at least run the example like that, then (at least in the release pipeline)? if not, we are not really testing a user environment
Closes #1165
Adds a .
ci/build_wheel.pyPython script which takes a platform argument (as well as a whether to create a wheelhouse)It is used in separate jobs to create and output the
anyandmanylinux1wheels.It is used everywhere else to build, test and output the
win_amd64wheel for Windows runners, and themanylinux_2_17wheel for Linux runners.The
anywheel is also tested.