From ec52a3294ae653a507ead3680f6286ef8d16eafd Mon Sep 17 00:00:00 2001 From: sudlud Date: Wed, 22 Jul 2026 07:11:03 +0200 Subject: [PATCH] fix(CI): let dashboard PR runs inherit master's ccache again (#26721) Co-authored-by: Claude Opus 4.8 (1M context) --- .github/workflows/dashboard-ci.yml | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/.github/workflows/dashboard-ci.yml b/.github/workflows/dashboard-ci.yml index 7de0875b0..263ea07a6 100644 --- a/.github/workflows/dashboard-ci.yml +++ b/.github/workflows/dashboard-ci.yml @@ -145,8 +145,13 @@ jobs: # at its first-run contents. It is keyed on matrix.os rather than # runner.os because both legs report Linux and share a run_id, so only the # detected compiler would separate them. The first restore-key picks up - # the most recent cache for this leg on this ref; the rest keep runner.os - # because they are cross-workflow fallbacks to the linux-build action. + # the most recent cache for this leg on this ref; the second the most + # recent on any ref the run can reach, which is its own and the base + # branch, and is how a first run inherits master's. Both must use + # matrix.os to stay in the key's namespace. + # The runner.os entries below reach the linux-build action's caches, but + # only on the 24.04 leg: on 26.04 this workflow detects clang-21 while + # linux-build is passed clang-20, so nothing there lines up. - name: Restore ccache id: restore_ccache uses: actions/cache/restore@v4 @@ -155,6 +160,7 @@ jobs: key: ccache:${{ matrix.os }}:${{ steps.detect.outputs.cc_id }}_${{ steps.detect.outputs.cxx_id }}:${{ github.ref_name }}-${{ github.run_id }} restore-keys: | ccache:${{ matrix.os }}:${{ steps.detect.outputs.cc_id }}_${{ steps.detect.outputs.cxx_id }}:${{ github.ref_name }}- + ccache:${{ matrix.os }}:${{ steps.detect.outputs.cc_id }}_${{ steps.detect.outputs.cxx_id }}: ccache:${{ runner.os }}:${{ steps.detect.outputs.cc_id }}_${{ steps.detect.outputs.cxx_id }}:true:pch=false: ccache:${{ runner.os }}:${{ steps.detect.outputs.cc_id }}_${{ steps.detect.outputs.cxx_id }}:false:pch=false: ccache:${{ runner.os }}:${{ steps.detect.outputs.cc_id }}_${{ steps.detect.outputs.cxx_id }}:true:pch=true: