-
-
Notifications
You must be signed in to change notification settings - Fork 89
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
Duplicate alert when uploading wheels #155
Comments
This means that they have already been uploaded. You can't upload files with the same name twice. Even if you remove them from PyPI, it won't let you do this — these things are immutable. |
no, the files don't already exist: https://pypi.org/project/simstring-fast/0.2.0/#files Only the 3.11 wheel is uploaded. I'm running multiple build jobs 8windows / linux versions 3.8 -3.11 and obviously they all should upload. |
This doesn't mean anything. If somebody else had the project, deleted it and you registered it again, you would still be unable to reuse the filenames. |
Here's some explanation of why it's obviously a bad idea —#15 (comment). Multiple disconnected async uploads are more prone to creating race conditions or partial uploads as you've witnessed. The recommendation is to upload all the artifacts as GHA artifacts from multiple jobs and then, download them all in a single job that is dedicated to uploading the dists. That single job can then be also protected via a GitHub Environment with mandatory approval, for example. And you can enable secretless publishing there too. |
I checked your GHA job that is failing and there's several issues with it:
As there's nothing else to do here, I'm closing the issue. |
Thanks a lot for your extensive help. It is much appreciated. I actually faffed about with many different things, including the whole artefact up and download in a separate steps but always had something break. Is there an example for this recommended build on a matrix and then upload in one go type? If not, I’m happy to contribute it to the docs when I have it working. |
I've got multiple places where this works, but these examples are rather complicated since they have a test matrix in the middle. For example:
They also integrate my other inventions like https://github.com/marketplace/actions/alls-green#why and lately https://github.com/marketplace/actions/checkout-python-sdist. Having realized the complexities of maintaining YAML files of this size, I've been experimenting with making the setup more modular. Here's one example of employing reusable workflows for this: https://github.com/pypa/build/pull/618/files — though, I haven't migrated many of my projects to using this approach yet. P.S. The key reason for upload+download to work is to simply point them to the |
I have the issue that I build in a matrix of python 3.8 - 3.10 as i use mypyc to complile some slow bits.
When it comes to uploading one runner is done first and uploads the tar.gz file and the relevant .whl say 311. Then 310, 39 and 38 all report that there are duplicates and fail.
The text was updated successfully, but these errors were encountered: