From 65dcb1d5015ff272bbe79e5aac83687104915a79 Mon Sep 17 00:00:00 2001 From: tooomm Date: Sat, 22 Aug 2026 10:51:24 +0200 Subject: [PATCH 1/4] 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 2/4] 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 3/4] 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 4/4] 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