fix: manage ccache caches manually on macos

This commit is contained in:
Bruno Alexandre Rosa 2025-12-25 11:13:55 -03:00
parent 70f9982c29
commit de840e1573

View file

@ -342,6 +342,8 @@ jobs:
name: ${{matrix.os}} ${{matrix.target}}${{ matrix.soc == 'Intel' && ' Intel' || '' }}${{ matrix.type == 'Debug' && ' Debug' || '' }} name: ${{matrix.os}} ${{matrix.target}}${{ matrix.soc == 'Intel' && ' Intel' || '' }}${{ matrix.type == 'Debug' && ' Debug' || '' }}
needs: configure needs: configure
runs-on: ${{matrix.runner}} runs-on: ${{matrix.runner}}
env:
CACHE: ${{github.workspace}}/.cache/
steps: steps:
- name: Checkout - name: Checkout
@ -356,16 +358,16 @@ jobs:
with: with:
msbuild-architecture: x64 msbuild-architecture: x64
# Using jianmingyong/ccache-action to setup ccache without using brew - name: Restore compiler cache (ccache)
# It tries to download a binary of ccache from GitHub Release and falls back to building from source if it fails
- name: Setup ccache
if: matrix.use_ccache == 1 if: matrix.use_ccache == 1
uses: jianmingyong/ccache-action@v1 id: ccache_restore
uses: actions/cache/restore@v5
env:
BRANCH_NAME: ${{ github.head_ref || github.ref_name }}
with: with:
install-type: "binary" path: ${{env.CACHE}}
ccache-key-prefix: ccache-${{matrix.runner}}-${{matrix.soc}}-${{matrix.type}} key: ccache-${{matrix.runner}}-${{matrix.soc}}-${{matrix.type}}
max-size: 500M restore-keys: ccache-${{matrix.runner}}-${{matrix.soc}}-${{matrix.type}}
gh-token: ${{ secrets.GITHUB_TOKEN }}
- name: Install Qt ${{matrix.qt_version}} - name: Install Qt ${{matrix.qt_version}}
uses: jurplel/install-qt-action@v4 uses: jurplel/install-qt-action@v4
@ -403,6 +405,13 @@ jobs:
TARGET_MACOS_VERSION: ${{ matrix.override_target }} TARGET_MACOS_VERSION: ${{ matrix.override_target }}
run: .ci/compile.sh --server --test --vcpkg run: .ci/compile.sh --server --test --vcpkg
- name: Save compiler cache (ccache)
if: github.ref == 'refs/heads/master'
uses: actions/cache/save@v5
with:
path: ${{env.CACHE}}
key: ${{ steps.ccache_restore.outputs.cache-primary-key }}
- name: Sign app bundle - name: Sign app bundle
if: matrix.os == 'macOS' && matrix.make_package && (github.ref == 'refs/heads/master' || needs.configure.outputs.tag != null) if: matrix.os == 'macOS' && matrix.make_package && (github.ref == 'refs/heads/master' || needs.configure.outputs.tag != null)
env: env: