Closed glensc closed 8 months ago
Sure, we can automate the creation of various wheels in a GH worflow. Please put as little logic as possible in there, and instead add the required variables/target to the existing Makefile.
It first means setting up publishing via GHA, as currently, I think you publish to pypi manually?
Nah, sorry, I don't want to publish through GHA. Creating the artifacts themselves upon tag push is fine though.
allright.
btw, publishing via actions improves trust. as if you upload from your computer the wheel could be modified meanwhile, deliberately or undeliberately. unable to verify with matching git source. I've even seen uploads created from the wrong version.
also, I found that pypi has some trusted publisher project, so by description you don't even have to create tokens. but I couldn't get it to work :(, my project is still in "pending" state
to be clear, there are no artifacts published right now with CI job on tags, and it must be added first?
and upload artifacts to github release? or leave in artifact storage?
Now that we have the Makefile nicely variabilized, I'll easily publish all wheels for each release, so I don't really have a strong opinion on artifact publication in the GH release assets section. If you have time, why not, as long as it also includes the sdist alongside the wheels.
can you make release meanwhile?
i'll be able to validate if those wheels are suitable for my system with installation with pipx, as noted in issue body, in need cp311-linux_aarch64.
or what do you mean? you'll publish wheels for previous releases (as well)?
the idea of publishing wheels to github release was that you can download them and upload to pypi. they are added to each release action too, just thought finding from github release is easier to find them.
For validating the wheels, you don't need a release right now: the whole point of putting all the logic in the Makefile was so you could build and test them locally.
For the next release, I can upload to pypi the wheels built by GitHub, but only once the sdist
is also created from GitHub actions: I don't want to mix locally-generated artifacts with GitHub-generated ones.
I'll look into adding that sdist
creation soon, unless you beat me to it of course.
I wanted wheels for the specified platform, so I could install my program with pipx without installing the development toolchain. can you add wheels for cp311-cp311-linux_aarch64 to last release or make new release?
As I said in my previous comment a new release will only happen after I add sdist
support to GH artifacts. I just added the wheel you need in pypi:
https://pypi.org/project/fuse-python/#files https://files.pythonhosted.org/packages/be/9c/3b6597e4a140ddb97781c762695aae5954a3a8ecf5a20977e995cc01fd4f/fuse_python-1.0.7-cp311-cp311-manylinux_2_28_aarch64.whl
thanks. works as expected!
$ pipx install plex-fuse
installed package plex-fuse 0.3.3, installed using Python 3.11.2
These apps are now globally available
- plex-fuse
done! 🌟
We can probably close this ticket, then. I'll track sdist
support in another one.
Seems this added some wheel:
where is that executed? could not find github actions workflow, so on developer machine manually? are you interested of automating this on git tag push instead?
anyway, currently is uploaded:
yet I'm interested in
fuse_python-1.0.7-cp311-cp311-linux_aarch64.whl
.also: can just
aarch64
wheel be added regardless of python version?