mirror of
https://github.com/wolfpld/tracy.git
synced 2024-11-14 20:14:35 +00:00
1c1faeff2d
PPQSort is supposedly quite fast: https://github.com/GabTux/PPQSort More importantly, it does not depend on TBB fuckery, so there's no longer a need to link with an external library that people may or may not have. The NO_PARALLEL_STL option is out, as it was provided solely to deal with TBB being not available. Sequential sorting is still used on emscripten.
78 lines
2.8 KiB
YAML
78 lines
2.8 KiB
YAML
name: linux
|
|
|
|
on:
|
|
push:
|
|
branches: [ master ]
|
|
pull_request:
|
|
branches: [ master ]
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: ubuntu-latest
|
|
container: archlinux:base-devel
|
|
steps:
|
|
- name: Install dependencies
|
|
run: pacman -Syu --noconfirm && pacman -S --noconfirm --needed freetype2 debuginfod wayland dbus libxkbcommon libglvnd meson cmake git wayland-protocols nodejs
|
|
- name: Trust git repo
|
|
run: git config --global --add safe.directory '*'
|
|
- uses: actions/checkout@v4
|
|
- name: Profiler GUI
|
|
run: |
|
|
cmake -B profiler/build -S profiler -DCMAKE_BUILD_TYPE=Release -DGIT_REV=${{ github.sha }}
|
|
cmake --build profiler/build --parallel
|
|
- name: Update utility
|
|
run: |
|
|
cmake -B update/build -S update -DCMAKE_BUILD_TYPE=Release
|
|
cmake --build update/build --parallel
|
|
- name: Capture utility
|
|
run: |
|
|
cmake -B capture/build -S capture -DCMAKE_BUILD_TYPE=Release
|
|
cmake --build capture/build --parallel
|
|
- name: Csvexport utility
|
|
run: |
|
|
cmake -B csvexport/build -S csvexport -DCMAKE_BUILD_TYPE=Release
|
|
cmake --build csvexport/build --parallel
|
|
- name: Import utilities
|
|
run: |
|
|
cmake -B import/build -S import -DCMAKE_BUILD_TYPE=Release
|
|
cmake --build import/build --parallel
|
|
- name: Library
|
|
run: meson setup -Dprefix=$GITHUB_WORKSPACE/bin/lib build && meson compile -C build && meson install -C build
|
|
- name: Test application
|
|
run: |
|
|
# test compilation with different flags
|
|
# we clean the build folder to reset cached variables between runs
|
|
cmake -B test/build -S test -DCMAKE_BUILD_TYPE=Release
|
|
cmake --build test/build --parallel
|
|
rm -rf test/build
|
|
|
|
# same with TRACY_ON_DEMAND
|
|
cmake -B test/build -S test -DCMAKE_BUILD_TYPE=Release -DTRACY_ON_DEMAND=ON .
|
|
cmake --build test/build --parallel
|
|
rm -rf test/build
|
|
|
|
# same with TRACY_DELAYED_INIT TRACY_MANUAL_LIFETIME
|
|
cmake -B test/build -S test -DCMAKE_BUILD_TYPE=Release -DTRACY_DELAYED_INIT=ON -DTRACY_MANUAL_LIFETIME=ON .
|
|
cmake --build test/build --parallel
|
|
rm -rf test/build
|
|
|
|
# same with TRACY_DEMANGLE
|
|
cmake -B test/build -S test -DCMAKE_BUILD_TYPE=Release -DTRACY_DEMANGLE=ON .
|
|
cmake --build test/build --parallel
|
|
rm -rf test/build
|
|
- name: Find Artifacts
|
|
id: find_artifacts
|
|
run: |
|
|
mkdir -p bin
|
|
cp profiler/build/tracy-profiler bin
|
|
cp update/build/tracy-update bin
|
|
cp capture/build/tracy-capture bin
|
|
cp csvexport/build/tracy-csvexport bin
|
|
cp import/build/tracy-import-chrome bin
|
|
cp import/build/tracy-import-fuchsia bin
|
|
strip bin/tracy-*
|
|
- uses: actions/upload-artifact@v4
|
|
with:
|
|
name: arch-linux
|
|
path: bin
|