Skip to content
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

Switch Linux CI to python docker image #479

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

Leseratte10
Copy link

@Leseratte10 Leseratte10 commented Sep 9, 2024

Currently, the build CI for Linux uses Github's Ubuntu 22.04 VM image. Ubuntu 22.04 comes with Glibc 2.35, so this means that the Linux builds of TagStudio will only run on distributions that also come with Glibc >= 2.35.

This PR changes that around so Githubs VM image is still being used, but inside that image it uses a Debian Bullseye docker container image with Python 3.12. Bullseye is a fair bit older and comes with Glibc 2.31.

This change should add support for running TagStudio under Debian Bullseye (11), Ubuntu 20.04 (Focal) and Rocky Linux 9 (see #386), and any other Linux distributions coming with glibc < 2.35 and >= 2.31.

I'm not sure if this change will have unintended side effects, but at least for me, TagStudio built with this change will actually start on Ubuntu 20.04 where before it just complained about a wrong Glibc version.

EDIT: Is this the correct target branch or should this target alpha-v9.4? Looks like the CI is a bit different between the two branches.

@CyanVoxel CyanVoxel added Type: CI Continuous Integration / workflows System: Linux For Linux/BSD distributions Status: Review Needed A review of this is needed labels Sep 9, 2024
@seakrueger
Copy link
Collaborator

Have you test that TagStudio works on Debian 11/Rocky 9/Ubuntu 20.04?
TagStudio interface is written using PySide 6 (Qt6 for Python). Neither Debian 11, Rocky 9, or Ubuntu 20.04 have packages for qt6. I'm not able to test this myself presently, but one of the top results for "qt6 Ubuntu 20.04" is the OBS project dropping support for Ubuntu 20.04 because of Qt6 [obsproject/obs-studio/discussions/9055].
Thanks!

.github/workflows/pytest.yaml Outdated Show resolved Hide resolved
.github/workflows/pytest.yaml Outdated Show resolved Hide resolved
@Leseratte10
Copy link
Author

Leseratte10 commented Sep 10, 2024

Have you test that TagStudio works on Debian 11/Rocky 9/Ubuntu 20.04? TagStudio interface is written using PySide 6 (Qt6 for Python). Neither Debian 11, Rocky 9, or Ubuntu 20.04 have packages for qt6. I'm not able to test this myself presently, but one of the top results for "qt6 Ubuntu 20.04" is the OBS project dropping support for Ubuntu 20.04 because of Qt6 [obsproject/obs-studio/discussions/9055]. Thanks!

I have not fully tested every functionality but I did make sure that it does start and the GUI shows up on my 20.04 install. I'll give it another go in a fresh new 20.04 VM to make sure it's not just working because of my weird config.

EDIT: I tested in a VM with a completely fresh install of Ubuntu 20.04.6. I had to install libxcb-cursor0 because it complained that that was missing, but then it started just fine, I can create a library and see files and add tags, so I'd say it works on 20.04.

Also, there's other software like Calibre 6 that's also written in Python and uses Qt6, and that works on Ubuntu 20.04 just fine as well, so I'm not sure what the issue with OBS or related projects is.

Copy link
Collaborator

@yedpodtrzitko yedpodtrzitko left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I dont have linux machine to test this, but it looks legit to me 🤷

@CyanVoxel CyanVoxel removed the Status: Review Needed A review of this is needed label Dec 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
System: Linux For Linux/BSD distributions Type: CI Continuous Integration / workflows
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants