You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
The text was updated successfully, but these errors were encountered:
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.
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.
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, andPyGObject
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 ongirepository-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:
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 PythonPyGObject
package version to<3.52.0
in Ubuntu 22.04 test workflows, wheregirepository-1.0
is installed.Edit: add hyperlink to
pygobject.git
v3.52 release notes.The text was updated successfully, but these errors were encountered: