59 lines
1.5 KiB
YAML
59 lines
1.5 KiB
YAML
name: Build and Package Tracy Profiler
|
||
|
||
on:
|
||
push:
|
||
branches: [ master ]
|
||
|
||
jobs:
|
||
build:
|
||
runs-on: ubuntu-20.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 # 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
|
||
cd build
|
||
cmake .. -DCMAKE_BUILD_TYPE=Release -G "Unix Makefiles"
|
||
|
||
- name: Build Tracy
|
||
run: |
|
||
cd tracy/build
|
||
make -j$(nproc)
|
||
|
||
- name: Package release
|
||
run: |
|
||
VERSION="${{ steps.version.outputs.version }}"
|
||
mkdir -p release
|
||
cp tracy/build/Tracy release/Tracy-${VERSION}
|
||
if [[ -f tracy/public/tracy.pdf ]]; then
|
||
cp tracy/public/tracy.pdf release/
|
||
fi
|
||
zip -r release/Tracy-${VERSION}.zip release/*
|
||
|
||
- name: Upload artifact
|
||
uses: actions/upload-artifact@v4
|
||
with:
|
||
name: tracy-package
|
||
path: release/Tracy-*.zip
|
||
retention-days: 30
|