[Chore] (ci): cache native builds

This commit is contained in:
2026-06-20 12:15:34 +08:00
parent 44f9dcb3a2
commit b637962da0
4 changed files with 99 additions and 6 deletions
+40 -4
View File
@@ -13,6 +13,11 @@ jobs:
runs-on: ubuntu-latest
env:
BUILD_DIR: build-linux
CCACHE_BASEDIR: ${{ github.workspace }}
CCACHE_COMPILERCHECK: content
CCACHE_DIR: ${{ github.workspace }}/.ccache/build-linux
CCACHE_MAXSIZE: 2G
CCACHE_NOHASHDIR: true
steps:
- name: Set Swap Space
@@ -42,7 +47,15 @@ jobs:
- name: Install build dependencies
run: |
sudo apt-get update
sudo apt-get install -y clang-20 clang++-20 lld-20 libc++-20-dev libc++abi-20-dev libvulkan-dev libegl1-mesa-dev libgles2-mesa-dev libgl1-mesa-dri mesa-vulkan-drivers ninja-build
sudo apt-get install -y clang-20 clang++-20 lld-20 libc++-20-dev libc++abi-20-dev libvulkan-dev libegl1-mesa-dev libgles2-mesa-dev libgl1-mesa-dri mesa-vulkan-drivers ninja-build ccache
- name: Restore ccache
uses: actions/cache@v4
with:
path: .ccache/build-linux
key: ${{ runner.os }}-test-build-linux-ccache-${{ github.sha }}
restore-keys: |
${{ runner.os }}-test-build-linux-ccache-
- name: Show installed toolchain
run: |
@@ -62,6 +75,8 @@ jobs:
cmake -S . -B "${BUILD_DIR}" -G Ninja \
-DCMAKE_C_COMPILER=clang-20 \
-DCMAKE_CXX_COMPILER=clang++-20 \
-DCMAKE_C_COMPILER_LAUNCHER=ccache \
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
-DCMAKE_BUILD_TYPE="${BUILD_TYPE}" \
-DMOBILEGL_LOG_ACTIVE_LEVEL=MOBILEGL_LOG_LEVEL_INFO \
-DMOBILEGL_BUILD_TEST=ON \
@@ -72,7 +87,10 @@ jobs:
-DCMAKE_POLICY_VERSION_MINIMUM=3.5
- name: Build
run: cmake --build "${BUILD_DIR}" --parallel "$(nproc)"
run: |
ccache --zero-stats
cmake --build "${BUILD_DIR}" --parallel "$(nproc)"
ccache --show-stats
- name: Package Linux runtime
run: |
@@ -194,6 +212,11 @@ jobs:
env:
BUILD_DIR: build-retrace
MOBILEGL_LIBRARY: ${{ github.workspace }}/build-linux/libMobileGL.so
CCACHE_BASEDIR: ${{ github.workspace }}
CCACHE_COMPILERCHECK: content
CCACHE_DIR: ${{ github.workspace }}/.ccache/build-retrace
CCACHE_MAXSIZE: 2G
CCACHE_NOHASHDIR: true
steps:
- name: Set Swap Space
@@ -224,7 +247,15 @@ jobs:
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y clang-20 clang++-20 lld-20 libc++-20-dev libc++abi-20-dev libvulkan-dev libegl1-mesa-dev libgles2-mesa-dev libgl1-mesa-dri mesa-vulkan-drivers ninja-build
sudo apt-get install -y clang-20 clang++-20 lld-20 libc++-20-dev libc++abi-20-dev libvulkan-dev libegl1-mesa-dev libgles2-mesa-dev libgl1-mesa-dri mesa-vulkan-drivers ninja-build ccache
- name: Restore ccache
uses: actions/cache@v4
with:
path: .ccache/build-retrace
key: ${{ runner.os }}-test-build-retrace-ccache-${{ github.sha }}
restore-keys: |
${{ runner.os }}-test-build-retrace-ccache-
- name: Show installed toolchain
run: |
@@ -255,6 +286,8 @@ jobs:
cmake -S . -B "${BUILD_DIR}" -G Ninja \
-DCMAKE_C_COMPILER=clang-20 \
-DCMAKE_CXX_COMPILER=clang++-20 \
-DCMAKE_C_COMPILER_LAUNCHER=ccache \
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
-DCMAKE_BUILD_TYPE="${BUILD_TYPE}" \
-DMOBILEGL_LOG_ACTIVE_LEVEL=MOBILEGL_LOG_LEVEL_INFO \
-DMOBILEGL_BUILD_TEST=OFF \
@@ -264,7 +297,10 @@ jobs:
-DCMAKE_POLICY_VERSION_MINIMUM=3.5
- name: Build trace replay
run: cmake --build "${BUILD_DIR}" --target mobilegl_trace_replay --parallel "$(nproc)"
run: |
ccache --zero-stats
cmake --build "${BUILD_DIR}" --target mobilegl_trace_replay --parallel "$(nproc)"
ccache --show-stats
- name: Normalize CTest command paths
run: |