From 341eeb5a42c5caabd0e0d2ff141bfa38c19aae09 Mon Sep 17 00:00:00 2001 From: Bruno Alexandre Rosa <1791393+brunoalr@users.noreply.github.com> Date: Thu, 6 Nov 2025 22:09:27 -0300 Subject: [PATCH] move job directly to steps --- .github/workflows/desktop-build.yml | 100 +++++++++------------------- 1 file changed, 33 insertions(+), 67 deletions(-) diff --git a/.github/workflows/desktop-build.yml b/.github/workflows/desktop-build.yml index 079ac951f..7757e0f5a 100644 --- a/.github/workflows/desktop-build.yml +++ b/.github/workflows/desktop-build.yml @@ -101,70 +101,6 @@ jobs: --target "$target" --title "$release_name" \ --notes-file "$body_path" - install-qt: - strategy: - fail-fast: false - matrix: - include: - - soc: Intel - os: macos-15-intel - - soc: Apple - os: macos-15 - - name: Install Qt for ${{ matrix.soc }} - runs-on: ${{ matrix.os }} - env: - QT_VERSION: 6.6.3 - QT_ARCH: clang_64 - QT_MODULES: "qtimageformats qtmultimedia qtwebsockets" - - steps: - - name: Force clean cache - if: false - env: - GH_TOKEN: ${{ github.token }} - GH_REPO: ${{ github.repository }} - BRANCH: refs/pull/${{ github.event.pull_request.number }}/merge - run: gh cache delete qt-macos-${{ matrix.soc }}-${{ env.QT_VERSION }} - - - name: Restore thin Qt libraries - id: restore_qt - uses: actions/cache/restore@v4 - with: - lookup-only: true - path: ${{ github.workspace }}/Qt - key: thin-qt-macos-${{ matrix.soc }}-${{ env.QT_VERSION }} - - # 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: Install Qt ${{env.QT_VERSION}} - if: steps.restore_qt.outputs.cache-hit != 'true' - uses: jurplel/install-qt-action@v4 - with: - cache: false # caching manually after thinning - version: ${{env.QT_VERSION}} - arch: ${{env.QT_ARCH}} - modules: ${{env.QT_MODULES}} - dir: ${{ github.workspace }} - - - name: Thin Qt libraries - if: steps.restore_qt.outputs.cache-hit != 'true' - run: | - export ARCH=$(uname -m) - export NPROC=$(sysctl -n hw.ncpu) - echo "::group::Thinning Qt libraries to $ARCH using $NPROC cores" - find ${{ github.workspace }}/Qt -type f -print0 | \ - xargs -0 -n1 -P "$NPROC" sh -c \ - 'file -b --mime-type "$0" | grep -q "application/x-mach-binary" && echo "Processing $0" && lipo "$0" -thin "$ARCH" -output "$0" || true' - echo "::endgroup::" - - - name: Cache thin Qt libraries - if: steps.restore_qt.outputs.cache-hit != 'true' - uses: actions/cache/save@v4 - with: - path: ${{ github.workspace }}/Qt - key: thin-qt-macos-${{ matrix.soc }}-${{ env.QT_VERSION }} - build-linux: strategy: fail-fast: false @@ -321,7 +257,7 @@ jobs: qt_version: 6.6.3 qt_arch: clang_64 qt_modules: qtimageformats qtmultimedia qtwebsockets - cache_qt: false # qt caches take too much space for macOS (1.1Gi) + cache_qt: false # caching manually after thinning cmake_generator: Ninja use_ccache: 1 @@ -398,7 +334,7 @@ jobs: cmake_generator_platform: x64 name: ${{matrix.os}} ${{matrix.target}}${{ matrix.soc == 'Intel' && ' Intel' || '' }}${{ matrix.type == 'Debug' && ' Debug' || '' }} - needs: [configure, install-qt] + needs: configure runs-on: ${{matrix.runner}} steps: @@ -433,7 +369,37 @@ jobs: path: ${{ github.workspace }}/Qt key: thin-qt-macos-${{ matrix.soc }}-${{ matrix.qt_version }} - - name: Install Qt ${{matrix.qt_version}} + # 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: Install Qt ${{matrix.qt_version}} (macOS) + if: matrix.os == 'macOS' && steps.restore_qt.outputs.cache-hit != 'true' + uses: jurplel/install-qt-action@v4 + with: + cache: ${{matrix.cache_qt}} + version: ${{matrix.qt_version}} + arch: ${{matrix.qt_arch}} + modules: ${{matrix.qt_modules}} + dir: ${{github.workspace}} + + - name: Thin Qt libraries + if: matrix.os == 'macOS' && steps.restore_qt.outputs.cache-hit != 'true' + run: | + export ARCH=$(uname -m) + export NPROC=$(sysctl -n hw.ncpu) + echo "::group::Thinning Qt libraries to $ARCH using $NPROC cores" + find ${{ github.workspace }}/Qt -type f -print0 | \ + xargs -0 -n1 -P "$NPROC" sh -c \ + 'file -b --mime-type "$0" | grep -q "application/x-mach-binary" && echo "Processing $0" && lipo "$0" -thin "$ARCH" -output "$0" || true' + echo "::endgroup::" + + - name: Cache thin Qt libraries + if: matrix.os == 'macOS' && steps.restore_qt.outputs.cache-hit != 'true' + uses: actions/cache/save@v4 + with: + path: ${{ github.workspace }}/Qt + key: thin-qt-macos-${{ matrix.soc }}-${{ matrix.qt_version }} + + - name: Install Qt ${{matrix.qt_version}} (Windows) if: matrix.os == 'Windows' uses: jurplel/install-qt-action@v4 with: