Description
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:
- https://github.com/matplotlib/matplotlib/actions/runs/14186202430/job/39741858224#step:9:462
- https://github.com/matplotlib/matplotlib/actions/runs/14186202430/job/39741858471#step:9:305
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.