Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Enable PyQt 5.15 tests on macOS + Windows #2272

Merged
merged 5 commits into from
Feb 5, 2022

Conversation

dhomeier
Copy link
Collaborator

@dhomeier dhomeier commented Feb 5, 2022

Description

Experiment to investigate the failing tests from #2269; on Linux may be X11 related.
The collection error

qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, wayland-egl, wayland, wayland-xcomposite-egl, wayland-xcomposite-glx, webgl, xcb.

appears to be Linux only.

@codecov
Copy link

codecov bot commented Feb 5, 2022

Codecov Report

Merging #2272 (16708c9) into main (3d09f59) will not change coverage.
The diff coverage is n/a.

Impacted file tree graph

@@           Coverage Diff           @@
##             main    #2272   +/-   ##
=======================================
  Coverage   88.07%   88.07%           
=======================================
  Files         247      247           
  Lines       23279    23279           
=======================================
  Hits        20502    20502           
  Misses       2777     2777           

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 3d09f59...16708c9. Read the comment docs.

@dhomeier
Copy link
Collaborator Author

dhomeier commented Feb 5, 2022

macos: py39-test-pyqt515 passing, windows: py39-test-pyqt515 running past collection; probing a couple more combinations now.

@dhomeier
Copy link
Collaborator Author

dhomeier commented Feb 5, 2022

@astrofrog this looks like an incomplete installation on the Linux side – see https://forum.qt.io/post/666128 .
Is the PyQt5 package itself broken or can/should we try to ensure installation of the library ourselves
(something like apt-get install libxcb-xinerama0-dev; however one tells azure or tox about that)?

@dhomeier dhomeier linked an issue Feb 5, 2022 that may be closed by this pull request
@dhomeier dhomeier added the no-changelog-entry-needed Skipped in Changelog generation label Feb 5, 2022
@astrofrog
Copy link
Member

astrofrog commented Feb 5, 2022

You can install additional libraries on Linux in azure in the following section in the azure pipelines config:


libraries:
      apt:
        - libxkbcommon-x11-0

I think it's expected that we have to install additional libraries on Linux, although annoying.

@dhomeier
Copy link
Collaborator Author

dhomeier commented Feb 5, 2022

I think it's expected that we have to install additional libraries on Linux, although annoying.

Yes, I tried to run python -m tox -e py38-test-pyqt515 manually on a RH system with anaconda, and it installed its PyQt5.15 package without any matching libQt5Core.so. pytest did not even get as far as finding glue-core...

@dhomeier dhomeier marked this pull request as ready for review February 5, 2022 20:40
@dhomeier
Copy link
Collaborator Author

dhomeier commented Feb 5, 2022

OK, must have been another -dev package or the libxcb* ones.
I am letting the whole set of combinations run once, then to decide which should stay in the standard configuration.

@dhomeier dhomeier requested a review from astrofrog February 5, 2022 20:42
Copy link
Member

@astrofrog astrofrog left a comment

Choose a reason for hiding this comment

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

Looks good! Feel free to merge if this is ready to go

@dhomeier
Copy link
Collaborator Author

dhomeier commented Feb 5, 2022

Which pyqt515 versions should I keep? All 4x3 combinations seems a bit excessive... ;-)

Maybe

    - linux: py39-test-pyqt515

    # Test against latest developer versions of some packages
    - linux: py310-test-pyqt515-dev-all

    - macos: py310-test-pyqt515-all
    # The following failed due to https://github.com/jupyter/qtconsole/issues/400 - fixed upstream
    - windows: py38-test-pyqt514-all
    - windows: py310-test-pyqt515

(replacing linux: py310-test-pyqt514-dev-all with linux: py310-test-pyqt515-dev-all)?

@astrofrog
Copy link
Member

Yes that seems reasonable - thanks!

@dhomeier dhomeier merged commit 2d64631 into glue-viz:main Feb 5, 2022
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
no-changelog-entry-needed Skipped in Changelog generation qt testing
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Fix CI builds with PyQt 5.15
2 participants