Add a Qt6 compatibility check when releasing a version#282
Add a Qt6 compatibility check when releasing a version#282florentfougeres wants to merge 6 commits intoqgis:masterfrom
Conversation
|
Thanks so much for this @florentfougeres . This looks awesome. I will try it locally to check out how it works and get back to you. |
Xpirix
left a comment
There was a problem hiding this comment.
Thanks so much for this @florentfougeres . I was able to spin it locally (with some tweaks), and it's working as you described. This will definitely be a huge addition to the Plugins Website.
I've also reviewed the code implementation, and I have some suggestions/questions.
Thanks again!
There was a problem hiding this comment.
Could you please explain why this (qt6-validator) is implemented outside the Django App?
There was a problem hiding this comment.
Since we need access to a QGIS installation with Qt6 and the pyqt5_to_pyqt6.py script, we use the Docker image provided by the pyqgis4-checker project. This allows us to keep it well isolated from the rest of Django.
We will also ask QGIS Container to flag deprecated methods in a future validator that we plan to release later (see this QEP)
If you have any other ideas for accessing this in a Django app, I’m of course open to any suggestions
There was a problem hiding this comment.
Thanks for the explanation. That sounds fine.
|
I wonder if you could also please share your thoughts on this @timlinux ? Thanks! |
|
It will also be appreciated if you could please add unit tests and perhaps add docs or update the Qt6 migration docs (https://plugins.qgis.org/docs/migrate-qgis4) for this new implementation @florentfougeres. Thanks! |
|
This is a really great addition, thank you for sharing @florentfougeres - happy for @Xpirix to merge when he is happy with the code quality. |
|
Thanks @Xpirix for the review. I'll take the time to reply to you and make the necessary changes next week. |
fd44620 to
fd42034
Compare
…a plugin to a QGIS-qt6 Docker image, and display of the results in a tab in the version menu.
…icon support Co-authored-by: Lova Andriarimalala <43842786+Xpirix@users.noreply.github.com>
fd42034 to
5e08afe
Compare
Xpirix
left a comment
There was a problem hiding this comment.
The overall changes look good to me!
This is still a work in progress, tests and mail notifications are missing. I'd like to check that the overall looks good before continuing any further.
Are you still planning to add these to this PR?
Goals
The purpose of this PR is to run the Qt6 compatibility script
pyqt5_to_pyqt6.pyeverytime when a new plugin version is uploaded. You can then access to the compatibility result in the web interface.Our goal is to enforce the QGIS 4 compatibility for new plugins. It was already discussed in QEP #287 (see Trigger linters on plugins.qgis.org)
This is still a work in progress, tests and mail notifications are missing. I'd like to check that the overall looks good before continuing any further.
I'm aware of #266 and I'm prepared to rebase this work on it once merged. I'm wondering if Qt6 compatbility tests shall be synchronous with the #266 ones. This could be tricky because they require to be run in the appropriate docker environnement. I'm open to suggestions.
To sum up this PR:
pyqt5_to_pyqt6.pyScreenshots
This is how it looks like
Author's checklist
Fixes #11111at the bottom of the commit message.Tip
If you forgot to do this, don't be shy and write the same statement into this text field with the pull request description.
AI tool usage
Reviewer's checklist
ping @Xpirix @troopa81
Funded by Oslandia