-
Notifications
You must be signed in to change notification settings - Fork 51
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
fix: push good images to pypi #642
Conversation
❌ 5 Tests Failed:
View the top 3 failed test(s) by shortest run time
To view more test analytics, go to the Test Analytics Dashboard |
a586bb9
to
0e310e7
Compare
✅ All tests successful. No failed tests were found. 📣 Thoughts on this report? Let Codecov know! | Powered by Codecov |
@webknjaz I am making some fixes here, but I'm running into an issue where |
@thomasrockhu-codecov you're not really supposed to copy |
Oh, you moved it back already. I was thinking of several commits back, then. |
There's no relation between the two. Installers don't interact with project-specific files in wheels at all. You must be misinterpreting something.. |
@webknjaz yeah perhaps I am, let me rephrase I'm trying to pull down one of the built When do I do that from one of the artifacts here, I get this
So I'm confused, since I believe that the wheel should be self-contained, but perhaps I have the wrong mental model. |
@thomasrockhu-codecov yes, wheels should contain ready-to-use end result. I don't know what outputs that line but I find it hard to believe that pip would do that. Do you have a more complete log? Is something else invoking |
Also, have you tried cranking up the verbosity? |
@webknjaz, now with verbosity
|
@thomasrockhu-codecov I assume it doesn't fail with |
@webknjaz same error I believe
|
Can you try a handmade venv + older pip? This seems like an upstream bug to me. But I'll also try getting one of the wheels and see what's happening. Too bad you excluded cp313, as that's my default now :) |
@webknjaz had to exclude 3.13 for now as there is an dep that doesn't allow for it |
@webknjaz yeah, fresh
|
Which dep? Also, it doesn't fail for me locally. But it's an x86_64 Gentoo Linux, and you're obviously on Mac (arm64?) You can also tell pip to choose the proper wheel instead of guessing which file matches your platform: So far, it looks like you may have broken Python install or are hitting a corner case in pip. I'd maybe |
You could also try downloading a known working wheel from another project, like https://pypi.org/project/aiohttp/3.11.12/#files and see if pip behaves the same on your machine. |
@webknjaz fascinating!
|
@thomasrockhu-codecov so it's your system that is broken (or a bug in pip) 🤷♂️ But I inspected the wheel contents anyway and haven't found anything out of the ordinary. Posting how to do this for history: $ wheel unpack codecov_cli-10.1.0-cp311-cp311-macosx_11_0_arm64.whl
Unpacking to: codecov_cli-10.1.0...OK
$ l codecov_cli-10.1.0
total 720K
drwxr-xr-x 7 wk wk 177 Feb 20 21:11 codecov_cli/
drwxr-xr-x 2 wk wk 109 Feb 20 21:11 codecov_cli-10.1.0.dist-info/
-rwxr-xr-x 1 wk wk 719K Feb 20 21:11 staticcodecov_languages.cpython-311-darwin.so*
$ l codecov_cli-10.1.0/codecov_cli
total 24K
drwxr-xr-x 2 wk wk 4.0K Feb 20 21:11 commands/
-rw-r--r-- 1 wk wk 1.3K Feb 20 21:11 fallbacks.py
drwxr-xr-x 4 wk wk 301 Feb 20 21:11 helpers/
-rw-r--r-- 1 wk wk 83 Feb 20 21:11 __init__.py
-rw-r--r-- 1 wk wk 3.4K Feb 20 21:11 main.py
-rw-r--r-- 1 wk wk 592 Feb 20 21:11 opentelemetry.py
drwxr-xr-x 2 wk wk 132 Feb 20 21:11 plugins/
drwxr-xr-x 2 wk wk 95 Feb 20 21:11 runners/
drwxr-xr-x 9 wk wk 157 Feb 20 21:11 services/
-rw-r--r-- 1 wk wk 2.2K Feb 20 21:11 types.py
$ l codecov_cli-10.1.0/codecov_cli-10.1.0.dist-info
total 72K
-rw-r--r-- 1 wk wk 83 Feb 20 21:11 entry_points.txt
-rw-r--r-- 1 wk wk 12K Feb 20 21:11 LICENSE
-rw-r--r-- 1 wk wk 33K Feb 20 21:11 METADATA
-rw-rw-r-- 1 wk wk 9.0K Feb 20 21:11 RECORD
-rw-r--r-- 1 wk wk 36 Feb 20 21:11 top_level.txt
-rw-r--r-- 1 wk wk 109 Feb 20 21:11 WHEEL
$ bat codecov_cli-10.1.0/codecov_cli-10.1.0.dist-info/entry_points.txt
───────┬──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
│ File: codecov_cli-10.1.0/codecov_cli-10.1.0.dist-info/entry_points.txt
───────┼──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
1 │ [console_scripts]
2 │ codecov = codecov_cli.main:run
3 │ codecovcli = codecov_cli.main:run
───────┴──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
$ bat codecov_cli-10.1.0/codecov_cli-10.1.0.dist-info/LICENSE
$ bat codecov_cli-10.1.0/codecov_cli-10.1.0.dist-info/WHEEL
───────┬──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
│ File: codecov_cli-10.1.0/codecov_cli-10.1.0.dist-info/WHEEL
───────┼──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
1 │ Wheel-Version: 1.0
2 │ Generator: setuptools (75.8.0)
3 │ Root-Is-Purelib: false
4 │ Tag: cp311-cp311-macosx_11_0_arm64
5 │
───────┴──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
$ bat codecov_cli-10.1.0/codecov_cli-10.1.0.dist-info/RECORD
$ bat codecov_cli-10.1.0/codecov_cli-10.1.0.dist-info/top_level.txt
───────┬──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
│ File: codecov_cli-10.1.0/codecov_cli-10.1.0.dist-info/top_level.txt
───────┼──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
1 │ codecov_cli
2 │ staticcodecov_languages
───────┴──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
$ rg requirements\\.txt codecov_cli-10.1.0/
codecov_cli-10.1.0/codecov_cli-10.1.0.dist-info/METADATA
524:pip install -r requirements.txt |
@webknjaz thanks for all the help, I think yeah, my python is borked so re-installing. |
@thomasrockhu-codecov did you do |
d7f64d9
to
5bcf2a0
Compare
@thomasrockhu-codecov so I've found a few hints on pip's tracker and I think that my hunch is right. It's easy to reproduce: $ PIP_CONSTRAINT=blah some-venv-py312/bin/python -Im pip install codecov_cli-10.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
ERROR: Could not open requirements file: [Errno 2] No such file or directory: 'blah' (would also apply to other flags like |
that was the hint I needed. I had sent |
@thomasrockhu-codecov tbf the error isn't exactly obvious. I just finished going through the issue search in pypa/pip and concluded that nobody reported the ambiguity there, so I'm going to document the confusion now. I would've guessed what's going on if this was on my machine due to the context present in my head, but with the limited info I was as confused... |
@thomasrockhu-codecov so based on https://github.com/codecov/codecov-cli/actions/runs/13437036758/job/37541761198?pr=642#step:4:1083, I assume you mean This shouldn't prevent you from publishing the wheel. You can still do this and eventually that dependency will start shipping platform-compatible wheels. But it's still okay if it's build from source (unless that's broken, of course). You have two options here:
The second variant is better because you still test things. Your job only fails because the dependency couldn't be built from sdist due to the lack of the build toolchain (Cargo/Rust). Once it's there, I imagine it'll build a wheel and install the dep without problems. |
@webknjaz going to push this first and work on the py13 thing later today to unblock some users |
@thomasrockhu-codecov ack. Meanwhile, I posted this issue pypa/pip#13226 — feel free to share your experience there too. |
No description provided.