Skip to content

Tests: Stop requiring wheel.whl in common_wheels #13382

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

Closed
wants to merge 1 commit into from

Conversation

hroncok
Copy link
Contributor

@hroncok hroncok commented May 5, 2025

In Fedora, we are using a packaged wheel.whl to run the tests (well, at least that was the idea), but considering wheel now has runtime dependencies, we are trying to get rid of it. I thought this would be an easy way to not require it here, after #13330 -- but clearly I am missing something.

This is a proof of concept, it doesn't work, some tests fail with:

      ERROR: Could not find a version that satisfies the requirement setuptools>=40.8.0 (from versions: none)
      ERROR: No matching distribution found for setuptools>=40.8.0

And I am not entirely sure why yet.

@ichard26
Copy link
Member

ichard26 commented May 5, 2025

We'd need #13358 to be merged to remove our dependency on wheel in the test suite AFAICT. #13330 only changes pip to only require setuptools to be installed for --no-use-pep517 to function. However, pip still looks at whether setuptools AND wheel are installed to decide whether to use PEP 517 mode if there is no pyproject.toml.

@hroncok
Copy link
Contributor Author

hroncok commented May 5, 2025

Thanks for the hint.

Considering #13358 is closed, should I close this as well?

@ichard26
Copy link
Member

Yeah, given that it's only recently that setuptools no longer requires wheel, it's likely too risky to drop the requirement. How bad is it to depend on wheel for y'all at Fedora?

@hroncok
Copy link
Contributor Author

hroncok commented May 11, 2025

How bad is it to depend on wheel for y'all at Fedora?

The new version that has runtime dependencies was yanked. But once it has runtime dependencies, building our own wheel of it no longer makes sense, so I was considering dropping it for good.

We can probably use an older version of wheel here for the time being, don't worry about that. What makes me wonder is:

Is wheel now installed in the tests just so it can be checked if it's installed? aka if the wheel was "dummy" and contained no code, it would still work?

@hroncok hroncok closed this May 11, 2025
@sbidoul
Copy link
Member

sbidoul commented May 12, 2025

Is wheel now installed in the tests just so it can be checked if it's installed? aka if the wheel was "dummy" and contained no code, it would still work?

Maybe? I'd need to research.

In any case we are going to remove all that in 25.3.

So in the meantime I think we should not touch the setup.py develop and bdist_wheel code paths at all, to not create additional churn/risks/confusion.

I'm (slowly) working to make the test suite PEP 517 only. If it's ready before 25.2 we can also decide to stop testing the legacy code paths before 25.3, so downstream redistributors can run tests in pure PEP 517 only mode. But we'll see how quickly I progress.

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