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

Open
jayaddison opened this issue Apr 1, 2025 · 2 comments · May be fixed by #29847
Open

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

jayaddison opened this issue Apr 1, 2025 · 2 comments · May be fixed by #29847

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 jayaddison linked a pull request Apr 1, 2025 that will close this issue
2 tasks
@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.

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.

1 participant