Skip to content

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

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

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
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.

[MNT]: CI: pygobject fails to install during ubuntu-22.04 GitHub Actions jobs
2 participants