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

Autobuild: Use Qt6 for Windows 64bit #2300

Merged
merged 1 commit into from Apr 29, 2023

Conversation

hoffie
Copy link
Member

@hoffie hoffie commented Jan 27, 2022

Short description of changes

This PR switches the Autobuilds (and therefore: the releases!) to use Qt 6 for Windows 64bit builds.
The PR depends on the already merged PRs #2299 (initial Qt6 code compatibility) and #2328 (build logic Qt6 compatibility)
It only contains three small additional commits:

  • Autobuild: Windows: Build with Qt 6.4.3 on 64bit
    32bit builds remain on 5.15.2, as Qt6 is not available there.

Code-wise this is the smaller change. Change-wise it is the more relevant, more invasive one.

Context: Fixes an issue?

See #2299

Does this change need documentation? What needs to be documented and how?

CHANGELOG: Build: Windows 64bit releases use Qt 6.4.3 now. Jamulus will from now on only support Windows 10 and above.

Status of this Pull Request

Ready for testing

What is missing until this pull request can be merged?

  • Wait for merge of Code: Add Qt6 compatibility #2299 (Build would fail otherwise)
  • Wait for merge of Build logic: Add Qt6 compatibility #2328 (Merge will conflict otherwise)
  • Testing of all officially supported and affected release artifacts on relevant platforms (via beta/rc)
    • Windows 10
    • Windows 11
    • Mac
  • Check if Qt6 drops support for any older platform versions (docs: Qt5, Qt6)
    • Qt6 no longer officially supports Windows 7 and 8.1 (see comments)
    • Qt6 no longer supports macOS versions on or before 10.13. I guess that's OK because we still have the legacy build for those users? (@softins: "So if we build with Qt6, High Sierra users on 10.13 would need to start using the legacy build.")

I'm hoping to merge this for 3.9.0, but if any critical issues are found or if there's too little testing, we should postpone it.

Checklist

  • I've verified that this Pull Request follows the general code principles
  • I tested my code and it does what I want
  • My code follows the style guide
  • I waited some time after this Pull Request was opened and all GitHub checks completed without errors.
  • I've filled all the content above

@hoffie hoffie added this to the Release 3.9.0 milestone Jan 27, 2022
@hoffie hoffie added this to Triage in Tracking (old) via automation Jan 27, 2022
@hoffie hoffie marked this pull request as draft January 27, 2022 22:04
@hoffie hoffie moved this from Triage to Waiting Externally in Tracking (old) Jan 27, 2022
@pljones

This comment was marked as outdated.

@hoffie

This comment was marked as outdated.

@pljones

This comment was marked as outdated.

@hoffie

This comment was marked as outdated.

@pljones

This comment was marked as outdated.

@hoffie

This comment was marked as outdated.

@hoffie hoffie force-pushed the Qt6-switch-mac-and-win branch 3 times, most recently from 1349c9d to 26f000b Compare March 21, 2022 20:33
@hoffie hoffie force-pushed the Qt6-switch-mac-and-win branch 2 times, most recently from d3586bc to 7a612ce Compare April 26, 2022 15:25
@hoffie hoffie changed the title Autobuild: Use Qt6 for Windows 64bit and Mac (Non-Legacy) Autobuild: Use Qt6 for Windows 64bit, Mac (Non-Legacy), iOS Apr 26, 2022
@hoffie
Copy link
Member Author

hoffie commented Apr 26, 2022

I've rebased this PR on current master. As #2299 has been merged, the build of this PR now succeeds as well.
I've also updated it to use the latest Qt6 (6.3.0).
I've also hidden all the outdated comments regarding PR branch points.
I've also updated it to switch iOS as well.

@hoffie hoffie marked this pull request as ready for review April 26, 2022 16:54
@ann0see
Copy link
Member

ann0see commented Apr 26, 2022

Good to know. I just wanted to add that Qt6.3.0 worked fine on my rehearsal yesterday without UI glitches.

@ann0see
Copy link
Member

ann0see commented Apr 26, 2022

Installing the signed ipa on my phone works, but the app crashes. Hopefully it's not related to the Qt 6 move

@hoffie
Copy link
Member Author

hoffie commented Apr 26, 2022

Any chance to cross-check a recent Qt5-based build?
Also, some kind of debug log would be helpful of course :)

@pljones
Copy link
Collaborator

pljones commented Apr 20, 2023

Does it just need conflicts resolved and review?

@ann0see
Copy link
Member

ann0see commented Apr 20, 2023

In theory yes. If we decide to drop Win 7 and 8.1 it's just a small test and a click on merge away.

@ann0see ann0see force-pushed the Qt6-switch-mac-and-win branch 2 times, most recently from 7175c95 to 392c8ae Compare April 26, 2023 20:29
@ann0see
Copy link
Member

ann0see commented Apr 26, 2023

Ok. If we merge this, we need to add an auto update like on macOS. EDIT: I think we already have that.

@ann0see ann0see added the needs documentation PRs requiring documentation changes or additions label Apr 26, 2023
@ann0see ann0see requested review from pljones and ann0see April 26, 2023 20:37
@ann0see
Copy link
Member

ann0see commented Apr 26, 2023

Tracking (old) automation moved this from In Progress to Waiting Externally Apr 27, 2023
Copy link
Collaborator

@pljones pljones left a comment

Choose a reason for hiding this comment

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

OK, my new Win 11 PC will need to have Qt6 on, then, for development. Once I get that far with the (re-)installs...

@ann0see
Copy link
Member

ann0see commented Apr 29, 2023

I believe that the scripts need to be updated with better logic to detect the difference between QT 5 and QT 6.5. Probably the regular expressions are not exact enough like in the macOS case. I still think - after testing - we can merge this.

@ann0see
Copy link
Member

ann0see commented Apr 29, 2023

Ok. Windows 11 Still seems to work. I'm currently downloading a Win 10 VM to try it there too.

@ann0see ann0see moved this from Waiting Externally to Waiting on Team in Tracking (old) Apr 29, 2023
Copy link
Member

@ann0see ann0see left a comment

Choose a reason for hiding this comment

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

Ok. The Windows 10 VM seems ok too. I'll squash the two commits, merge it and then edit the CONTRIBUTING file.

Tracking (old) automation moved this from Waiting on Team to In Progress Apr 29, 2023
32bit builds remain on 5.15.2, as Qt6 is not available there.
Note: CI builds will now drop unofficial 64 Bit Windows 7 and 8.1
support. Since both are no longer supported by Microsoft, this should
not be an issue. Users should update their OS or compile from source.
@ann0see ann0see merged commit 5756de9 into jamulussoftware:main Apr 29, 2023
10 checks passed
Tracking (old) automation moved this from In Progress to Done Apr 29, 2023
@pljones pljones added dependencies Pull requests that update a dependency file tooling Changes to the automated build system labels Jun 4, 2023
@pljones pljones mentioned this pull request Jul 5, 2023
5 tasks
@pljones pljones removed this from Done in Tracking (old) Jul 28, 2023
@ann0see
Copy link
Member

ann0see commented Jul 28, 2023

Dropping needs documentation as this will be part of the ChangeLog and is documented.

@ann0see ann0see removed the needs documentation PRs requiring documentation changes or additions label Jul 28, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file tooling Changes to the automated build system
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

None yet

3 participants