-
-
Notifications
You must be signed in to change notification settings - Fork 186
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
Switch Linux release builds to Qt6 #1908
Conversation
This is a small subset of the changes in #1869, essentially just adding a Linux workflow (that builds against Qt6) and removing the Linux builds from the old "CMake" and Qt6 workflows, while keeping everything else the same. |
This is failing because the |
This pull request has been mentioned on Avogadro Discussion. There might be relevant details there: https://discuss.avogadro.cc/t/upcoming-1-100-release/6629/12 |
@matterhorn103 - try merging |
86251a6
to
0c67456
Compare
Signed-off-by: Matthew J. Milner <matterhorn103@proton.me>
Looks like it does :) |
Is this ready to merge? |
I believe so? I rebased on latest HEAD as suggested and now everything passes. |
I don't see a new AppImage build action. I'd also like to have something running the test suite on Ubuntu (e.g., with the sanitizer builds). Am I missing new actions? They don't seem to be in this commit. Thanks. |
Yes, well spotted, thanks. I must have messed something up with the rebase or something, there is meant to be a a |
Signed-off-by: Matthew J. Milner <matterhorn103@proton.me>
Added the missing file, assuming all the checks pass it's now definitely ready, promise! Sorry for the dumb oversight. |
…ith test builds Signed-off-by: Matthew J. Milner <matterhorn103@proton.me>
I added the testing builds on Linux with Qt5 back in, so that we have some Qt5 tests going on, and also with the idea that even if the Qt6 test builds continue to fail we can still merge this for now. |
Thanks. I think #1941 looks pretty good (in terms of updating the few Qt tests to Qt6), but appreciate having the older Qt5 tests too. |
The AppImage doesn't seem to actually produce an AppImage artifact. I'm not sure if I can edit your pull request, but we need to fix that before this is merged. Thanks. |
Signed-off-by: Matthew J. Milner <matterhorn103@proton.me>
Hmm, for some reason the AppImage packaging step was missing, sorry. I could swear I put that in. Think I really botched the rebase. I've gone over it again with a bit more of a fine-toothed comb, I think it's all sound now. I've still converted this to a draft because I have a few quick questions for us to make decisions on:
- name: Configure
run: |
if [ ! -d "${{ runner.workspace }}/build" ]; then mkdir "${{ runner.workspace }}/build"; fi
cd "${{ runner.workspace }}/build"
# won't have any effect except on Mac
CC=${{matrix.config.cc}} CXX=${{matrix.config.cxx}} cmake $GITHUB_WORKSPACE/openchemistry ${{env.FEATURES}} -DCMAKE_BUILD_TYPE=${{matrix.config.build_type}} ${{matrix.config.cmake_flags}}
shell: bash Which is the part that is Mac specific and can I take it out of the Linux manifest?
|
Sure.
Sounds great. Probably worth building an AppImage for Ubuntu ARM too. I don't know if that's a big problem for users. Mac users (not very technical) have figured it out for a while.
Sure. I think the only caveat is that the "regular" runner is a lot faster than Flatpak, so there's some marginal benefit to seeing an issue before Flatpak-ARM hits an error.
There was an environment variable being set
Yes. It lets you The cleanup step isn't really needed on the GitHub runners - only on self-hosted. |
That's true. In that case let's leave the Flatpak runner as x86 only, any ARM-specific issues should get flagged by the other ARM builds anyway. |
Signed-off-by: Matthew J. Milner <matterhorn103@proton.me>
I think for now we should drop linux-arm builds and deal with those after release. The AppImage is failing because you also need to install |
I hoped they'd pass immediately since the ARM Flatpak works fine. Happy to postpone. |
Signed-off-by: Matthew J. Milner <matterhorn103@proton.me>
Signed-off-by: Matthew J. Milner <matterhorn103@proton.me>
I'll have to check - there seems to be a slightly different path, so it couldn't find the custom |
Okay, the final bits. First, the line should be:
Next up, the .AppImage is called Personally, I'd go with |
Signed-off-by: Matthew J. Milner <matterhorn103@proton.me>
Thanks, changed as appropriate. I forgot that I made that change, which is to checkout the source code under
Here I don't follow. I was planning to use your suggested name – my only change was to add the architecture so that it's |
I'm not sure why it's picking up I just know that if we want to keep Also, it looks like 0e22312 has confused some paths. For now, I'd probably suggest dropping that commit. |
Sure, I can revert it. Would you mind running My understanding is that the container should look like this:
|
de65d60
to
5bab14a
Compare
Signed-off-by: Matthew J. Milner <matterhorn103@proton.me>
Ok, I guess it should finally all work. Assuming it does, I won't touch this PR any further so that we can finally get it merged and release. But it looks like there's a bug that means the "workspace" paths are not consistent, see e.g. here and here. The GitHub help page for the runner context doesn't even list The checkout action claims to checkout repos relative to - name: Configure
run: |
if [ ! -d "${{ runner.workspace }}/build" ]; then mkdir "${{ runner.workspace }}/build"; fi
cd "${{ runner.workspace }}/build"
CC=${{matrix.config.cc}} CXX=${{matrix.config.cxx}} cmake $GITHUB_WORKSPACE/openchemistry ${{env.FEATURES}} -DCMAKE_BUILD_TYPE=${{matrix.config.build_type}} ${{matrix.config.cmake_flags}}
shell: bash So when post-1.100 I work on making all the builds consistent, wouldn't it make most sense to do everything relative to |
Sure, that would be fine. I don't remember why I didn't use that before. Certainly some of the GH action environment features have changed over the years.
Yes, that's right. You get This is one reason I had all the platforms in one action - it made it easier to update / tweak. OTOH, the Windows code-signing needs to be in a completely separate action so it's worth separating each of the platforms (and retiring the self-hosted action). |
🎉 |
This pull request has been mentioned on Avogadro Discussion. There might be relevant details there: |
Developer Certificate of Origin
Version 1.1
Copyright (C) 2004, 2006 The Linux Foundation and its contributors.
1 Letterman Drive
Suite D4700
San Francisco, CA, 94129
Everyone is permitted to copy and distribute verbatim copies of this
license document, but changing it is not allowed.
Developer's Certificate of Origin 1.1
By making a contribution to this project, I certify that:
(a) The contribution was created in whole or in part by me and I
have the right to submit it under the open source license
indicated in the file; or
(b) The contribution is based upon previous work that, to the best
of my knowledge, is covered under an appropriate open source
license and I have the right under that license to submit that
work with modifications, whether created in whole or in part
by me, under the same open source license (unless I am
permitted to submit under a different license), as indicated
in the file; or
(c) The contribution was provided directly to me by some other
person who certified (a), (b) or (c) and I have not modified
it.
(d) I understand and agree that this project and the contribution
are public and that a record of the contribution (including all
personal information I submit with it, including my sign-off) is
maintained indefinitely and may be redistributed consistent with
this project or the open source license(s) involved.