Skip to content

Commit

Permalink
feat: [skip e2e] effective way to use cache (#35598)
Browse files Browse the repository at this point in the history
issue: #34876

Signed-off-by: Yellow Shine <[email protected]>
  • Loading branch information
yellow-shine authored Aug 21, 2024
1 parent ed4eaff commit 2b6e6f4
Show file tree
Hide file tree
Showing 4 changed files with 75 additions and 31 deletions.
7 changes: 0 additions & 7 deletions .github/actions/cache-save/action.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,13 +12,6 @@ inputs:
runs:
using: "composite"
steps:
- 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: |
echo "corehash=${CORE_HASH}" >> $GITHUB_ENV
echo "Set CCache hash to ${CORE_HASH}"
shell: bash
- name: Cache CCache Volumes
if: ${{ inputs.kind == 'all' || inputs.kind == 'cpp' }}
uses: actions/cache/save@v4
Expand Down
30 changes: 30 additions & 0 deletions .github/actions/macos-cache-restore/action.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
name: 'Milvus Cache'
description: ''
runs:
using: "composite"
steps:
- 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: |
echo "corehash=${CORE_HASH}" >> $GITHUB_ENV
echo "Set CCache hash to ${CORE_HASH}"
shell: bash
- name: Mac Cache CCache Volumes
uses: actions/cache/restore@v4
with:
path: /var/tmp/ccache
key: macos-ccache-${{ env.corehash }}
restore-keys: macos-ccache-
- name: Mac Cache Go Mod Volumes
uses: actions/cache/restore@v4
with:
path: ~/go/pkg/mod
key: macos-go-mod-${{ hashFiles('**/go.sum') }}
restore-keys: macos-go-mod-
- name: Mac Cache Conan Packages
uses: actions/cache/restore@v4
with:
path: ~/.conan
key: macos-conan-${{ hashFiles('internal/core/conanfile.*') }}
restore-keys: macos-conan-
40 changes: 40 additions & 0 deletions .github/actions/macos-cache-save/action.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
name: 'Milvus Cache'
description: ''
inputs:
os:
description: 'OS name'
required: true
default: 'ubuntu20.04'
kind:
description: 'Cache kind'
required: false
default: 'all'
runs:
using: "composite"
steps:
- 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: |
echo "corehash=${CORE_HASH}" >> $GITHUB_ENV
echo "Set CCache hash to ${CORE_HASH}"
shell: bash
- name: Mac Cache CCache Volumes
uses: actions/cache/save@v4
with:
path: /var/tmp/ccache
key: macos-ccache-${{ env.corehash }}
restore-keys: macos-ccache-
- name: Mac Cache Go Mod Volumes
uses: actions/cache/save@v4
with:
path: ~/go/pkg/mod
key: macos-go-mod-${{ hashFiles('**/go.sum') }}
restore-keys: macos-go-mod-
- name: Mac Cache Conan Packages
uses: actions/cache/save@v4
with:
path: ~/.conan
key: macos-conan-${{ hashFiles('internal/core/conanfile.*') }}
restore-keys: macos-conan-

29 changes: 5 additions & 24 deletions .github/workflows/mac.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -38,18 +38,6 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@v2
- 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: |
echo "corehash=${CORE_HASH}" >> $GITHUB_ENV
echo "Set CCache hash to ${CORE_HASH}"
- name: Mac Cache CCache Volumes
uses: actions/cache@v3
with:
path: /var/tmp/ccache
key: macos-ccache-${{ env.corehash }}
restore-keys: macos-ccache-
- name: Setup Python environment
uses: actions/setup-python@v4
with:
Expand All @@ -58,18 +46,8 @@ jobs:
uses: actions/[email protected]
with:
go-version: '~1.21.11'
- name: Mac Cache Go Mod Volumes
uses: actions/cache@v3
with:
path: ~/go/pkg/mod
key: macos-go-mod-${{ hashFiles('**/go.sum') }}
restore-keys: macos-go-mod-
- name: Mac Cache Conan Packages
uses: actions/cache@v3
with:
path: ~/.conan
key: macos-conan-${{ hashFiles('internal/core/conanfile.*') }}
restore-keys: macos-conan-
- name: Download Caches
uses: ./.github/actions/macos-cache-restore
- name: Code Check
env:
CCACHE_DIR: /var/tmp/ccache
Expand All @@ -94,3 +72,6 @@ jobs:
with:
name: cmake-log
path: cmake_build/CMakeFiles/*.log
- name: Save Caches
uses: ./.github/actions/macos-cache-save
if: github.event_name != 'pull_request'

0 comments on commit 2b6e6f4

Please sign in to comment.