CI: Add build using Qt6 on Arch Linux#4428
Conversation
| container: holzhaus/mixxx-ci:20211015-qt6 | ||
| # QTKEYCHAIN needs to be disabled until this commit has been part | ||
| # of a release and the docker image has been updated: | ||
| # https://github.com/frankosterfeld/qtkeychain/commit/ae1f9a479001d519d209d19da1b9319bf4d05a28 |
There was a problem hiding this comment.
Could you add this commit as a patch to the Arch package? I have done that for vcpkg: microsoft/vcpkg#20185
There was a problem hiding this comment.
Yes, I'll look into it. It would be much easier if they just tagged a release that includes that patch :-/
I also opened a bug report at the arch linux bug tracker: https://bugs.archlinux.org/task/72446
Maybe they will also patch the package.
There was a problem hiding this comment.
@dvzrv maybe you could help us with this qtkeychain package?
There was a problem hiding this comment.
Already patched it in the docker container: Holzhaus/mixxx-ci-docker@2ce7e5d
There was a problem hiding this comment.
Ooof, GitHub CI needs root privs in the docker container, pushed a new commit: Holzhaus/mixxx-ci-docker@b4b601b
8266e58 to
2cb293a
Compare
|
Let's merge or rebase on main and see the results before merging. |
|
Why? We know the Qt6 jobs will fail for now. |
|
Then we shouldn't merge yet IMHO. I dont want to lose the green checkmark on non-qt6 PRs. Maybe we cna make a Qt6 branch that we can merge this to? |
I don't think we should hold back merging for this. It's still easy to see that everything else passed.
Please no. That would only bring superfluous complexity. |
|
I am not comfortable only building QML for Qt6 without having Qt6 CI setup. Let's merge this now. |
|
Or a |
|
I don't think it's a good idea to make another branch. IMO we need to tolerate some temporary imperfection to move forward on the long path ahead for Qt6. |
|
As long as the Qt6 builds don't result in a usable executable we can tolerate some delay between causing and noticing regressions. The This extra branch doesn't cause too much hassle as long as we only merge main into it, i.e. |
|
Let's try it. If it doesn't work we can decide to drop it at any time. |
|
I'm not going to bother setting up extra complexity to only run CI jobs periodically on some other branch and I think this would be pointless. What will most likely happen if someone wastes time on that is that the CI jobs on that other branch will be ignored entirely. |
|
It's not hard to scroll to the bottom of a pull request and see which checks failed and passed. It's really not a big deal to have a red X on https://github.com/mixxxdj/mixxx/pulls |
|
Disturbing the CI checks for everyone on main for an unforeseeable time is a strong burden. I recommend the extra branch as proposed. One step after another. |
|
More Git branches only creates extra work. Let's get everything into main ASAP. |
|
I am not going to open PRs one by one and scroll through all test results before deciding if it is ready for review. |
|
Then the only route forward I see is piling all changes needed for Qt6 into one giant pull request including starting Qt6 CI. |
|
That or tolerate having entire source code files that aren't built on CI for some time. I would much rather tolerate seeing a red X on https://github.com/mixxxdj/mixxx/pulls |
We can also just make a Then all Qt6 PRs can be opened against the Because the CI commit was reverted on |
|
Creating big branches is a setup for disaster. I will stop working on Qt6 support if this is done just for the sake of not seeing a red X. |
|
I am already very frustrated having to juggle so many unmerged branches. |
|
This is not much different to what we do with the |
|
I will not keep working on Qt6 support if unnecessary hassles are put in my way, especially not for something as trivial as an icon. |
Have you read my comment here? #4428 (comment) There would be no big branch, because the |
|
I am highly doubtful anyone will bother paying attention to some superfluous branch's CI results. |
|
I see two choices:
2 seems much better IMO. |
|
A branch solely for CI that nobody pays attention to is no more useful than running builds locally. |
What do you mean? The qt6 PRs go against the
The issue with (2) is that we accustom ourselves to ignoring the CI check mark. And because the Qt6 CI check always fails, what difference does it make compared to not having that check at all? So I think we should have a |
I will not continue working on Qt6 this way. This is a setup for trouble. |
Sorry, I overlooked this in frustration. If the qt6 branch is merged into main every time we merge a PR to the qt6 branch then I think this could work. |
|
How will we maintain the qt6 branch? Keep merging main -> qt6, then merge branches into qt6, then merge qt6 -> main? This seems messy. Alternatively we can rebase PRs onto main right before merging. |
|
Merging the qt6 branch into main does not work because the failing CI will move along with it. |
|
Uh, the reverted commit 12019eb in main prevents that. |
|
None of this cross-cross merge mess or Git tricks would be needed if we just looked at the individual CI checks. |
|
Let's target main for all PRs as originally proposed and simply merge main into qt6 periodically. No big deal. CI failures that only affect Qt6 can be fixed in the aftermath. |
Why? The |
|
Criss-cross merges and repeated reversions get confusing and messy. How about we keep the matrix condition in the workflow file in main but commented out? Then if you want to run a Qt6 job in a PR, temporarily uncomment it. |
|
I don't see any problem with the proposed method and think it's far easier and less messy than uncommenting the workflow all the time. But If you like it better go ahead. |
|
I will make a PR after #4432 is merged. |
Do not merge until qt6 build works.