Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

ci: restrict 'pygobject-ver' for Ubuntu 22.04 jobs #29847

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

Conversation

jayaddison
Copy link
Contributor

@jayaddison jayaddison commented Apr 1, 2025

PR summary

  • Why is this change necessary?

Unit test coverage for GTK (both v3 and v3) in our GitHub Actions CI tests.yml workflow is largely skipped at the moment.

This is because recent versions of PyGObject -- as required for import gi to succeed -- are incompatible with the girepository-1.0 system dependency that we install on our Ubuntu 22.04 runners.

Specifically, as noted in #29844, PyGObject v3.52 adds a requirement on girepository-2.0.

The goal here is to re-enable GTK-related test coverage.

  • What problem does it solve?

To work around the problem, this pull request suggests pinning the upper-bound version of the PyGObject library that we install on the affected Ubuntu 22.04 runners.

  • What is the reasoning for this implementation?
  1. The girepository-2.0 system dependency is unavailable on Ubuntu 22.04 (jammy) and may not become available on that OS version.

  2. We have existing test coverage of PyGObject v3.52 on Ubuntu 24.04 with girepository-2.0 - so my reasoning (also described here) is that retaining coverage of girepository-1.0 is worthwhile.

PR checklist

Resolves #29844.

Edit: attempt to clarify the nature of the problem that is being solved by this.
Edit: plurality fixup
Edit: rephrase description again.
Edit: clarify that this may not be a temporary fix (girepository-2.0 may not become available on Ubuntu 22.04).

@jayaddison jayaddison changed the title ci: restrict 'pygobject-ver' for Ubuntu 20.04 jobs ci: restrict 'pygobject-ver' for Ubuntu 22.04 jobs Apr 1, 2025
@jayaddison

This comment was marked as resolved.

@jayaddison jayaddison marked this pull request as draft April 1, 2025 11:19
@jayaddison

This comment was marked as resolved.

@jayaddison

This comment was marked as outdated.

@jayaddison jayaddison marked this pull request as ready for review April 1, 2025 11:45
@jayaddison jayaddison force-pushed the issue-29844/gha-ci-ubuntu-2204-pygobject-pypkg-pin branch from 0216d73 to a76b888 Compare April 1, 2025 18:50
@jayaddison jayaddison force-pushed the issue-29844/gha-ci-ubuntu-2204-pygobject-pypkg-pin branch from a76b888 to 5b2001c Compare April 23, 2025 17:21
@dstansby
Copy link
Member

Hmm, I've rerun the failing CI job to see if it passes. It doesn't seem to be failing on main, so if it fails again it might be caused by this PR.

@jayaddison
Copy link
Contributor Author

Thanks @dstansby - possibly another flaky test case I can file a bug for? I hadn't encountered that particular failure mode before (test_determinism_check, if I remember correctly -- I should have added a note here, and am trying to track down the build logs again).

@jayaddison
Copy link
Contributor Author

Found it; the failure (caution: subsequently includes extremely lengthy diff) that occurred is: https://github.com/matplotlib/matplotlib/actions/runs/14624206559/job/41031666394#step:13:171

@jayaddison
Copy link
Contributor Author

Thanks @dstansby

@jayaddison
Copy link
Contributor Author

Is it OK if I merge-from-main and/or rebase-against-main? I think this PR remains equally valid against the latest changes -- I'd like to keep the test results relatively fresh.

@jayaddison
Copy link
Contributor Author

jayaddison commented May 7, 2025

Is it OK if I merge-from-main and/or rebase-against-main? I think this PR remains equally valid against the latest changes -- I'd like to keep the test results relatively fresh.

I think rebasing is preferable, and CI results should be green(ish) on main in a few moments, so I'll plan to do that soon.

Currently we continue to install `girepository-1.0` during these
workflow jobs; `PyGObject` v3.52 needs `girepository-2.0` instead.
@jayaddison jayaddison force-pushed the issue-29844/gha-ci-ubuntu-2204-pygobject-pypkg-pin branch from 5b2001c to da2063b Compare May 7, 2025 10:05
@jayaddison
Copy link
Contributor Author

Ping for any additional review / feedback?

@timhoffm timhoffm added this to the v3.11.0 milestone May 12, 2025
@timhoffm timhoffm added CI: testing CI configuration and testing GUI: gtk labels May 12, 2025
@timhoffm timhoffm merged commit 15787d5 into matplotlib:main May 12, 2025
43 of 45 checks passed
@timhoffm
Copy link
Member

Thanks @jayaddison!

@jayaddison
Copy link
Contributor Author

You're welcome - thank you @timhoffm!

@jayaddison jayaddison deleted the issue-29844/gha-ci-ubuntu-2204-pygobject-pypkg-pin branch May 12, 2025 22:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CI: testing CI configuration and testing GUI: gtk
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[MNT]: CI: pygobject fails to install during ubuntu-22.04 GitHub Actions jobs
3 participants
Morty Proxy This is a proxified and sanitized view of the page, visit original site.