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

feat(CI): run linux tests with pytest-xdist #831

Merged
merged 1 commit into from
Sep 20, 2021

Conversation

mayeut
Copy link
Member

@mayeut mayeut commented Sep 19, 2021

This revisits #412.
With musllinux around the corner, CI times are growing quite a bit.

This does not apply to Windows/macOS (yet) for the reasons outlined in #412.

@mayeut mayeut marked this pull request as ready for review September 19, 2021 15:03
@joerick
Copy link
Contributor

joerick commented Sep 19, 2021

So the GHA timings from main are currently 37m, this is 23m. But, yeah, #768 takes the linux test time up to 60-70mins, so this is probably gonna be pretty handy.

I am considering if it would be worth being a bit more selective in #768 about which tests we run on muslinux, but it is very reassuring to know that all our tests pass on musllinux, just like manylinux. Maybe we wait and see how performance is in #768 after this is applied.

@Czaki
Copy link
Contributor

Czaki commented Sep 19, 2021

for windows, it should be possible to achieve by monkeypatching installation path

installation_path = Path(nuget_args[-1]) / (nuget_args[0] + "." + version) / "tools"

To od this I suggest changing hardcoded "tools" on a global contact. For macOS I have no idea.

@mayeut
Copy link
Member Author

mayeut commented Sep 19, 2021

I am considering if it would be worth being a bit more selective in #768 about which tests we run on muslinux, but it is very reassuring to know that all our tests pass on musllinux, just like manylinux. Maybe we wait and see how performance is in #768 after this is applied.

Agreed on selectivity of the tests. This might be something that can have a broader scope than just musllinux IMHO.

for windows, it should be possible to achieve by monkeypatching installation path

Eventually, I'd like to be able to run cibuildwheel locally on all 3 platforms with no unknown side-effects on all 3 platforms. This has already been mentioned a few times & will require tweaking the Windows & macOS code a bit (Linux running in docker already has only known side-effects: images being pulled). It will probably be a good idea to keep this use-case in mind when doing that.
I have some ideas for both OS but let's keep this linux only for now.

@Czaki
Copy link
Contributor

Czaki commented Sep 19, 2021

The biggest problem for me is to install python locally on macOS (other than compile from source). For windows, the only side effect may be NuGet installation.

@joerick
Copy link
Contributor

joerick commented Sep 20, 2021

This is bringing the linux times back down to 34m, which is pretty good!

@mayeut mayeut merged commit a85a2d7 into pypa:main Sep 20, 2021
@mayeut mayeut deleted the pytest-xdist-linux branch September 25, 2021 09:57
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