name: linux on: push: branches: [ master ] pull_request: branches: [ master ] jobs: build: runs-on: ubuntu-latest container: archlinux:base-devel steps: - uses: actions/checkout@v4 - name: Install dependencies run: pacman -Syu --noconfirm && pacman -S --noconfirm --needed freetype2 tbb debuginfod wayland dbus libxkbcommon libglvnd meson cmake git wayland-protocols - name: Profiler GUI run: | cmake -B profiler/build -S profiler -DCMAKE_BUILD_TYPE=Release 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-chrome utility run: | cmake -B import-chrome/build -S import-chrome -DCMAKE_BUILD_TYPE=Release cmake --build import-chrome/build --parallel - name: Import-fuchsia utility run: | cmake -B import-fuchsia/build -S import-fuchsia -DCMAKE_BUILD_TYPE=Release cmake --build import-fuchsia/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: | make -j`nproc` -C test make -j`nproc` -C test clean make -j`nproc` -C test TRACYFLAGS=-DTRACY_ON_DEMAND make -j`nproc` -C test clean make -j`nproc` -C test TRACYFLAGS="-DTRACY_DELAYED_INIT -DTRACY_MANUAL_LIFETIME" make -C test -B ../public/TracyClient.o DEFINES='-DTRACY_DEMANGLE' - 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-chrome/build/tracy-import-chrome bin cp import-fuchsia/build/tracy-import-fuchsia bin strip bin/tracy-* - uses: actions/upload-artifact@v4 with: name: arch-linux path: bin