Comments (7)
As a first step, I'd reduce that list of platforms to ubuntu-latest, windows-latest, macos-latest
. The only one that produces different wheels is macOS-14
(because it's ARM), which is not in the list above.
from gh-action-pypi-publish.
Don’t build with multiple image variations and see what happens. I’m pretty sure merge-multiple corrupts data if there are matching filenames. The version of the image you use doesn’t affect the wheels you produce.
from gh-action-pypi-publish.
It's something in twine that we call to make this upload. Download the dist artifact and inspect it locally. Possibly, file an issue with twine.
Also, add twine check --strict
in your pipelines as early as possible.
from gh-action-pypi-publish.
@henryiii is it possible that cibw produces broken wheels?
from gh-action-pypi-publish.
I think there might be a bug with actions/download-artifact@v4, I've seen corrupted files from it in nox, too, in wntrblm/nox#772. I think it might be happening there because some of the files have the same file names when you merge.
Combined data file .coverage.3.10.tox.latest
Combined data file .coverage.3.11.tox.latest
Combined data file .coverage.3.8.tox.latest
Combined data file .coverage.3.9.tox.4
Traceback (most recent call last):
File "/home/runner/work/nox/nox/.nox/cover/bin/coverage", line 8, in <module>
sys.exit(main())
^^^^^^
File "/home/runner/work/nox/nox/.nox/cover/lib/python3.11/site-packages/coverage/cmdline.py", line 970, in main
status = CoverageScript().command_line(argv)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/runner/work/nox/nox/.nox/cover/lib/python3.11/site-packages/coverage/cmdline.py", line 687, in command_line
self.coverage.combine(data_paths, strict=True, keep=bool(options.keep))
File "/home/runner/work/nox/nox/.nox/cover/lib/python3.11/site-packages/coverage/control.py", line 836, in combine
combine_parallel_data(
File "/home/runner/work/nox/nox/.nox/cover/lib/python3.11/site-packages/coverage/data.py", line 176, in combine_parallel_data
data.update(new_data, aliases=aliases)
File "/home/runner/work/nox/nox/.nox/cover/lib/python3.11/site-packages/coverage/sqldata.py", line 690, in update
arcs = [
^
File "/home/runner/work/nox/nox/.nox/cover/lib/python3.11/site-packages/coverage/sqldata.py", line 690, in <listcomp>
arcs = [
^
sqlite3.DatabaseError: database disk image is malformed
There are a lot of repeated wheels with same file names if you have ubuntu-latest, ubuntu-20.04, windows-latest, windows-2019, macos-latest, macos-11, macos-13
.
from gh-action-pypi-publish.
As @henryiii recommended, I reduced down to os: [ubuntu-latest, windows-latest, macos-latest]
, and it passed. Thanks a lot.
FYI
Today I triggered
os: [ubuntu-latest, ubuntu-20.04]
os: [windows-latest, windows-2019]
os: [macos-latest, macos-11, macos-13]
separately again, two passed but os: [windows-latest, windows-2019]
failed. Still the same reason:
raise BadZipFile("Bad magic number for central directory")
so I break os: [windows-latest, windows-2019]
down to:
os: [windows-latest]
os: [windows-2019]
both of them succeeded.
from gh-action-pypi-publish.
@henryiii os: [ubuntu-latest, windows-latest, macos-latest]
works, Thank you! ( I didn't know these three is enough for all necessary wheels)
from gh-action-pypi-publish.
Related Issues (20)
- Duplicate alert when uploading wheels HOT 7
- Error: `long_description` has syntax errors in markup and would not be rendered on PyPI HOT 14
- Nudge users to use Trusted Publishers when publishing to PyPI and TestPyPI HOT 5
- `invalid-publisher` error when using reusable workflow HOT 16
- upload fail in middle with `HTTPError: 400; This filename has already been used` HOT 25
- `invalid-publisher`: valid token, but no corresponding publisher HOT 61
- "`invalid-publisher`: valid token, but no corresponding publisher" error, nothing changed on our side HOT 5
- Using self-hosted runners for publishing HOT 7
- Proposal: warn the user on user/password pair use HOT 6
- Trusted publisher exchange failure HOT 1
- Consider removing notice annotations for authentication scheme HOT 6
- Publishing fails if dist/ folder contains a subfolder HOT 4
- Why build action container on every run? HOT 2
- Make this action play nicely with new gh upload/download artifact actions v4 HOT 7
- [docs] Emphasize the dangers of enabling `skip-existing` in README
- "Only one sdist may be uploaded per release" with skip-existing enabled HOT 2
- Provide a better troubleshooting message when used from a 3P PR
- Provide a full example of a GitHub Actions config, rather than small little pieces HOT 5
- invalid-publisher: valid token, but no corresponding publisher part 2 HOT 16
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from gh-action-pypi-publish.