Skip to content
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

Produce correct ABI tags for GraalPy #557

Merged
merged 8 commits into from
Aug 22, 2023

Conversation

msimacek
Copy link
Contributor

pypa/packaging#607 changed the ABI tag computation for GraalPy. This results in the current wheel not working for GraalPy because it uses pypa/packaging to validate tags of newly built wheels and now it always rejects them as mismatched. We need a corresponding change in wheel's tag computation, like it was done for PyPy in #373. Our SOABI look something like graalpy231-310-native-x86_64-linux, so the expected ABI tag for that is graalpy231_310_native. Compared to PyPy's there is one more component to distinguish native and sandboxed modes.

CC @timfel

@codecov
Copy link

codecov bot commented Aug 16, 2023

Codecov Report

Patch coverage: 100.00% and project coverage change: +0.26% 🎉

Comparison is base (3ec347d) 72.35% compared to head (5fe3830) 72.61%.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #557      +/-   ##
==========================================
+ Coverage   72.35%   72.61%   +0.26%     
==========================================
  Files          13       13              
  Lines        1085     1088       +3     
==========================================
+ Hits          785      790       +5     
+ Misses        300      298       -2     
Files Changed Coverage Δ
src/wheel/bdist_wheel.py 56.72% <100.00%> (+1.09%) ⬆️

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@mayeut
Copy link
Member

mayeut commented Aug 20, 2023

@msimacek, can you add a test for this please ?

@agronholm
Copy link
Contributor

Testing could be difficult as the setup-python action doesn't support GraalPython yet: actions/setup-python#694

@mayeut
Copy link
Member

mayeut commented Aug 20, 2023

This can be done with mocking like it is with PyPy:

def test_get_abi_tag_new(monkeypatch):
monkeypatch.setattr(sysconfig, "get_config_var", lambda x: "pypy37-pp73-darwin")
monkeypatch.setattr(tags, "interpreter_name", lambda: "pp")
assert get_abi_tag() == "pypy37_pp73"

@msimacek msimacek force-pushed the msimacek/graalpy-support branch from c079363 to a28bc2c Compare August 21, 2023 11:24
@msimacek msimacek force-pushed the msimacek/graalpy-support branch from 73a5a57 to bca1384 Compare August 21, 2023 12:32
@msimacek
Copy link
Contributor Author

I added a test

@agronholm
Copy link
Contributor

Please add a note to the changelog (docs/news.rst) and credit yourself.

@msimacek
Copy link
Contributor Author

Please add a note to the changelog (docs/news.rst) and credit yourself.

Added, thank you for assistance.

@agronholm agronholm merged commit 1a0e0f2 into pypa:main Aug 22, 2023
@agronholm
Copy link
Contributor

Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants