mirror of
https://github.com/MobileGL-Dev/MobileGL
synced 2026-09-09 20:58:31 +09:00
[Chore] (ci): cache native builds
This commit is contained in:
@@ -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: |
|
||||
|
||||
Reference in New Issue
Block a user