Skip to content

ci: Test running on Ubuntu 26.04 - #32478

Draft
QuLogic wants to merge 1 commit into
matplotlib:mainfrom
QuLogic:ci-ubuntu26
Draft

QuLogic wants to merge 1 commit into
matplotlib:mainfrom
QuLogic:ci-ubuntu26

Conversation

@QuLogic

@QuLogic QuLogic commented Oct 14, 2026

Copy link
Copy Markdown
Member

PR summary

GitHub Actions are producing warnings that ubuntu-latest will be changing from 24.04 to 26.04, so run a test build of everything with it.

This doesn't really need to be merged if everything passes, unless we decide to stop using *-latest.

AI Disclosure

None

PR quality check

  • Use an expressive title, e.g. "Fix title font property precedence"
  • New and changed code is tested
  • [n/a] Plotting related features are demonstrated in an example
  • [n/a] New features and API changes have release notes
  • [n/a] Documentation complies with general and docstring guidelines

@QuLogic QuLogic added CI: Run cibuildwheel Run wheel building tests on a PR CI: testing CI configuration and testing labels Oct 14, 2026
GitHub Actions are producing warnings that `ubuntu-latest` will be
changing from 24.04 to 26.04, so run a test build of everything with it.
@timhoffm

timhoffm commented Oct 16, 2026 •

Copy link
Copy Markdown
Member

This produces a lot of image comparison failures.

https://github.blog/changelog/2026-09-17-ubuntu-26-generally-available-and-latest-migration/#ubuntu-latest-is-migrating-to-ubuntu-26-04

The ubuntu-latest label will migrate from Ubuntu 24.04 to Ubuntu 26.04. This migration will roll out gradually between October 19 and November 19, 2026. During this window, workflows that use ubuntu-latest will automatically move to Ubuntu 26.04.

Unless we find a short-term fix, we should at least temporarily move away from latest, otherwise we could get failures starting Oct 19.

@timhoffm timhoffm mentioned this pull request Oct 16, 2026
2 of 3 tasks
@ayshih

ayshih commented Oct 16, 2026 •

Copy link
Copy Markdown
Contributor

Looking through the failures, I see:

  • Nearly all of the failures are due to very slight differences of antialiased edges of artists. I'm puzzled how the Ubuntu version could affect the Agg calculation of antialiasing...
  • test_backend_pgf.py::test_rcupdate (pgf_rcupdate2.pdf) has a difference in the position of one letter
  • test_backends_rendering.py::test_blend_modes_cairo suggests that cairo 1.18.4 is still different on Linux than on other platforms, although thankfully now limited to only Gouraud shading, which appears to no longer work on Linux. The Ubuntu 24.04 job had been installing cairo 1.18.0, which had a wider but shallower set of differences (see Add blend modes and blend groups for compositing #31162 (comment)), so I had used a version-specific tolerance. The test may simply need to be changed to not run on Linux at all.

@QuLogic

QuLogic commented Oct 16, 2026

Copy link
Copy Markdown
Member Author

Unless we find a short-term fix, we should at least temporarily move away from latest, otherwise we could get failures starting Oct 19.

Tests are all on 24.04, there's nothing to worry about here.

@QuLogic

QuLogic commented Oct 16, 2026

Copy link
Copy Markdown
Member Author
  • Nearly all of the failures are due to very slight differences of antialiased edges of artists. I'm puzzled how the Ubuntu version could affect the Agg calculation of antialiasing...

Yes, this is very strange, which is why I pulled it out of #32202 to test independently of 3.15. We are on a completely newer toolchain on Fedora and everything is fine, so I don't really understand why this might be happening here, unless the machines themselves are different.

  • test_backend_pgf.py::test_rcupdate (pgf_rcupdate2.pdf) has a difference in the position of one letter

This one is #29790.

  • test_backends_rendering.py::test_blend_modes_cairo suggests that cairo 1.18.4 is still different on Linux than on other platforms, although thankfully now limited to only Gouraud shading, which appears to no longer work on Linux. The Ubuntu 24.04 job had been installing cairo 1.18.0, which had a wider but shallower set of differences (see Add blend modes and blend groups for compositing #31162 (comment)), so I had used a version-specific tolerance. The test may simply need to be changed to not run on Linux at all.

OK, I'm glad you recognized the issue here, as I wasn't too sure what was going on there. Perhaps you can open a PR with your suggestion?

@ayshih

ayshih commented Oct 16, 2026 •

Copy link
Copy Markdown
Contributor

Oh! Ubuntu 26.04 bumps us to GCC 15 (Ubuntu 24.04 uses GCC 13). That could easily explain the slight differences in the antialiasing calculations. I wonder if that could also explain the breakage of Cairo Gouraud shading on Linux. I've not managed to reproduce the issue with Gouraud shading under older GCC.

@QuLogic

QuLogic commented Oct 17, 2026 •

Copy link
Copy Markdown
Member Author

Fedora is already on GCC 16, and I can't reproduce (edit: the minor differences, I mean, not the Cairo or TeX ones) in a Ubuntu 26.04 container either, so it's a bit strange.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CI: Run cibuildwheel Run wheel building tests on a PR CI: testing CI configuration and testing

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants