-
Notifications
You must be signed in to change notification settings - Fork 257
Setup CI for macos15 with qt6 #670
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
base: master
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please consider to extend matrix. Preparation is here #675
And in my point of view, a move to qt6 should also happen on Linux and Windows too
.github/workflows/BuildPR.yml
Outdated
@@ -106,6 +106,35 @@ jobs: | |||
with: | |||
name: DLTViewer-${{ matrix.macos }}-${{ matrix.abi }} | |||
path: build/dist/DLTViewer*.tgz | |||
|
|||
buildMacOS15: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sorry, with this way, you have a lot of boiler plate code in github action.
Please rebase to recent master and here #677 you have an idea, how to extend the matrix |
I agree this leads to some boilerplate, but I did not want to extend that matrix intentionally to check Qt6. Anyway, this is just a draft which I have not finished and maybe will never do. |
Btw, there is an other draft too #405 |
I agree, but not necessarily simultaneously. Btw, migration to Qt6 has already happened on ubuntu 24.04.
I know, that PR was too scary to touch. My goal was simply add a new job to check macos-15 + Qt6 build without packaging. Since I do not have macos, it would be close to impossible for me to check produced package even if I figure out how to produce one. |
77440c8
to
2ba0aff
Compare
8fda689
to
9306615
Compare
Signed-off-by: Viktor Kopp <[email protected]>
This reverts commit b489a74. Signed-off-by: Viktor Kopp <[email protected]>
Signed-off-by: Viktor Kopp <[email protected]>
Signed-off-by: Viktor Kopp <[email protected]>
@hannesa2 if you have a mac machine, this PR now generates a mac bundle, would you be able to check whether app can be launched from the bundle? |
@@ -166,3 +166,72 @@ jobs: | |||
build/dist/DLTViewer*.7z | |||
build/dist/DLTViewer*.exe | |||
build/dist/*.md | |||
|
|||
buildMacOS15Qt6: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Using the matrix and not introduce a new job, would avoid the start problems on MacOS.
Signing and notarization is in matrix out of the box
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Using matrix is good to save on code, but in this case important thing is to make build with qt6 working. The problem with existing packaging code is that it is crafted for qt5, is full of obsolete and hardcoded assumptions which are hard to fix in such a way that it works both with qt5 amnd qt6. Here, I am trying to come up with a minimal setup which would allow me to produce a working macos 15 bundle with qt6
If RPATH is toggled to "ON" it should correct some of qt libraries being embedded into the .app file |
cmake -G Ninja -DCMAKE_PREFIX_PATH=$QT_ROOT_DIR/lib/cmake \ | ||
-DCMAKE_OSX_DEPLOYMENT_TARGET=12.0 \ | ||
-DCMAKE_BUILD_TYPE=Release \ | ||
-DDLT_USE_QT_RPATH=OFF \ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
DDLT_USE_QT_RPATH=ON
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I spent quite some time to find out that this option leads to some rpath garbage with qt6 and macos 15, which in turn leads to macdeployqt tool failure
Added notarization to this PR. It now runs on without issue. |
I see no reason to duplicate this. With an new |
@hannesa2 agree, only problem is that notarization for qt5 and qt6 is different. which is why the boiler plate for signing is added. |
Also do we need macOS 13, 14, and 15? I think we can drop macOS 14 since arm64 is captured by macOS 15, and intel is captured by macOS 13. |
For my point of view, when qt6 is working, we don't need qt5 anymore. |
There I've no opinion. But currently nothing hurt here. |
Once apple drops x86 from macOS, we can drop it from project |
I tested it on macOS 15.5. About the dmg file, it doesn't work if I just run it (in dmg or move it into I don't know how this application codesigning works. However, I can test running this app with some tweek. |
Thank you for double checking. using the "--force" is not the correct way to sign a ".dmg". |
No description provided.