60 lines
1.7 KiB
YAML
60 lines
1.7 KiB
YAML
name: Build and Package Tracy Profiler
|
||
|
||
on:
|
||
push:
|
||
branches: [ master ]
|
||
|
||
jobs:
|
||
build:
|
||
runs-on: ubuntu-22.04
|
||
|
||
steps:
|
||
- name: Clone Tracy repository
|
||
run: |
|
||
git clone --recursive https://github.com/wolfpld/tracy.git tracy
|
||
cd tracy
|
||
git checkout v0.12.2 # 或者指定 tag,如 v0.10
|
||
# 使用 shell 命令克隆,带 --recursive 拉取子模块(如 ImGui)
|
||
|
||
- name: Install dependencies
|
||
run: |
|
||
sudo apt-get update
|
||
sudo apt-get install -y cmake build-essential libglfw3-dev libfreetype6-dev libcapstone-dev libdbus-1-dev libx11-dev libxkbcommon-dev # Tracy 依赖
|
||
|
||
- name: Get Tracy version
|
||
id: version
|
||
run: |
|
||
cd tracy
|
||
VERSION="0.12.2"
|
||
echo "version=${VERSION}" >> $GITHUB_OUTPUT
|
||
|
||
- name: Configure CMake
|
||
run: |
|
||
cd tracy
|
||
mkdir -p build
|
||
export CC=clang
|
||
export CXX=clang++
|
||
cmake -Sprofiler -Bbuild-profiler -DCMAKE_BUILD_TYPE=Release -DLEGACY=ON
|
||
cmake -Scapture -Bbuild-capture -DCMAKE_BUILD_TYPE=Release -DLEGACY=ON
|
||
|
||
- name: Build Tracy
|
||
run: |
|
||
cd tracy
|
||
cmake --build build-prifler -- -j$(nproc)
|
||
cmake --build build-capture -- -j$(nproc)
|
||
|
||
- name: Package release
|
||
run: |
|
||
VERSION="${{ steps.version.outputs.version }}"
|
||
cp tracy/build-profiler/tracy-profiler tracy-profiler-${VERSION}
|
||
cp tracy/build-capture/tracy-capture tracy-capture-${VERSION}
|
||
|
||
- name: Upload artifact
|
||
uses: actions/upload-artifact@v3
|
||
with:
|
||
name: tracy-package
|
||
path: |
|
||
tracy-profiler-${VERSION}
|
||
tracy-capture-${VERSION}
|
||
retention-days: 30
|