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