-
Notifications
You must be signed in to change notification settings - Fork 221
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 GitHub workflow for building and publishing #144
Conversation
Please add @kmike as reviewer. Hoping your PR gets approved! |
@costika1234 thanks! Unfortunately I can't directly assign him as this would require write access to this repo, but I hope he will notice the mention in your 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.
thanks for taking this on.
The build for PyPy 3.8 on 64bit Windows failed during cython compilation, hence it's ignored using CIBW_SKIP (see FIXME comment). If anyone wants to take a look into this, feel free.
can you provide a traceback of this failure.
CIBW_SKIP: "pp38-win_amd64" # FIXME | ||
CIBW_BEFORE_BUILD: "pip install -U cython && ./update_cpp.sh" | ||
CIBW_BEFORE_BUILD_WINDOWS: "pip install -U cython && update_cpp.sh" | ||
CIBW_TEST_COMMAND: "echo Wheel installed successfully" |
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.
can you try:
CIBW_TEST_REQUIRES=tox
CIBW_TEST_COMMAND="cd {project} && tox"
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.
@Gerrit-K, looks like we are close. if we can figure out how to get tox to only run the relevant python version, then I think this can come in.
Yes, was about to comment something similar, but then left for dinner ;)
The question is whether we really need tox now, after all. As far as I understand it, it is designed to perform isolated testing across several python versions. Now, since cibuildwheel already provides isolated environments for the built wheels, couldn't we just simply run pytest instead of tox? Or is there more to it that I currently dont understand (yet)?
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.
i think directly calling pytest is good, let’s do that
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.
Alright, getting closer. All tests until PyPy 3.7 x64 succeed. That one fails on all OSes with SystemError: Function returned a NULL result without setting an exception
. Any ideas?
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.
let's skip the failing pypy builds.
I think this is reasonable. |
Ah yes, sure, here you go: Logs
|
@Gerrit-K, looks like we are close. if we can figure out how to get tox to only run the relevant python version, then I think this can come in. |
6473ceb
to
a379099
Compare
For non-windows builds, the wheels could actually be created but didn't pass the tests.
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.
This PR adds a simple GitHub workflow to build and publish wheels using cibuildwheel (mostly inspired by their example). It's probably nowhere near perfect, but should hopefully get things started again.
Some things to (re)consider / discuss:
CIBW_SKIP
(seeFIXME
comment). If anyone wants to take a look into this, feel free.CIBW_TEST_COMMAND
), mostly because I didn't find a quick solution on how to runtox
from within the isolated cibuildwheel environments. Again, any help or hints on this are welcome.pypi_password
containing an upload token.Any feedback is highly appreciated!
Refs: #130, #139, #140