8000 [MNT]: CI: pygobject fails to install during ubuntu-22.04 GitHub Actions jobs · Issue #29844 · matplotlib/matplotlib · GitHub
[go: up one dir, main page]

Skip to content

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

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

Closed
jayaddison opened this issue Apr 1, 2025 · 2 comments · Fixed by #29847
Closed

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

jayaddison opened this issue Apr 1, 2025 · 2 comments · Fixed by #29847
Milestone

Comments

@jayaddison
Copy link
Contributor
jayaddison commented Apr 1, 2025

Summary

When the Ubuntu 22.04 (both x86 and ARM) test jobs currently run in GitHub Actions, girepository-1.0 is installed as a system dependency, and PyGObject is installed from PyPI without any version range specifier.

This causes the PyGObject Python package to fail to install, because from version v3.52 onwards, it has a hard dependency on girepository-2.0 (a major upgrade of that library).

This is illustrated by recent build logs from commit 7d5d027, both on Ubuntu 22.04 (x86) for Python 3.11, and also on Ubuntu 22.04 (ARM) for Python 3.12:

This is related to the changes in #29765; I'd mentioned briefly and obliquely that adding some version pinning might make sense alongside those changes, but hadn't yet suggested it in code:

A compatible possibility would be to place an upper-bound on the version of PyGObject installed during jobs on previous versions of Ubuntu.

I think that's what we should do (add a version pin - similar to the one in place for MacOS currently - for the Ubuntu 22.04 matrix jobs).

Proposed fix

Use the existing pygobject-ver GitHub Actions CI matrix variable to pin the Python PyGObject package version to <3.52.0 in Ubuntu 22.04 test workflows, where girepository-1.0 is installed.

Edit: add hyperlink to pygobject.git v3.52 release notes.

@jayaddison
Copy link
Contributor Author

Alternative fix

Something I'd considered while writing up this bugreport, that I should have mentioned: I think an alternative way to fix the same problem would be to install girepository-2.0 instead of girepository-1.0 for the affected Ubuntu 22.04 workflow jobs.

The reason that I suggest not doing that is that I think we increase our test coverage by retaining some PyGObject-pre-3.52 testing (and, to a smaller degree, because I think some production systems that we are testing to replicate may decide to wait before upgrading beyond that PyGObject version boundary). That's probably debatable, though.

@jayaddison
Copy link
Contributor Author

Alternative fix

Something I'd considered while writing up this bugreport, that I should have mentioned: I think an alternative way to fix the same problem would be to install girepository-2.0 instead of girepository-1.0 for the affected Ubuntu 22.04 workflow jobs.

The reason that I suggest not doing that is that I think we increase our test coverage by retaining some PyGObject-pre-3.52 testing (and, to a smaller degree, because I think some production systems that we are testing to replicate may decide to wait before upgrading beyond that PyGObject version boundary). That's probably debatable, though.

This alternative appears not to be feasible; girepository-2.0 is not currently available for Ubuntu 22.04.

@QuLogic QuLogic added this to the v3.11.0 milestone May 12, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants
0