test: update macos github runner cache (#45778)

Signed-off-by: Zhikun Yao <zhikun.yao@zilliz.com>
This commit is contained in:
zhikunyao 2025-11-23 22:47:24 +08:00 committed by GitHub
parent 1427825133
commit 2134f83aa3
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 64 additions and 19 deletions

View File

@ -4,27 +4,51 @@ runs:
using: "composite" using: "composite"
steps: steps:
- name: 'Generate CCache Hash' - name: 'Generate CCache Hash'
env:
CORE_HASH: ${{ hashFiles( 'internal/core/**/*.cpp', 'internal/core/**/*.cc', 'internal/core/**/*.c', 'internal/core/**/*.h', 'internal/core/**/*.hpp', 'internal/core/**/CMakeLists.txt') }}
run: | run: |
CORE_HASH=""
if [ -d "internal/core" ]; then
# Find all matching files and calculate hash (macOS compatible)
FILES=$(find internal/core -type f \( -name "*.cpp" -o -name "*.cc" -o -name "*.c" -o -name "*.h" -o -name "*.hpp" -o -name "CMakeLists.txt" \) 2>/dev/null | sort)
if [ -n "$FILES" ]; then
CORE_HASH=$(echo "$FILES" | xargs cat 2>/dev/null | shasum -a 256 | cut -d' ' -f1)
fi
fi
echo "corehash=${CORE_HASH}" >> $GITHUB_ENV echo "corehash=${CORE_HASH}" >> $GITHUB_ENV
echo "Set CCache hash to ${CORE_HASH}" echo "Set CCache hash to ${CORE_HASH:-empty}"
shell: bash shell: bash
- name: Mac Cache CCache Volumes - name: Mac Cache CCache Volumes
uses: actions/cache/restore@v4 uses: actions/cache/restore@v4
with: with:
path: /var/tmp/ccache path: /var/tmp/ccache
key: macos-ccache-${{ env.corehash }} key: macos15-ccache-${{ env.corehash }}
restore-keys: macos-ccache- restore-keys: macos15-ccache-
- name: Mac Cache Go Mod Volumes - name: Mac Cache Go Mod Volumes
id: go-mod-cache
run: |
GO_MOD_HASH=""
if find . -name "go.sum" -type f | grep -q .; then
GO_MOD_HASH=$(find . -name "go.sum" -type f -exec cat {} \; 2>/dev/null | shasum -a 256 | cut -d' ' -f1)
fi
echo "hash=${GO_MOD_HASH}" >> $GITHUB_OUTPUT
shell: bash
- name: Restore Go Mod Cache
uses: actions/cache/restore@v4 uses: actions/cache/restore@v4
with: with:
path: ~/go/pkg/mod path: ~/go/pkg/mod
key: macos-go-mod-${{ hashFiles('**/go.sum') }} key: macos15-go-mod-${{ steps.go-mod-cache.outputs.hash }}
restore-keys: macos-go-mod- restore-keys: macos15-go-mod-
- name: Mac Cache Conan Packages - name: Mac Cache Conan Packages
id: conan-cache
run: |
CONAN_HASH=""
if find internal/core -name "conanfile.*" -type f 2>/dev/null | grep -q .; then
CONAN_HASH=$(find internal/core -name "conanfile.*" -type f -exec cat {} \; 2>/dev/null | shasum -a 256 | cut -d' ' -f1)
fi
echo "hash=${CONAN_HASH}" >> $GITHUB_OUTPUT
shell: bash
- name: Restore Conan Cache
uses: actions/cache/restore@v4 uses: actions/cache/restore@v4
with: with:
path: ~/.conan path: ~/.conan
key: macos-conan-${{ hashFiles('internal/core/conanfile.*') }} key: macos15-conan-${{ steps.conan-cache.outputs.hash }}
restore-keys: macos-conan- restore-keys: macos15-conan-

View File

@ -13,28 +13,49 @@ runs:
using: "composite" using: "composite"
steps: steps:
- name: Generate CCache Hash - name: Generate CCache Hash
env:
CORE_HASH: ${{ hashFiles( 'internal/core/**/*.cpp', 'internal/core/**/*.cc', 'internal/core/**/*.c', 'internal/core/**/*.h', 'internal/core/**/*.hpp', 'internal/core/**/CMakeLists.txt') }}
run: | run: |
CORE_HASH=""
if [ -d "internal/core" ]; then
# Find all matching files and calculate hash (macOS compatible)
FILES=$(find internal/core -type f \( -name "*.cpp" -o -name "*.cc" -o -name "*.c" -o -name "*.h" -o -name "*.hpp" -o -name "CMakeLists.txt" \) 2>/dev/null | sort)
if [ -n "$FILES" ]; then
CORE_HASH=$(echo "$FILES" | xargs cat 2>/dev/null | shasum -a 256 | cut -d' ' -f1)
fi
fi
echo "corehash=${CORE_HASH}" >> $GITHUB_ENV echo "corehash=${CORE_HASH}" >> $GITHUB_ENV
echo "Set CCache hash to ${CORE_HASH}" echo "Set CCache hash to ${CORE_HASH:-empty}"
shell: bash shell: bash
- name: Mac Cache CCache Volumes - name: Mac Cache CCache Volumes
uses: actions/cache/save@v4 uses: actions/cache/save@v4
with: with:
path: /var/tmp/ccache path: /var/tmp/ccache
key: macos-ccache-${{ env.corehash }} key: macos15-ccache-${{ env.corehash }}
restore-keys: macos-ccache- - name: Generate Go Mod Hash
id: go-mod-hash
run: |
GO_MOD_HASH=""
if find . -name "go.sum" -type f | grep -q .; then
GO_MOD_HASH=$(find . -name "go.sum" -type f -exec cat {} \; 2>/dev/null | shasum -a 256 | cut -d' ' -f1)
fi
echo "hash=${GO_MOD_HASH}" >> $GITHUB_OUTPUT
shell: bash
- name: Mac Cache Go Mod Volumes - name: Mac Cache Go Mod Volumes
uses: actions/cache/save@v4 uses: actions/cache/save@v4
with: with:
path: ~/go/pkg/mod path: ~/go/pkg/mod
key: macos-go-mod-${{ hashFiles('**/go.sum') }} key: macos15-go-mod-${{ steps.go-mod-hash.outputs.hash }}
restore-keys: macos-go-mod- - name: Generate Conan Hash
id: conan-hash
run: |
CONAN_HASH=""
if find internal/core -name "conanfile.*" -type f 2>/dev/null | grep -q .; then
CONAN_HASH=$(find internal/core -name "conanfile.*" -type f -exec cat {} \; 2>/dev/null | shasum -a 256 | cut -d' ' -f1)
fi
echo "hash=${CONAN_HASH}" >> $GITHUB_OUTPUT
shell: bash
- name: Mac Cache Conan Packages - name: Mac Cache Conan Packages
uses: actions/cache/save@v4 uses: actions/cache/save@v4
with: with:
path: ~/.conan path: ~/.conan
key: macos-conan-${{ hashFiles('internal/core/conanfile.*') }} key: macos15-conan-${{ steps.conan-hash.outputs.hash }}
restore-keys: macos-conan-

View File

@ -44,7 +44,7 @@ jobs:
mac: mac:
name: Code Checker MacOS name: Code Checker MacOS
runs-on: macos-15-intel runs-on: macos-15-intel
timeout-minutes: 360 timeout-minutes: 480
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v2 uses: actions/checkout@v2