Merge pull request #941 from UnixY2K/patch-1 #549
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: linux | |
on: | |
push: | |
branches: [ master ] | |
pull_request: | |
branches: [ master ] | |
env: | |
CPM_SOURCE_CACHE: ${{ github.workspace }}/cpm-cache | |
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 |