diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml new file mode 100644 index 00000000..278db3f2 --- /dev/null +++ b/.github/workflows/benchmark.yml @@ -0,0 +1,46 @@ +name: Benchmark + +on: + push: + branches: [ dev ] + +jobs: + benchmark: + runs-on: ubuntu-latest + env: + BENCH_ROOT: ${{github.workspace}}/MobileGL/MG_Benchmark + + steps: + - name: Checkout repo + uses: actions/checkout@v4 + with: + submodules: true + + - name: Get CMake + uses: lukka/get-cmake@latest + + - name: Prepare Vulkan SDK + uses: humbletim/setup-vulkan-sdk@v1.2.1 + with: + vulkan-query-version: 1.4.304.1 + vulkan-components: Glslang, SPIRV-Cross, SPIRV-Tools, SPIRV-Reflect, SPIRV-Headers + vulkan-use-cache: true + + - name: Test Vulkan SDK Install + run: | + echo "Vulkan SDK Version=='$VULKAN_SDK_VERSION'" + echo "VULKAN_SDK=='$VULKAN_SDK'" + test -n "$VULKAN_SDK_VERSION" || exit 4 + ls $VULKAN_SDK/lib + + - name: Configure CMake + working-directory: ${{env.BENCH_ROOT}} + run: cmake -S . -B build-bench + + - name: Build + working-directory: ${{env.BENCH_ROOT}}/build-bench + run: cmake --build . -j${nproc} + + - name: Test + working-directory: ${{env.BENCH_ROOT}}/build-bench + run: ctest -V \ No newline at end of file diff --git a/MobileGL/MG_Benchmark/CMakeLists.txt b/MobileGL/MG_Benchmark/CMakeLists.txt index 7eb3e71e..8ffe3bb7 100644 --- a/MobileGL/MG_Benchmark/CMakeLists.txt +++ b/MobileGL/MG_Benchmark/CMakeLists.txt @@ -15,11 +15,13 @@ FetchContent_MakeAvailable(benchmark) set(MGL_ROOT ${CMAKE_CURRENT_LIST_DIR}/../..) -add_executable( - SanityBench +add_executable(SanityBench SanityBench.cpp ) -target_link_libraries( - SanityBench - benchmark::benchmark +target_link_libraries(SanityBench + PRIVATE benchmark::benchmark ) + +enable_testing() + +add_test(NAME SanityBench COMMAND SanityBench) \ No newline at end of file