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 libdbus-1-dev libx11-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 cmake -Sprofiler -Bbuild -DCMAKE_BUILD_TYPE=Release - name: Build Tracy run: | cmake --build build -- -j$(nproc) - name: Package release run: | VERSION="${{ steps.version.outputs.version }}" mkdir -p release cp tracy/build/tracy-profiler release/Tracy-${VERSION} 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