From 694a3e33fc3fecba74afb4c9c1c4eb72ae16e72f Mon Sep 17 00:00:00 2001 From: tooomm Date: Sun, 28 Jun 2026 15:19:18 +0200 Subject: [PATCH 1/7] update qt installation --- .github/workflows/desktop-build.yml | 27 +++++++++++++++++---------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/.github/workflows/desktop-build.yml b/.github/workflows/desktop-build.yml index a6b9d5340..627462e66 100644 --- a/.github/workflows/desktop-build.yml +++ b/.github/workflows/desktop-build.yml @@ -270,9 +270,10 @@ jobs: make_package: 1 override_target: 13 package_suffix: "-macOS13_Intel" - qt_version: 6.11.0 qt_arch: clang_64 - qt_modules: qtimageformats qtmultimedia qtwebsockets + qt_archives: qtbase qtmultimedia qtsvg + qt_modules: qtwebsockets + qt_version: 6.11.0 soc: Intel type: Release use_ccache: 1 @@ -286,9 +287,10 @@ jobs: cmake_generator: Ninja make_package: 1 package_suffix: "-macOS14" - qt_version: 6.11.0 qt_arch: clang_64 - qt_modules: qtimageformats qtmultimedia qtwebsockets + qt_archives: qtbase qtimageformats qtmultimedia qtsvg + qt_modules: qtwebsockets + qt_version: 6.11.0 soc: Apple type: Release use_ccache: 1 @@ -302,9 +304,10 @@ jobs: cmake_generator: Ninja make_package: 1 package_suffix: "-macOS15" - qt_version: 6.11.0 qt_arch: clang_64 - qt_modules: qtimageformats qtmultimedia qtwebsockets + qt_archives: qtbase qtimageformats qtmultimedia qtsvg qttools + qt_modules: qtwebsockets + qt_version: 6.11.0 soc: Apple type: Release use_ccache: 1 @@ -316,9 +319,10 @@ jobs: ccache_eviction_age: 7d cmake_generator: Ninja - qt_version: 6.11.0 qt_arch: clang_64 - qt_modules: qtimageformats qtmultimedia qtwebsockets + qt_archives: qtbase qtimageformats qtmultimedia qtsvg qttools + qt_modules: qtwebsockets + qt_version: 6.11.0 soc: Apple type: Debug use_ccache: 1 @@ -332,9 +336,10 @@ jobs: cmake_generator_platform: x64 make_package: 1 package_suffix: "-Win10" - qt_version: 6.11.0 qt_arch: win64_msvc2022_64 - qt_modules: qtimageformats qtmultimedia qtwebsockets + qt_archives: qtbase qtimageformats qtmultimedia qtsvg qttools + qt_modules: qtwebsockets + qt_version: 6.11.0 type: Release name: ${{ matrix.os }} ${{ matrix.target }}${{ matrix.soc == 'Intel' && ' Intel' || '' }}${{ matrix.type == 'Debug' && ' Debug' || '' }} @@ -399,6 +404,7 @@ jobs: uses: jurplel/install-qt-action@v4 with: arch: ${{ matrix.qt_arch }} + archives: ${{ matrix.qt_archives }} cache: false dir: ${{ github.workspace }} modules: ${{ matrix.qt_modules }} @@ -422,6 +428,7 @@ jobs: # Qt 6.11.0 only works with aqtinstall directly from git until aqtinstall 3.4 is released aqtsource: git+https://github.com/miurahr/aqtinstall.git arch: ${{ matrix.qt_arch }} + archives: ${{ matrix.qt_archives }} cache: true modules: ${{ matrix.qt_modules }} version: ${{ steps.resolve_qt_version.outputs.version }} From fdf2c3903f57682e7aec01687d200f172324099b Mon Sep 17 00:00:00 2001 From: tooomm Date: Sun, 28 Jun 2026 15:23:53 +0200 Subject: [PATCH 2/7] qttranslations --- .github/workflows/desktop-build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/desktop-build.yml b/.github/workflows/desktop-build.yml index 627462e66..dbac18cab 100644 --- a/.github/workflows/desktop-build.yml +++ b/.github/workflows/desktop-build.yml @@ -320,7 +320,7 @@ jobs: ccache_eviction_age: 7d cmake_generator: Ninja qt_arch: clang_64 - qt_archives: qtbase qtimageformats qtmultimedia qtsvg qttools + qt_archives: qtbase qtimageformats qtmultimedia qtsvg qttools qttranslations qt_modules: qtwebsockets qt_version: 6.11.0 soc: Apple From 586c2f1e7d0d4eb8ac5ee4a901bdf42ef6ee998a Mon Sep 17 00:00:00 2001 From: tooomm Date: Sun, 28 Jun 2026 15:40:01 +0200 Subject: [PATCH 3/7] longer list --- .github/workflows/desktop-build.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/desktop-build.yml b/.github/workflows/desktop-build.yml index dbac18cab..e18892fa5 100644 --- a/.github/workflows/desktop-build.yml +++ b/.github/workflows/desktop-build.yml @@ -271,7 +271,7 @@ jobs: override_target: 13 package_suffix: "-macOS13_Intel" qt_arch: clang_64 - qt_archives: qtbase qtmultimedia qtsvg + qt_archives: qtbase qtimageformats qtmultimedia qtsvg qttools qttranslations qt_modules: qtwebsockets qt_version: 6.11.0 soc: Intel @@ -288,7 +288,7 @@ jobs: make_package: 1 package_suffix: "-macOS14" qt_arch: clang_64 - qt_archives: qtbase qtimageformats qtmultimedia qtsvg + qt_archives: qtbase qtimageformats qtmultimedia qtsvg qttools qttranslations qt_modules: qtwebsockets qt_version: 6.11.0 soc: Apple @@ -305,7 +305,7 @@ jobs: make_package: 1 package_suffix: "-macOS15" qt_arch: clang_64 - qt_archives: qtbase qtimageformats qtmultimedia qtsvg qttools + qt_archives: qtbase qtimageformats qtmultimedia qtsvg qttools qttranslations qt_modules: qtwebsockets qt_version: 6.11.0 soc: Apple @@ -337,7 +337,7 @@ jobs: make_package: 1 package_suffix: "-Win10" qt_arch: win64_msvc2022_64 - qt_archives: qtbase qtimageformats qtmultimedia qtsvg qttools + qt_archives: qtbase qtimageformats qtmultimedia qtsvg qttools qttranslations qt_modules: qtwebsockets qt_version: 6.11.0 type: Release From 65dcb1d5015ff272bbe79e5aac83687104915a79 Mon Sep 17 00:00:00 2001 From: tooomm Date: Sat, 22 Aug 2026 10:51:24 +0200 Subject: [PATCH 4/7] add aqtinstall list commands for tools and modules --- .github/workflows/desktop-build.yml | 78 ++++++++++++++++++++++------- 1 file changed, 61 insertions(+), 17 deletions(-) diff --git a/.github/workflows/desktop-build.yml b/.github/workflows/desktop-build.yml index c5526049c..623157998 100644 --- a/.github/workflows/desktop-build.yml +++ b/.github/workflows/desktop-build.yml @@ -205,6 +205,7 @@ jobs: - name: "Delete remote compiler cache (ccache)" if: github.ref == 'refs/heads/master' && steps.ccache_restore.outputs.cache-hit continue-on-error: true + shell: bash env: CACHE_PRIMARY_KEY: ${{ steps.ccache_restore.outputs.cache-primary-key }} GH_TOKEN: ${{ github.token }} @@ -270,8 +271,10 @@ jobs: make_package: 1 override_target: 13 package_suffix: "-macOS13_Intel" - qt_archives: qtbase qtimageformats qtmultimedia qtsvg qttools qttranslations - qt_modules: qtwebsockets + # Read https://aqtinstall.readthedocs.io/en/latest/getting_started.html#installing-a-subset-of-qt-archives-advanced + # and check https://ddalcino.github.io/aqt-list-server/ + qt_archives: qtbase qtsvg qttools qttranslations + qt_modules: qtimageformats qtmultimedia qtwebsockets qt_version: 6.11.1 soc: Intel type: Release @@ -287,8 +290,10 @@ jobs: make_package: 1 override_target: 14 package_suffix: "-macOS14" - qt_archives: qtbase qtimageformats qtmultimedia qtsvg qttools qttranslations - qt_modules: qtwebsockets + # Read https://aqtinstall.readthedocs.io/en/latest/getting_started.html#installing-a-subset-of-qt-archives-advanced + # and check https://ddalcino.github.io/aqt-list-server/ + qt_archives: qtbase qtsvg qttools qttranslations + qt_modules: qtimageformats qtmultimedia qtwebsockets qt_version: 6.11.1 soc: Apple type: Release @@ -303,8 +308,10 @@ jobs: cmake_generator: Ninja make_package: 1 package_suffix: "-macOS15" - qt_archives: qtbase qtimageformats qtmultimedia qtsvg qttools qttranslations - qt_modules: qtwebsockets + # Read https://aqtinstall.readthedocs.io/en/latest/getting_started.html#installing-a-subset-of-qt-archives-advanced + # and check https://ddalcino.github.io/aqt-list-server/ + qt_archives: qtbase qtsvg qttools qttranslations + qt_modules: qtimageformats qtmultimedia qtwebsockets qt_version: 6.11.1 soc: Apple type: Release @@ -317,8 +324,10 @@ jobs: ccache_eviction_age: 7d cmake_generator: Ninja - qt_archives: qtbase qtimageformats qtmultimedia qtsvg qttools qttranslations - qt_modules: qtwebsockets + # Read https://aqtinstall.readthedocs.io/en/latest/getting_started.html#installing-a-subset-of-qt-archives-advanced + # and check https://ddalcino.github.io/aqt-list-server/ + qt_archives: qtbase qtsvg qttools qttranslations + qt_modules: qtimageformats qtmultimedia qtwebsockets qt_version: 6.11.1 soc: Apple type: Debug @@ -333,8 +342,10 @@ jobs: cmake_generator_platform: x64 make_package: 1 package_suffix: "-Win10" - qt_archives: qtbase qtimageformats qtmultimedia qtsvg qttools qttranslations - qt_modules: qtwebsockets + # Read https://aqtinstall.readthedocs.io/en/latest/getting_started.html#installing-a-subset-of-qt-archives-advanced + # and check https://ddalcino.github.io/aqt-list-server/ + qt_archives: qtbase qtsvg qttools qttranslations + qt_modules: qtimageformats qtmultimedia qtwebsockets qt_version: 6.11.1 type: Release @@ -361,6 +372,7 @@ jobs: - name: "[macOS] Setup ccache" if: matrix.os == 'macOS' && matrix.use_ccache == 1 + shell: bash run: brew install ccache - name: "[macOS] Restore compiler cache (ccache)" @@ -375,6 +387,7 @@ jobs: restore-keys: ccache-${{ matrix.runner }}-${{ matrix.soc }}-${{ matrix.type }}- - name: "Install aqtinstall" + shell: bash run: pipx install aqtinstall # Resolve given wildcard versions (e.g. Qt 6.6.*) to latest version via aqtinstall to avoid stale caches on new releases @@ -385,13 +398,40 @@ jobs: shell: bash run: .ci/resolve_latest_aqt_qt_version.sh "$QT_VERSION" - - name: "[macOS] Restore thin Qt ${{ steps.resolve_qt_version.outputs.version }} libraries" - if: matrix.os == 'macOS' - id: restore_qt - uses: actions/cache/restore@v6 - with: - key: thin-qt-macos-${{ matrix.soc }}-${{ steps.resolve_qt_version.outputs.version }} - path: ${{ github.workspace }}/Qt + - name: "List available Qt archives (aqtinstall)" + shell: bash + run: | + echo "Archives (Mac):" + aqt list-qt mac desktop --archives ${{ steps.resolve_qt_version.outputs.version }} clang_64 + echo "" + echo "Archives (Windows):" + aqt list-qt windows desktop --archives 6.10.3 win64_msvc2022_64 + + - name: "List available Qt modules (aqtinstall)" + shell: bash + run: | + echo "Modules (Mac):" + aqt list-qt mac desktop --modules ${{ steps.resolve_qt_version.outputs.version }} clang_64 + echo "" + echo "Modules (Windows):" + aqt list-qt windows desktop --modules 6.10.3 win64_msvc2022_64 + + - name: "List avaialble Qt tools (aqtinstall)" + shell: bash + run: | + echo "Tools (Mac):" + aqt list-tool mac desktop + echo "" + echo "Tools (Windows):" + aqt list-tool windows desktop + + # - name: "[macOS] Restore thin Qt ${{ steps.resolve_qt_version.outputs.version }} libraries" + # if: matrix.os == 'macOS' + # id: restore_qt + # uses: actions/cache/restore@v6 + # with: + # key: thin-qt-macos-${{ matrix.soc }}-${{ steps.resolve_qt_version.outputs.version }} + # path: ${{ github.workspace }}/Qt # Using jurplel/install-qt-action to install Qt without using brew # Qt build using vcpkg either just fails or takes too long to build @@ -407,6 +447,7 @@ jobs: - name: "[macOS] Create thin Qt libraries" if: matrix.os == 'macOS' && steps.restore_qt.outputs.cache-hit != 'true' + shell: bash run: .ci/thin_macos_qtlib.sh - name: "[macOS] Cache thin Qt libraries" @@ -466,6 +507,7 @@ jobs: - name: "[macOS] Delete remote compiler cache (ccache)" if: matrix.os == 'macOS' && matrix.use_ccache == 1 && github.ref == 'refs/heads/master' && steps.ccache_restore.outputs.cache-hit continue-on-error: true + shell: bash env: CACHE_PRIMARY_KEY: ${{ steps.ccache_restore.outputs.cache-primary-key }} GH_TOKEN: ${{ github.token }} @@ -484,6 +526,7 @@ jobs: - name: "[macOS] Sign app bundle" if: matrix.os == 'macOS' && matrix.make_package && needs.configure.outputs.tag != null id: sign_macos + shell: bash env: BUILD_PATH: ${{ steps.build.outputs.path }} MACOS_CERTIFICATE_NAME: ${{ secrets.PROD_MACOS_CERTIFICATE_NAME }} @@ -497,6 +540,7 @@ jobs: - name: "[macOS] Notarize app bundle" if: matrix.os == 'macOS' && steps.sign_macos.outcome == 'success' + shell: bash env: BUILD_PATH: ${{ steps.build.outputs.path }} MACOS_NOTARIZATION_APPLE_ID: ${{ secrets.PROD_MACOS_NOTARIZATION_APPLE_ID }} From 03c22573efc1f953115c9393247c0e29d4da1f1f Mon Sep 17 00:00:00 2001 From: tooomm Date: Sat, 22 Aug 2026 12:31:07 +0200 Subject: [PATCH 5/7] QtQml (lrelease dependency) is part of qtdeclarative See https://github.com/qt/qtdeclarative Check if this module can be installed individually (without installing the full archive) +Check linking +Do not add qtdeclarative for win and macos 15 + debug --- .github/workflows/desktop-build.yml | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/.github/workflows/desktop-build.yml b/.github/workflows/desktop-build.yml index 623157998..19a1efd6f 100644 --- a/.github/workflows/desktop-build.yml +++ b/.github/workflows/desktop-build.yml @@ -273,7 +273,7 @@ jobs: package_suffix: "-macOS13_Intel" # Read https://aqtinstall.readthedocs.io/en/latest/getting_started.html#installing-a-subset-of-qt-archives-advanced # and check https://ddalcino.github.io/aqt-list-server/ - qt_archives: qtbase qtsvg qttools qttranslations + qt_archives: qtbase qtdeclarative qtsvg qttools qttranslations qt_modules: qtimageformats qtmultimedia qtwebsockets qt_version: 6.11.1 soc: Intel @@ -292,7 +292,7 @@ jobs: package_suffix: "-macOS14" # Read https://aqtinstall.readthedocs.io/en/latest/getting_started.html#installing-a-subset-of-qt-archives-advanced # and check https://ddalcino.github.io/aqt-list-server/ - qt_archives: qtbase qtsvg qttools qttranslations + qt_archives: qtbase qtdeclarative qtsvg qttools qttranslations qt_modules: qtimageformats qtmultimedia qtwebsockets qt_version: 6.11.1 soc: Apple @@ -457,6 +457,11 @@ jobs: key: thin-qt-macos-${{ matrix.soc }}-${{ steps.resolve_qt_version.outputs.version }} path: ${{ github.workspace }}/Qt + - name: "[macOS] Check lrelease dependencies" + if: matrix.os == 'macOS' + shell: bash + run: otool -L ${{ github.workspace }}/Qt/${{ steps.resolve_qt_version.outputs.version }}/macos/bin/lrelease + - name: "[Windows] Install Qt ${{ matrix.qt_version }}" if: matrix.os == 'Windows' uses: jurplel/install-qt-action@v4 From cca639fb4cccf92e6d5f6f52bd18c01fc84abc99 Mon Sep 17 00:00:00 2001 From: tooomm Date: Sat, 22 Aug 2026 12:53:42 +0200 Subject: [PATCH 6/7] qtdeclarative only needed on mac (lrelease linked against qtqml) --- .github/workflows/desktop-build.yml | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/.github/workflows/desktop-build.yml b/.github/workflows/desktop-build.yml index 19a1efd6f..5168921da 100644 --- a/.github/workflows/desktop-build.yml +++ b/.github/workflows/desktop-build.yml @@ -310,7 +310,7 @@ jobs: package_suffix: "-macOS15" # Read https://aqtinstall.readthedocs.io/en/latest/getting_started.html#installing-a-subset-of-qt-archives-advanced # and check https://ddalcino.github.io/aqt-list-server/ - qt_archives: qtbase qtsvg qttools qttranslations + qt_archives: qtbase qtdeclarative qtsvg qttools qttranslations qt_modules: qtimageformats qtmultimedia qtwebsockets qt_version: 6.11.1 soc: Apple @@ -326,7 +326,7 @@ jobs: cmake_generator: Ninja # Read https://aqtinstall.readthedocs.io/en/latest/getting_started.html#installing-a-subset-of-qt-archives-advanced # and check https://ddalcino.github.io/aqt-list-server/ - qt_archives: qtbase qtsvg qttools qttranslations + qt_archives: qtbase qtdeclarative qtsvg qttools qttranslations qt_modules: qtimageformats qtmultimedia qtwebsockets qt_version: 6.11.1 soc: Apple @@ -407,15 +407,6 @@ jobs: echo "Archives (Windows):" aqt list-qt windows desktop --archives 6.10.3 win64_msvc2022_64 - - name: "List available Qt modules (aqtinstall)" - shell: bash - run: | - echo "Modules (Mac):" - aqt list-qt mac desktop --modules ${{ steps.resolve_qt_version.outputs.version }} clang_64 - echo "" - echo "Modules (Windows):" - aqt list-qt windows desktop --modules 6.10.3 win64_msvc2022_64 - - name: "List avaialble Qt tools (aqtinstall)" shell: bash run: | From 18970638ad6db2ad8932c9531c58d3110a45834e Mon Sep 17 00:00:00 2001 From: tooomm Date: Sat, 22 Aug 2026 12:59:00 +0200 Subject: [PATCH 7/7] stupid human --- .github/workflows/desktop-build.yml | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/.github/workflows/desktop-build.yml b/.github/workflows/desktop-build.yml index 5168921da..145439d7a 100644 --- a/.github/workflows/desktop-build.yml +++ b/.github/workflows/desktop-build.yml @@ -407,6 +407,15 @@ jobs: echo "Archives (Windows):" aqt list-qt windows desktop --archives 6.10.3 win64_msvc2022_64 + - name: "List available Qt modules (aqtinstall)" + shell: bash + run: | + echo "Modules (Mac):" + aqt list-qt mac desktop --modules ${{ steps.resolve_qt_version.outputs.version }} clang_64 + echo "" + echo "Modules (Windows):" + aqt list-qt windows desktop --modules 6.10.3 win64_msvc2022_64 + - name: "List avaialble Qt tools (aqtinstall)" shell: bash run: | @@ -448,11 +457,6 @@ jobs: key: thin-qt-macos-${{ matrix.soc }}-${{ steps.resolve_qt_version.outputs.version }} path: ${{ github.workspace }}/Qt - - name: "[macOS] Check lrelease dependencies" - if: matrix.os == 'macOS' - shell: bash - run: otool -L ${{ github.workspace }}/Qt/${{ steps.resolve_qt_version.outputs.version }}/macos/bin/lrelease - - name: "[Windows] Install Qt ${{ matrix.qt_version }}" if: matrix.os == 'Windows' uses: jurplel/install-qt-action@v4