Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork7.9k
ci: Enable testing on M1 macOS#27723
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 ourterms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
Uh oh!
There was an error while loading.Please reload this page.
Conversation
Minimum Python available there is 3.10 now, so bumped that up. It looks like We do seem to be getting a lot more failures here than we did when trying Cirrus in#24597. |
I've de-conditionalized all optional GUI dependencies so I can verify whether they should be skipped or not. |
The results are the following:
Most are available everywhere. The PyGObject 3/4 split doesn't have any effect, as the dependencies are the same either way (the only difference is the native dependency.) Only PyGObject 4 on macOS 14 arm64 is missing wheels, but appears to be available regardless after building them. PySide2 on Python 3.12 installs a wheel, but crashes. I believe PySide2 is no longer supported so they didn't bother fixing it for Python 3.12, and because it's some kind of universal thing, it still installed. On the other hand the M1 was new enough that there were no wheels for it. |
I rebased#24597 for comparison, and it doesn't seem to fail nearly as many tests. I can't see any tolerance issues at all. For a reason I don't understand, |
Ah, looking at thepytest 8 changelog, xfails are now fully reported with backtraces. This seems far too noisy, and we may have to disable that. |
030f350
toe722c5f
Compare
That is the result for me running over ssh with:
The account I was logged in via and the account I was ssh'd to were the same. My guess is that being logged in as a different user on the screen would still result in no screens being reported via ssh (but I have not tested that if we care I can). We should definitely adapt this and use it the same way we use the "do we have a screen" check on linux to auto fallback to Agg. |
OK, I removed the debugging, and pushed the screen check to#27761. |
ffaf00e
tod6169f8
Compare6afde26
to154fba8
CompareQuLogic commentedMar 28, 2024 • edited
Loading Uh oh!
There was an error while loading.Please reload this page.
edited
Uh oh!
There was an error while loading.Please reload this page.
We decided to xfail the Also, contrary to our call@ksunden /@tacaswell, I decided to keep the native arm64 build here. In fact, the cross-compiled one is brokenly-named as well, so we need to fix it one way or the other, and might as well do it now. |
Because this fixes the wheel names, this is important to get in to 3.9 before the rc. |
Uh oh!
There was an error while loading.Please reload this page.
I only half understand the comment in the svg backend. |
We are only interested in whether we emitted the warning, and don't careif the test segfaults or otherwise crashes. Thus it is better to checkthe output from the parent process, instead of `pytest.warns` in thesubprocess and checking the return code.
We aren't testing on macOS 10.12 any more, but macos-latest, which isnow macOS 12. Wheels for Python 3.12 should be available everywhere bynow as well.Only PySide2 remains conditional, as it is deprecated, but providesuniversal wheels that install but don't work on Python 3.12.
These are mostly just single bit changes in antialiasing portions ofdiagonal lines.
We currently special-case the SVG converter depending on if it usedfonttype='none', and use one that has our base fonts available. However,this is not based on the rcParam setting (because we don't have that atconversion time), but on whether the SVG text contains the font styling[1]. This check for styling uses the _current_ version, which waschanged way back inmatplotlib#19253.These files were never re-generated though, and used the old version ofthe style, meaning the expected images never triggered the specialconverter. The result images are written with the current style, and_do_ trigger the special conveter.Evidentally, this never was a problem for most developers, becauseeveryone had DejaVu Sans installed globally, so the expected imagesmatched. However, on the clean macOS CI, it's not installed globally, sothe expected images get converted with the wrong font, and the testfails.[1]https://github.com/matplotlib/matplotlib/blob/de1102668dbc0694e98653bd17641e9d99394e57/lib/matplotlib/testing/compare.py#L303
Now that we are running a (simple) test, we'll have to ensure thedeployment target is correct. This would have been needed for a releaseanyway, but can be removed once meson-python 0.16.0 is out.
I made some edits to those comments. |
PR summary
Just added in beta today:
https://github.blog/changelog/2024-01-30-github-actions-introducing-the-new-m1-macos-runner-available-to-open-source/
Need to see which of the optional dependencies are okay with this.
PR checklist