diff --git a/.ci/resolve_latest_aqt_qt_version.sh b/.ci/resolve_latest_aqt_qt_version.sh deleted file mode 100755 index 066140ac9..000000000 --- a/.ci/resolve_latest_aqt_qt_version.sh +++ /dev/null @@ -1,49 +0,0 @@ -#!/bin/bash - -# This script is used to resolve the latest patch version of Qt using aqtinstall. -# It interprets wildcards to get the latest patch version. E.g. "6.6.*" -> "6.6.3". - -# This script is meant to be used by the ci enironment. -# It uses the runner's GITHUB_OUTPUT env variable. - -# Usage example: .ci/resolve_latest_aqt_qt_version.sh "6.6.*" - -qt_spec=$1 -if [[ ! $qt_spec ]]; then - echo "usage: $0 [version]" - exit 2 -fi - -# If version is already specific (no wildcard), use it as-is -if [[ $qt_spec != *"*" ]]; then - echo "version $qt_spec is already resolved" - echo "version=$qt_spec" >> "$GITHUB_OUTPUT" - exit 0 -fi - -if ! hash aqt; then - echo "aqt could not be found, has aqtinstall been installed?" - exit 2 -fi - -# Resolve latest patch -if [[ $RUNNER_OS == macOS ]]; then - if ! qt_resolved=$(aqt list-qt mac desktop --spec "$qt_spec" --latest-version); then - exit 1 - fi -elif [[ $RUNNER_OS == Windows ]]; then - if ! qt_resolved=$(aqt list-qt windows desktop --spec "$qt_spec" --latest-version); then - exit 1 - fi -else - echo "aqt command for $RUNNER_OS not defined." - exit 1 -fi - -echo "resolved $qt_spec to $qt_resolved" -if [[ ! $qt_resolved ]]; then - echo "Error: Could not resolve Qt version for $qt_spec" - exit 1 -fi - -echo "version=$qt_resolved" >> "$GITHUB_OUTPUT" diff --git a/.github/workflows/desktop-build.yml b/.github/workflows/desktop-build.yml index a6b9d5340..40cb372b2 100644 --- a/.github/workflows/desktop-build.yml +++ b/.github/workflows/desktop-build.yml @@ -270,7 +270,7 @@ jobs: make_package: 1 override_target: 13 package_suffix: "-macOS13_Intel" - qt_version: 6.11.0 + qt_version: 6.11.* qt_arch: clang_64 qt_modules: qtimageformats qtmultimedia qtwebsockets soc: Intel @@ -286,7 +286,7 @@ jobs: cmake_generator: Ninja make_package: 1 package_suffix: "-macOS14" - qt_version: 6.11.0 + qt_version: 6.11.* qt_arch: clang_64 qt_modules: qtimageformats qtmultimedia qtwebsockets soc: Apple @@ -302,7 +302,7 @@ jobs: cmake_generator: Ninja make_package: 1 package_suffix: "-macOS15" - qt_version: 6.11.0 + qt_version: 6.11.* qt_arch: clang_64 qt_modules: qtimageformats qtmultimedia qtwebsockets soc: Apple @@ -316,7 +316,7 @@ jobs: ccache_eviction_age: 7d cmake_generator: Ninja - qt_version: 6.11.0 + qt_version: 6.11.* qt_arch: clang_64 qt_modules: qtimageformats qtmultimedia qtwebsockets soc: Apple @@ -332,7 +332,7 @@ jobs: cmake_generator_platform: x64 make_package: 1 package_suffix: "-Win10" - qt_version: 6.11.0 + qt_version: 6.11.* qt_arch: win64_msvc2022_64 qt_modules: qtimageformats qtmultimedia qtwebsockets type: Release @@ -373,47 +373,36 @@ jobs: path: ${{ env.CCACHE_DIR }} restore-keys: ccache-${{ matrix.runner }}-${{ matrix.soc }}-${{ matrix.type }}- - - name: "Install aqtinstall" - 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 - - name: "Resolve latest Qt patch version" - env: - QT_VERSION: ${{ matrix.qt_version }} - id: resolve_qt_version - 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: "[macOS] Restore thin Qt ${{ matrix.qt_version }} libraries" + # if: matrix.os == 'macOS' + # id: restore_qt + # uses: actions/cache/restore@v6 + # with: + # key: thin-qt-macos-${{ matrix.soc }}-${{ matrix.qt_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 - - name: "[macOS] Install fat Qt ${{ steps.resolve_qt_version.outputs.version }}" + - name: "[macOS] Install fat Qt ${{ matrix.qt_version }}" if: matrix.os == 'macOS' && steps.restore_qt.outputs.cache-hit != 'true' uses: jurplel/install-qt-action@v4 with: arch: ${{ matrix.qt_arch }} - cache: false + cache: true dir: ${{ github.workspace }} modules: ${{ matrix.qt_modules }} - version: ${{ steps.resolve_qt_version.outputs.version }} + version: ${{ matrix.qt_version }} - - name: "[macOS] Create thin Qt libraries" - if: matrix.os == 'macOS' && steps.restore_qt.outputs.cache-hit != 'true' - run: .ci/thin_macos_qtlib.sh + # - name: "[macOS] Create thin Qt libraries" + # if: matrix.os == 'macOS' && steps.restore_qt.outputs.cache-hit != 'true' + # run: .ci/thin_macos_qtlib.sh - - name: "[macOS] Cache thin Qt libraries" - if: matrix.os == 'macOS' && steps.restore_qt.outputs.cache-hit != 'true' - uses: actions/cache/save@v6 - with: - key: thin-qt-macos-${{ matrix.soc }}-${{ steps.resolve_qt_version.outputs.version }} - path: ${{ github.workspace }}/Qt + # - name: "[macOS] Cache thin Qt libraries" + # if: matrix.os == 'macOS' && steps.restore_qt.outputs.cache-hit != 'true' + # uses: actions/cache/save@v6 + # with: + # key: thin-qt-macos-${{ matrix.soc }}-${{ matrix.qt_version }} + # path: ${{ github.workspace }}/Qt - name: "[Windows] Install Qt ${{ matrix.qt_version }}" if: matrix.os == 'Windows' @@ -424,7 +413,7 @@ jobs: arch: ${{ matrix.qt_arch }} cache: true modules: ${{ matrix.qt_modules }} - version: ${{ steps.resolve_qt_version.outputs.version }} + version: ${{ matrix.qt_version }} - name: "[Windows] Install NSIS" if: matrix.os == 'Windows'