Ajout de Jolt Physics + 1ere version des factory entitecomposants - camera, transform, rigidbody, collider, renderer

This commit is contained in:
Tom Ray
2026-03-22 00:28:03 +01:00
parent 6695d46bcd
commit 48348936a8
1147 changed files with 214331 additions and 353 deletions

View File

@@ -0,0 +1,9 @@
# Please see the documentation for all configuration options:
# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"

View File

@@ -0,0 +1,435 @@
name: Build
on:
push:
branches: [ master ]
paths-ignore:
- 'Docs/**'
- '**.md'
pull_request:
branches: [ master ]
paths-ignore:
- 'Docs/**'
- '**.md'
env:
EMSCRIPTEN_VERSION: 3.1.64
UBUNTU_CLANG_VERSION: clang++-18
UBUNTU_GCC_VERSION: g++-14
jobs:
linux-clang:
runs-on: ubuntu-latest
name: Linux Clang
strategy:
fail-fast: false
matrix:
build_type: [Debug, Release, Distribution]
double_precision: [No, Yes]
steps:
- name: Checkout Code
uses: actions/checkout@v6
- name: Install Vulkan
run: ${{github.workspace}}/Build/ubuntu24_install_vulkan_sdk.sh
- name: Configure CMake
working-directory: ${{github.workspace}}/Build
run: ./cmake_linux_clang_gcc.sh ${{matrix.build_type}} ${{env.UBUNTU_CLANG_VERSION}} -DDOUBLE_PRECISION=${{matrix.double_precision}}
- name: Build
run: cmake --build ${{github.workspace}}/Build/Linux_${{matrix.build_type}} -j $(nproc)
- name: Test
working-directory: ${{github.workspace}}/Build/Linux_${{matrix.build_type}}
run: ctest --output-on-failure --verbose
linux_clang_tsan:
runs-on: ubuntu-24.04
name: Linux Clang Sanitizers
strategy:
fail-fast: false
matrix:
build_type: [ReleaseASAN, ReleaseUBSAN, ReleaseTSAN]
steps:
- name: Checkout Code
uses: actions/checkout@v6
- name: Configure CMake
working-directory: ${{github.workspace}}/Build
run: ./cmake_linux_clang_gcc.sh ${{matrix.build_type}} ${{env.UBUNTU_CLANG_VERSION}} -DTARGET_VIEWER=OFF -DTARGET_SAMPLES=OFF -DTARGET_HELLO_WORLD=OFF -DTARGET_UNIT_TESTS=ON -DTARGET_PERFORMANCE_TEST=ON
- name: Build
run: cmake --build ${{github.workspace}}/Build/Linux_${{matrix.build_type}} -j $(nproc)
- name: Unit Tests
working-directory: ${{github.workspace}}/Build/Linux_${{matrix.build_type}}
run: ctest --output-on-failure --verbose
- name: Test ConvexVsMesh
working-directory: ${{github.workspace}}/Build/Linux_${{matrix.build_type}}
run: ./PerformanceTest -q=LinearCast -t=max -s=ConvexVsMesh
- name: Test Ragdoll
working-directory: ${{github.workspace}}/Build/Linux_${{matrix.build_type}}
run: ./PerformanceTest -q=LinearCast -t=max -s=Ragdoll
linux-clang-so:
runs-on: ubuntu-24.04
name: Linux Clang Shared Library
strategy:
fail-fast: false
matrix:
build_type: [Debug, Release, Distribution]
steps:
- name: Checkout Code
uses: actions/checkout@v6
- name: Configure CMake
working-directory: ${{github.workspace}}/Build
run: ./cmake_linux_clang_gcc.sh ${{matrix.build_type}} ${{env.UBUNTU_CLANG_VERSION}} -DBUILD_SHARED_LIBS=YES
- name: Build
run: cmake --build ${{github.workspace}}/Build/Linux_${{matrix.build_type}} -j $(nproc)
- name: Test
working-directory: ${{github.workspace}}/Build/Linux_${{matrix.build_type}}
run: ctest --output-on-failure --verbose
linux-clang-32-bit:
runs-on: ubuntu-24.04
name: Linux Clang 32-bit
strategy:
fail-fast: false
matrix:
build_type: [Debug, Release, Distribution]
steps:
- name: Checkout Code
uses: actions/checkout@v6
- name: Update APT
run: sudo apt update
- name: Install G++-Multilib
run: sudo apt -y install g++-multilib
- name: Configure CMake
working-directory: ${{github.workspace}}/Build
run: ./cmake_linux_clang_gcc.sh ${{matrix.build_type}} ${{env.UBUNTU_CLANG_VERSION}} -DCMAKE_CXX_FLAGS=-m32 -DUSE_SSE4_1=OFF -DUSE_SSE4_2=OFF -DUSE_AVX=OFF -DUSE_AVX2=OFF -DUSE_AVX512=OFF -DUSE_LZCNT=OFF -DUSE_TZCNT=OFF -DUSE_F16C=OFF -DUSE_FMADD=OFF
- name: Build
run: cmake --build ${{github.workspace}}/Build/Linux_${{matrix.build_type}} -j $(nproc)
- name: Test
working-directory: ${{github.workspace}}/Build/Linux_${{matrix.build_type}}
run: ctest --output-on-failure --verbose
linux-clang-use-std-vector:
runs-on: ubuntu-24.04
name: Linux Clang using std::vector
strategy:
fail-fast: false
matrix:
build_type: [Debug, ReleaseASAN]
double_precision: [Yes]
steps:
- name: Checkout Code
uses: actions/checkout@v6
- name: Configure CMake
working-directory: ${{github.workspace}}/Build
run: ./cmake_linux_clang_gcc.sh ${{matrix.build_type}} ${{env.UBUNTU_CLANG_VERSION}} -DDOUBLE_PRECISION=${{matrix.double_precision}} -DUSE_STD_VECTOR=ON
- name: Build
run: cmake --build ${{github.workspace}}/Build/Linux_${{matrix.build_type}} -j $(nproc)
- name: Test
working-directory: ${{github.workspace}}/Build/Linux_${{matrix.build_type}}
run: ctest --output-on-failure --verbose
linux-gcc:
runs-on: ubuntu-24.04
name: Linux GCC
strategy:
fail-fast: false
matrix:
build_type: [Debug, Release, Distribution]
steps:
- name: Checkout Code
uses: actions/checkout@v6
- name: Install Vulkan
run: ${{github.workspace}}/Build/ubuntu24_install_vulkan_sdk.sh
- name: Configure CMake
working-directory: ${{github.workspace}}/Build
run: ./cmake_linux_clang_gcc.sh ${{matrix.build_type}} ${{env.UBUNTU_GCC_VERSION}}
- name: Build
run: cmake --build ${{github.workspace}}/Build/Linux_${{matrix.build_type}} -j $(nproc)
- name: Test
working-directory: ${{github.workspace}}/Build/Linux_${{matrix.build_type}}
run: ctest --output-on-failure --verbose
linux-gcc-so:
runs-on: ubuntu-24.04
name: Linux GCC Shared Library
strategy:
fail-fast: false
matrix:
build_type: [Debug, Release, Distribution]
steps:
- name: Checkout Code
uses: actions/checkout@v6
- name: Configure CMake
working-directory: ${{github.workspace}}/Build
run: ./cmake_linux_clang_gcc.sh ${{matrix.build_type}} ${{env.UBUNTU_GCC_VERSION}} -DBUILD_SHARED_LIBS=Yes
- name: Build
run: cmake --build ${{github.workspace}}/Build/Linux_${{matrix.build_type}} -j $(nproc)
- name: Test
working-directory: ${{github.workspace}}/Build/Linux_${{matrix.build_type}}
run: ctest --output-on-failure --verbose
msys2_mingw_gcc:
runs-on: windows-latest
defaults:
run:
shell: msys2 {0}
name: MSYS2 MinGW GCC
strategy:
fail-fast: false
matrix:
build_type: [Debug, Release]
shared_lib: [No, Yes]
steps:
- name: Checkout Code
uses: actions/checkout@v6
- name: Setup MSYS2
uses: msys2/setup-msys2@v2
with:
msystem: mingw64
install: mingw-w64-x86_64-toolchain mingw-w64-x86_64-cmake
update: true
- name: Configure CMake
working-directory: ${{github.workspace}}/Build
run: ./cmake_linux_mingw.sh ${{matrix.build_type}} -DBUILD_SHARED_LIBS=${{matrix.shared_lib}}
- name: Build
run: cmake --build Build/MinGW_${{matrix.build_type}} -j $(nproc)
- name: Test
working-directory: Build/MinGW_${{matrix.build_type}}
run: ctest --output-on-failure --verbose
msvc_cl:
runs-on: windows-latest
name: Visual Studio CL
strategy:
fail-fast: false
matrix:
build_type: [Debug, Release, Distribution]
double_precision: [No, Yes]
steps:
- name: Checkout Code
uses: actions/checkout@v6
- name: Add msbuild to PATH
uses: microsoft/setup-msbuild@v2
- name: Configure CMake
run: cmake -B ${{github.workspace}}/Build/VS2022_CL -G "Visual Studio 17 2022" -A x64 Build -DDOUBLE_PRECISION=${{matrix.double_precision}}
- name: Build
run: msbuild Build\VS2022_CL\JoltPhysics.sln /property:Configuration=${{matrix.build_type}} -m
- name: Test
working-directory: ${{github.workspace}}/Build/VS2022_CL/${{matrix.build_type}}
run: ./UnitTests.exe
msvc_cl_no_object_stream:
runs-on: windows-latest
name: Visual Studio CL - No Object Stream
strategy:
fail-fast: false
matrix:
build_type: [Debug, Distribution]
steps:
- name: Checkout Code
uses: actions/checkout@v6
- name: Add msbuild to PATH
uses: microsoft/setup-msbuild@v2
- name: Configure CMake
run: cmake -B ${{github.workspace}}/Build/VS2022_CL -G "Visual Studio 17 2022" -A x64 Build -DENABLE_OBJECT_STREAM=NO
- name: Build
run: msbuild Build\VS2022_CL\JoltPhysics.sln /property:Configuration=${{matrix.build_type}} -m
- name: Test
working-directory: ${{github.workspace}}/Build/VS2022_CL/${{matrix.build_type}}
run: ./UnitTests.exe
msvc_cl_dll:
runs-on: windows-latest
name: Visual Studio CL Shared Library
strategy:
fail-fast: false
matrix:
build_type: [Debug, Release, Distribution]
steps:
- name: Checkout Code
uses: actions/checkout@v6
- name: Add msbuild to PATH
uses: microsoft/setup-msbuild@v2
- name: Configure CMake
run: cmake -B ${{github.workspace}}/Build/VS2022_CL -G "Visual Studio 17 2022" -A x64 Build -DBUILD_SHARED_LIBS=Yes
- name: Build
run: msbuild Build\VS2022_CL\JoltPhysics.sln /property:Configuration=${{matrix.build_type}} -m
- name: Test
working-directory: ${{github.workspace}}/Build/VS2022_CL/${{matrix.build_type}}
run: ./UnitTests.exe
msvc_cl_32_bit:
runs-on: windows-latest
name: Visual Studio CL 32-bit
strategy:
fail-fast: false
matrix:
build_type: [Debug, Release]
steps:
- name: Checkout Code
uses: actions/checkout@v6
- name: Add msbuild to PATH
uses: microsoft/setup-msbuild@v2
- name: Configure CMake
run: cmake -B ${{github.workspace}}/Build/VS2022_CL_32_BIT -G "Visual Studio 17 2022" -A Win32 -DUSE_SSE4_1=OFF -DUSE_SSE4_2=OFF -DUSE_AVX=OFF -DUSE_AVX2=OFF -DUSE_AVX512=OFF -DUSE_LZCNT=OFF -DUSE_TZCNT=OFF -DUSE_F16C=OFF -DUSE_FMADD=OFF Build
- name: Build
run: msbuild Build\VS2022_CL_32_BIT\JoltPhysics.sln /property:Configuration=${{matrix.build_type}} -m
- name: Test
working-directory: ${{github.workspace}}/Build/VS2022_CL_32_BIT/${{matrix.build_type}}
run: ./UnitTests.exe
msvc_cl_arm:
runs-on: windows-latest
name: Visual Studio CL ARM
strategy:
fail-fast: false
matrix:
build_type: [Debug, Release]
steps:
- name: Checkout Code
uses: actions/checkout@v6
- name: Add msbuild to PATH
uses: microsoft/setup-msbuild@v2
- name: Configure CMake
run: cmake -B ${{github.workspace}}/Build/VS2022_CL_ARM -G "Visual Studio 17 2022" -A ARM64 Build
- name: Build
run: msbuild Build\VS2022_CL_ARM\JoltPhysics.sln /property:Configuration=${{matrix.build_type}} -m
msvc_cl_arm_32_bit:
runs-on: windows-latest
name: Visual Studio CL ARM 32-bit
strategy:
fail-fast: false
matrix:
build_type: [Debug, Release]
steps:
- name: Checkout Code
uses: actions/checkout@v6
- name: Add msbuild to PATH
uses: microsoft/setup-msbuild@v2
- name: Install Windows 11 SDK (10.0.22621.0)
# Alternative: Start-Process -wait -FilePath "C:\Program Files (x86)\Microsoft Visual Studio\Installer\vs_installer.exe" -ArgumentList "modify", "--installPath", """C:\Program Files\Microsoft Visual Studio\2022\Enterprise""", "--quiet", "--norestart", "--nocache", "--add", "Microsoft.VisualStudio.Component.Windows11SDK.22621" -Verb RunAs
run: choco install windows-sdk-11-version-22H2-all -y
- name: Configure CMake
# Windows 11 SDK 10.0.22621.0 is the last SDK to support 32-bit ARM
run: cmake -B ${{github.workspace}}/Build/VS2022_CL_ARM_32_BIT -G "Visual Studio 17 2022" -A ARM -DCMAKE_SYSTEM_VERSION="10.0.22621.0" -DCMAKE_CXX_COMPILER_WORKS=1 Build
- name: Build
run: msbuild Build\VS2022_CL_ARM_32_BIT\JoltPhysics.sln /property:Configuration=${{matrix.build_type}} -m
msvc_clang:
runs-on: windows-latest
name: Visual Studio Clang
strategy:
fail-fast: false
matrix:
build_type: [Debug, Release, Distribution]
double_precision: [No, Yes]
steps:
- name: Checkout Code
uses: actions/checkout@v6
- name: Add msbuild to PATH
uses: microsoft/setup-msbuild@v2
- name: Configure CMake
run: cmake -B ${{github.workspace}}/Build/VS2022_Clang -G "Visual Studio 17 2022" -A x64 -T ClangCL Build -DDOUBLE_PRECISION=${{matrix.double_precision}}
- name: Build
run: msbuild Build\VS2022_Clang\JoltPhysics.sln /property:Configuration=${{matrix.build_type}} -m
- name: Test
working-directory: ${{github.workspace}}/Build/VS2022_Clang/${{matrix.build_type}}
run: ./UnitTests.exe
macos:
runs-on: macos-latest
name: macOS
env:
VULKAN_SDK_INSTALL: ${{github.workspace}}/vulkan_sdk
strategy:
fail-fast: false
matrix:
build_type: [Debug, Release, Distribution]
steps:
- name: Checkout Code
uses: actions/checkout@v6
- name: Install Vulkan
run: ${{github.workspace}}/Build/macos_install_vulkan_sdk.sh ${VULKAN_SDK_INSTALL}
- name: Configure CMake
run: |
source ${VULKAN_SDK_INSTALL}/setup-env.sh
cmake -B ${{github.workspace}}/Build/MacOS_${{matrix.build_type}} -DCMAKE_BUILD_TYPE=${{matrix.build_type}} -DCMAKE_CXX_COMPILER=clang++ Build
- name: Build
run: cmake --build ${{github.workspace}}/Build/MacOS_${{matrix.build_type}} -j $(nproc)
- name: Test
working-directory: ${{github.workspace}}/Build/MacOS_${{matrix.build_type}}
run: ctest --output-on-failure --verbose
android:
runs-on: ubuntu-latest
name: Android
strategy:
fail-fast: false
steps:
- name: Checkout Code
uses: actions/checkout@v6
- name: Setup Java
uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: '17'
- name: Gradle Build
working-directory: ${{github.workspace}}/Build/Android
run: ./gradlew build --no-daemon
ios:
runs-on: macos-latest
name: iOS
strategy:
fail-fast: false
steps:
- name: Checkout Code
uses: actions/checkout@v6
- name: Configure CMake
run: cmake -B ${{github.workspace}}/Build/XCode_iOS -DTARGET_HELLO_WORLD=OFF -DTARGET_PERFORMANCE_TEST=OFF -DCMAKE_SYSTEM_NAME=iOS -GXcode Build
- name: Build
run: cmake --build ${{github.workspace}}/Build/XCode_iOS -- -sdk iphonesimulator -arch x86_64
emscripten:
runs-on: ubuntu-latest
name: Emscripten
steps:
- name: Checkout Code
uses: actions/checkout@v6
- name: Setup emsdk
uses: mymindstorm/setup-emsdk@v14
with:
version: ${{env.EMSCRIPTEN_VERSION}}
- name: Verify emsdk
run: emcc -v
- name: Setup Node.js 18.x
uses: actions/setup-node@v6
with:
node-version: 18.x
- name: Configure CMake
working-directory: ${{github.workspace}}/Build
run: ./cmake_linux_emscripten.sh Distribution -DTARGET_HELLO_WORLD=OFF -DTARGET_PERFORMANCE_TEST=OFF
- name: Build
run: cmake --build ${{github.workspace}}/Build/WASM_Distribution -j $(nproc)
- name: Test
working-directory: ${{github.workspace}}/Build/WASM_Distribution
run: node UnitTests.js

View File

@@ -0,0 +1,430 @@
name: Determinism Check
env:
CONVEX_VS_MESH_HASH: '0xa7348cad585544bf'
RAGDOLL_HASH: '0xc392d8f867b0be5b'
PYRAMID_HASH: '0xafd93b295e75e3f6'
CHARACTER_VIRTUAL_HASH: '0x19c55223035a8f1a'
EMSCRIPTEN_VERSION: 4.0.2
NODE_VERSION: 23.x
UBUNTU_CLANG_VERSION: clang++-18
UBUNTU_GCC_VERSION: g++-14
UBUNTU_GCC_AARCH64_VERSION: aarch64-linux-gnu-g++-14
UBUNTU_GCC_RISCV_VERSION: riscv64-linux-gnu-g++-14
UBUNTU_GCC_POWERPC_VERSION: powerpc64le-linux-gnu-g++-14
UBUNTU_GCC_LOONGARCH_VERSION: loongarch64-linux-gnu-g++-14
on:
push:
branches: [ master ]
paths-ignore:
- 'Docs/**'
- '**.md'
pull_request:
branches: [ master ]
paths-ignore:
- 'Docs/**'
- '**.md'
jobs:
linux_clang:
runs-on: ubuntu-latest
name: Linux Clang Determinism Check
steps:
- name: Checkout Code
uses: actions/checkout@v6
- name: Configure CMake
working-directory: ${{github.workspace}}/Build
run: ./cmake_linux_clang_gcc.sh Distribution ${{env.UBUNTU_CLANG_VERSION}} -DCROSS_PLATFORM_DETERMINISTIC=ON -DTARGET_VIEWER=OFF -DTARGET_SAMPLES=OFF -DTARGET_HELLO_WORLD=OFF -DTARGET_UNIT_TESTS=ON -DTARGET_PERFORMANCE_TEST=ON
- name: Build
run: cmake --build ${{github.workspace}}/Build/Linux_Distribution -j $(nproc)
- name: Unit Tests
working-directory: ${{github.workspace}}/Build/Linux_Distribution
run: ctest --output-on-failure --verbose
- name: Test ConvexVsMesh
working-directory: ${{github.workspace}}/Build/Linux_Distribution
run: ./PerformanceTest -q=LinearCast -t=max -s=ConvexVsMesh -validate_hash=${CONVEX_VS_MESH_HASH}
- name: Test Ragdoll
working-directory: ${{github.workspace}}/Build/Linux_Distribution
run: ./PerformanceTest -q=LinearCast -t=max -s=Ragdoll -validate_hash=${RAGDOLL_HASH}
- name: Test Pyramid
working-directory: ${{github.workspace}}/Build/Linux_Distribution
run: ./PerformanceTest -q=LinearCast -t=max -s=Pyramid -validate_hash=${PYRAMID_HASH}
- name: Test CharacterVirtual
working-directory: ${{github.workspace}}/Build/Linux_Distribution
run: ./PerformanceTest -q=Discrete -t=max -s=CharacterVirtual -validate_hash=${CHARACTER_VIRTUAL_HASH}
linux_gcc:
runs-on: ubuntu-latest
name: Linux GCC Determinism Check
steps:
- name: Checkout Code
uses: actions/checkout@v6
- name: Configure CMake
working-directory: ${{github.workspace}}/Build
run: ./cmake_linux_clang_gcc.sh Distribution ${{env.UBUNTU_GCC_VERSION}} -DCROSS_PLATFORM_DETERMINISTIC=ON -DTARGET_VIEWER=OFF -DTARGET_SAMPLES=OFF -DTARGET_HELLO_WORLD=OFF -DTARGET_UNIT_TESTS=ON -DTARGET_PERFORMANCE_TEST=ON
- name: Build
run: cmake --build ${{github.workspace}}/Build/Linux_Distribution -j $(nproc)
- name: Unit Tests
working-directory: ${{github.workspace}}/Build/Linux_Distribution
run: ctest --output-on-failure --verbose
- name: Test ConvexVsMesh
working-directory: ${{github.workspace}}/Build/Linux_Distribution
run: ./PerformanceTest -q=LinearCast -t=max -s=ConvexVsMesh -validate_hash=${CONVEX_VS_MESH_HASH}
- name: Test Ragdoll
working-directory: ${{github.workspace}}/Build/Linux_Distribution
run: ./PerformanceTest -q=LinearCast -t=max -s=Ragdoll -validate_hash=${RAGDOLL_HASH}
- name: Test Pyramid
working-directory: ${{github.workspace}}/Build/Linux_Distribution
run: ./PerformanceTest -q=LinearCast -t=max -s=Pyramid -validate_hash=${PYRAMID_HASH}
- name: Test CharacterVirtual
working-directory: ${{github.workspace}}/Build/Linux_Distribution
run: ./PerformanceTest -q=Discrete -t=max -s=CharacterVirtual -validate_hash=${CHARACTER_VIRTUAL_HASH}
msvc_cl:
runs-on: windows-latest
name: Visual Studio CL Determinism Check
steps:
- name: Checkout Code
uses: actions/checkout@v6
- name: Add msbuild to PATH
uses: microsoft/setup-msbuild@v2
- name: Configure CMake
working-directory: ${{github.workspace}}/Build
run: ./cmake_vs2022_cl.bat -DCROSS_PLATFORM_DETERMINISTIC=ON -DTARGET_VIEWER=OFF -DTARGET_SAMPLES=OFF -DTARGET_HELLO_WORLD=OFF -DTARGET_UNIT_TESTS=ON -DTARGET_PERFORMANCE_TEST=ON
- name: Build
run: msbuild Build\VS2022_CL\JoltPhysics.sln /property:Configuration=Distribution
- name: Unit Tests
working-directory: ${{github.workspace}}/Build/VS2022_CL/Distribution
run: ./UnitTests.exe
- name: Test ConvexVsMesh
working-directory: ${{github.workspace}}/Build/VS2022_CL/Distribution
run: ./PerformanceTest -q=LinearCast -t=max -s=ConvexVsMesh "-validate_hash=$env:CONVEX_VS_MESH_HASH"
- name: Test Ragdoll
working-directory: ${{github.workspace}}/Build/VS2022_CL/Distribution
run: ./PerformanceTest -q=LinearCast -t=max -s=Ragdoll "-validate_hash=$env:RAGDOLL_HASH"
- name: Test Pyramid
working-directory: ${{github.workspace}}/Build/VS2022_CL/Distribution
run: ./PerformanceTest -q=LinearCast -t=max -s=Pyramid "-validate_hash=$env:PYRAMID_HASH"
- name: Test CharacterVirtual
working-directory: ${{github.workspace}}/Build/VS2022_CL/Distribution
run: ./PerformanceTest -q=Discrete -t=max -s=CharacterVirtual "-validate_hash=$env:CHARACTER_VIRTUAL_HASH"
msvc_cl_32:
runs-on: windows-latest
name: Visual Studio CL 32-bit Determinism Check
steps:
- name: Checkout Code
uses: actions/checkout@v6
- name: Add msbuild to PATH
uses: microsoft/setup-msbuild@v2
- name: Configure CMake
working-directory: ${{github.workspace}}/Build
run: ./cmake_vs2022_cl_32bit.bat -DCROSS_PLATFORM_DETERMINISTIC=ON -DTARGET_VIEWER=OFF -DTARGET_SAMPLES=OFF -DTARGET_HELLO_WORLD=OFF -DTARGET_UNIT_TESTS=ON -DTARGET_PERFORMANCE_TEST=ON
- name: Build
run: msbuild Build\VS2022_CL_32BIT\JoltPhysics.sln /property:Configuration=Distribution
- name: Unit Tests
working-directory: ${{github.workspace}}/Build/VS2022_CL_32BIT/Distribution
run: ./UnitTests.exe
- name: Test ConvexVsMesh
working-directory: ${{github.workspace}}/Build/VS2022_CL_32BIT/Distribution
run: ./PerformanceTest -q=LinearCast -t=max -s=ConvexVsMesh "-validate_hash=$env:CONVEX_VS_MESH_HASH"
- name: Test Ragdoll
working-directory: ${{github.workspace}}/Build/VS2022_CL_32BIT/Distribution
run: ./PerformanceTest -q=LinearCast -t=max -s=Ragdoll "-validate_hash=$env:RAGDOLL_HASH"
- name: Test Pyramid
working-directory: ${{github.workspace}}/Build/VS2022_CL_32BIT/Distribution
run: ./PerformanceTest -q=LinearCast -t=max -s=Pyramid "-validate_hash=$env:PYRAMID_HASH"
- name: Test CharacterVirtual
working-directory: ${{github.workspace}}/Build/VS2022_CL_32BIT/Distribution
run: ./PerformanceTest -q=Discrete -t=max -s=CharacterVirtual "-validate_hash=$env:CHARACTER_VIRTUAL_HASH"
macos:
runs-on: macos-latest
name: macOS Determinism Check
steps:
- name: Checkout Code
uses: actions/checkout@v6
- name: Configure CMake
working-directory: ${{github.workspace}}/Build
run: ./cmake_linux_clang_gcc.sh Distribution clang++ -DCROSS_PLATFORM_DETERMINISTIC=ON -DTARGET_VIEWER=OFF -DTARGET_SAMPLES=OFF -DTARGET_HELLO_WORLD=OFF -DTARGET_UNIT_TESTS=ON -DTARGET_PERFORMANCE_TEST=ON
- name: Build
run: cmake --build ${{github.workspace}}/Build/Linux_Distribution -j $(nproc)
- name: Unit Tests
working-directory: ${{github.workspace}}/Build/Linux_Distribution
run: ctest --output-on-failure --verbose
- name: Test ConvexVsMesh
working-directory: ${{github.workspace}}/Build/Linux_Distribution
run: ./PerformanceTest -q=LinearCast -t=max -s=ConvexVsMesh -validate_hash=${CONVEX_VS_MESH_HASH}
- name: Test Ragdoll
working-directory: ${{github.workspace}}/Build/Linux_Distribution
run: ./PerformanceTest -q=LinearCast -t=max -s=Ragdoll -validate_hash=${RAGDOLL_HASH}
- name: Test Pyramid
working-directory: ${{github.workspace}}/Build/Linux_Distribution
run: ./PerformanceTest -q=LinearCast -t=max -s=Pyramid -validate_hash=${PYRAMID_HASH}
- name: Test CharacterVirtual
working-directory: ${{github.workspace}}/Build/Linux_Distribution
run: ./PerformanceTest -q=Discrete -t=max -s=CharacterVirtual -validate_hash=${CHARACTER_VIRTUAL_HASH}
arm_clang:
runs-on: ubuntu-latest
name: ARM Clang Determinism Check
steps:
- name: Checkout Code
uses: actions/checkout@v6
- name: Update index
run: sudo apt-get update
- name: Install Cross Compiler
run: sudo apt-get install gcc-14-aarch64-linux-gnu gcc-14-multilib g++-14-multilib libstdc++-14-dev-arm64-cross qemu-user -y
- name: Configure CMake
working-directory: ${{github.workspace}}/Build
run: ./cmake_linux_clang_gcc.sh Distribution ${{env.UBUNTU_CLANG_VERSION}} -DCROSS_COMPILE_ARM=ON -DCROSS_PLATFORM_DETERMINISTIC=ON -DTARGET_VIEWER=OFF -DTARGET_SAMPLES=OFF -DTARGET_HELLO_WORLD=OFF -DTARGET_UNIT_TESTS=ON -DTARGET_PERFORMANCE_TEST=ON
- name: Build
run: cmake --build ${{github.workspace}}/Build/Linux_Distribution -j $(nproc)
- name: Unit Tests
working-directory: ${{github.workspace}}/Build/Linux_Distribution
run: qemu-aarch64 -L /usr/aarch64-linux-gnu/ ./UnitTests
- name: Test ConvexVsMesh
working-directory: ${{github.workspace}}/Build/Linux_Distribution
run: qemu-aarch64 -L /usr/aarch64-linux-gnu/ ./PerformanceTest -q=LinearCast -t=max -s=ConvexVsMesh -validate_hash=${CONVEX_VS_MESH_HASH}
- name: Test Ragdoll
working-directory: ${{github.workspace}}/Build/Linux_Distribution
run: qemu-aarch64 -L /usr/aarch64-linux-gnu/ ./PerformanceTest -q=LinearCast -t=max -s=Ragdoll -validate_hash=${RAGDOLL_HASH}
- name: Test Pyramid
working-directory: ${{github.workspace}}/Build/Linux_Distribution
run: qemu-aarch64 -L /usr/aarch64-linux-gnu/ ./PerformanceTest -q=LinearCast -t=max -s=Pyramid -validate_hash=${PYRAMID_HASH}
- name: Test CharacterVirtual
working-directory: ${{github.workspace}}/Build/Linux_Distribution
run: qemu-aarch64 -L /usr/aarch64-linux-gnu/ ./PerformanceTest -q=Discrete -t=max -s=CharacterVirtual -validate_hash=${CHARACTER_VIRTUAL_HASH}
arm_clang_32:
runs-on: ubuntu-latest
name: ARM Clang 32-bit Determinism Check
steps:
- name: Checkout Code
uses: actions/checkout@v6
- name: Update index
run: sudo apt-get update
- name: Install Cross Compiler
run: sudo apt-get install g++-14-arm-linux-gnueabihf qemu-user -y
- name: Configure CMake
working-directory: ${{github.workspace}}/Build
run: ./cmake_linux_clang_gcc.sh Distribution ${{env.UBUNTU_CLANG_VERSION}} -DCROSS_COMPILE_ARM=ON -DCROSS_COMPILE_ARM_TARGET="arm-linux-gnueabihf" -DCROSS_PLATFORM_DETERMINISTIC=ON -DTARGET_VIEWER=OFF -DTARGET_SAMPLES=OFF -DTARGET_HELLO_WORLD=OFF -DTARGET_UNIT_TESTS=ON -DTARGET_PERFORMANCE_TEST=ON
- name: Build
run: cmake --build ${{github.workspace}}/Build/Linux_Distribution -j $(nproc)
- name: Unit Tests
working-directory: ${{github.workspace}}/Build/Linux_Distribution
run: qemu-arm -L /usr/arm-linux-gnueabihf/ ./UnitTests
- name: Test ConvexVsMesh
working-directory: ${{github.workspace}}/Build/Linux_Distribution
run: qemu-arm -L /usr/arm-linux-gnueabihf/ ./PerformanceTest -q=LinearCast -t=max -s=ConvexVsMesh -validate_hash=${CONVEX_VS_MESH_HASH}
- name: Test Ragdoll
working-directory: ${{github.workspace}}/Build/Linux_Distribution
run: qemu-arm -L /usr/arm-linux-gnueabihf/ ./PerformanceTest -q=LinearCast -t=max -s=Ragdoll -validate_hash=${RAGDOLL_HASH}
- name: Test Pyramid
working-directory: ${{github.workspace}}/Build/Linux_Distribution
run: qemu-arm -L /usr/arm-linux-gnueabihf/ ./PerformanceTest -q=LinearCast -t=max -s=Pyramid -validate_hash=${PYRAMID_HASH}
- name: Test CharacterVirtual
working-directory: ${{github.workspace}}/Build/Linux_Distribution
run: qemu-arm -L /usr/arm-linux-gnueabihf/ ./PerformanceTest -q=Discrete -t=max -s=CharacterVirtual -validate_hash=${CHARACTER_VIRTUAL_HASH}
arm_gcc:
runs-on: ubuntu-latest
name: ARM GCC Determinism Check
steps:
- name: Checkout Code
uses: actions/checkout@v6
- name: Update index
run: sudo apt-get update
- name: Install Cross Compiler
run: sudo apt-get install g++-14-aarch64-linux-gnu gcc-14-multilib g++-14-multilib libstdc++-14-dev-arm64-cross qemu-user -y
- name: Configure CMake
working-directory: ${{github.workspace}}/Build
run: ./cmake_linux_clang_gcc.sh Distribution ${{env.UBUNTU_GCC_AARCH64_VERSION}} -DCROSS_COMPILE_ARM=ON -DCROSS_PLATFORM_DETERMINISTIC=ON -DTARGET_VIEWER=OFF -DTARGET_SAMPLES=OFF -DTARGET_HELLO_WORLD=OFF -DTARGET_UNIT_TESTS=ON -DTARGET_PERFORMANCE_TEST=ON
- name: Build
run: cmake --build ${{github.workspace}}/Build/Linux_Distribution -j $(nproc)
- name: Unit Tests
working-directory: ${{github.workspace}}/Build/Linux_Distribution
run: qemu-aarch64 -L /usr/aarch64-linux-gnu/ ./UnitTests
- name: Test ConvexVsMesh
working-directory: ${{github.workspace}}/Build/Linux_Distribution
run: qemu-aarch64 -L /usr/aarch64-linux-gnu/ ./PerformanceTest -q=LinearCast -t=max -s=ConvexVsMesh -validate_hash=${CONVEX_VS_MESH_HASH}
- name: Test Ragdoll
working-directory: ${{github.workspace}}/Build/Linux_Distribution
run: qemu-aarch64 -L /usr/aarch64-linux-gnu/ ./PerformanceTest -q=LinearCast -t=max -s=Ragdoll -validate_hash=${RAGDOLL_HASH}
- name: Test Pyramid
working-directory: ${{github.workspace}}/Build/Linux_Distribution
run: qemu-aarch64 -L /usr/aarch64-linux-gnu/ ./PerformanceTest -q=LinearCast -t=max -s=Pyramid -validate_hash=${PYRAMID_HASH}
- name: Test CharacterVirtual
working-directory: ${{github.workspace}}/Build/Linux_Distribution
run: qemu-aarch64 -L /usr/aarch64-linux-gnu/ ./PerformanceTest -q=Discrete -t=max -s=CharacterVirtual -validate_hash=${CHARACTER_VIRTUAL_HASH}
riscv_gcc:
runs-on: ubuntu-latest
name: RISC-V GCC Determinism Check
steps:
- name: Checkout Code
uses: actions/checkout@v6
- name: Update index
run: sudo apt-get update
- name: Install Cross Compiler
run: sudo apt-get install g++-14-riscv64-linux-gnu gcc-14-multilib g++-14-multilib qemu-user -y
- name: Configure CMake
working-directory: ${{github.workspace}}/Build
run: ./cmake_linux_clang_gcc.sh Distribution ${{env.UBUNTU_GCC_RISCV_VERSION}} -DCROSS_COMPILE_ARM=ON -DCROSS_PLATFORM_DETERMINISTIC=ON -DCROSS_COMPILE_ARM_TARGET="" -DTARGET_VIEWER=OFF -DTARGET_SAMPLES=OFF -DTARGET_HELLO_WORLD=OFF -DTARGET_UNIT_TESTS=ON -DTARGET_PERFORMANCE_TEST=ON
- name: Build
run: cmake --build ${{github.workspace}}/Build/Linux_Distribution -j $(nproc)
- name: Unit Tests
working-directory: ${{github.workspace}}/Build/Linux_Distribution
run: qemu-riscv64 -L /usr/riscv64-linux-gnu/ ./UnitTests
- name: Test ConvexVsMesh
working-directory: ${{github.workspace}}/Build/Linux_Distribution
run: qemu-riscv64 -L /usr/riscv64-linux-gnu/ ./PerformanceTest -q=LinearCast -t=max -s=ConvexVsMesh -validate_hash=${CONVEX_VS_MESH_HASH}
- name: Test Ragdoll
working-directory: ${{github.workspace}}/Build/Linux_Distribution
run: qemu-riscv64 -L /usr/riscv64-linux-gnu/ ./PerformanceTest -q=LinearCast -t=max -s=Ragdoll -validate_hash=${RAGDOLL_HASH}
- name: Test Pyramid
working-directory: ${{github.workspace}}/Build/Linux_Distribution
run: qemu-riscv64 -L /usr/riscv64-linux-gnu/ ./PerformanceTest -q=LinearCast -t=max -s=Pyramid -validate_hash=${PYRAMID_HASH}
- name: Test CharacterVirtual
working-directory: ${{github.workspace}}/Build/Linux_Distribution
run: qemu-riscv64 -L /usr/riscv64-linux-gnu/ ./PerformanceTest -q=Discrete -t=max -s=CharacterVirtual -validate_hash=${CHARACTER_VIRTUAL_HASH}
powerpcle_gcc:
runs-on: ubuntu-latest
name: PowerPC Little Endian GCC Determinism Check
steps:
- name: Checkout Code
uses: actions/checkout@v6
- name: Update index
run: sudo apt-get update
- name: Install Cross Compiler
run: sudo apt-get install g++-14-powerpc64le-linux-gnu gcc-14-multilib g++-14-multilib qemu-user -y
- name: Configure CMake
working-directory: ${{github.workspace}}/Build
run: ./cmake_linux_clang_gcc.sh Distribution ${{env.UBUNTU_GCC_POWERPC_VERSION}} -DCROSS_COMPILE_ARM=ON -DCROSS_PLATFORM_DETERMINISTIC=ON -DCROSS_COMPILE_ARM_TARGET="" -DTARGET_VIEWER=OFF -DTARGET_SAMPLES=OFF -DTARGET_HELLO_WORLD=OFF -DTARGET_UNIT_TESTS=ON -DTARGET_PERFORMANCE_TEST=ON
- name: Build
run: cmake --build ${{github.workspace}}/Build/Linux_Distribution -j $(nproc)
- name: Unit Tests
working-directory: ${{github.workspace}}/Build/Linux_Distribution
run: qemu-ppc64le -L /usr/powerpc64le-linux-gnu/ ./UnitTests
- name: Test ConvexVsMesh
working-directory: ${{github.workspace}}/Build/Linux_Distribution
run: qemu-ppc64le -L /usr/powerpc64le-linux-gnu/ ./PerformanceTest -q=LinearCast -t=max -s=ConvexVsMesh -validate_hash=${CONVEX_VS_MESH_HASH}
# This is really slow so disabled for the moment
# - name: Test Ragdoll
# working-directory: ${{github.workspace}}/Build/Linux_Distribution
# run: qemu-ppc64le -L /usr/powerpc64le-linux-gnu/ ./PerformanceTest -q=LinearCast -t=max -s=Ragdoll -validate_hash=${RAGDOLL_HASH}
# - name: Test Pyramid
# working-directory: ${{github.workspace}}/Build/Linux_Distribution
# run: qemu-ppc64le -L /usr/powerpc64le-linux-gnu/ ./PerformanceTest -q=LinearCast -t=max -s=Pyramid -validate_hash=${PYRAMID_HASH}
loongarch_gcc:
runs-on: ubuntu-latest
name: LoongArch GCC Determinism Check
steps:
- name: Checkout Code
uses: actions/checkout@v6
- name: Update index
run: sudo apt-get update
- name: Install Cross Compiler
run: sudo apt-get install g++-14-loongarch64-linux-gnu gcc-14-multilib g++-14-multilib qemu-user -y
- name: Configure CMake
working-directory: ${{github.workspace}}/Build
run: ./cmake_linux_clang_gcc.sh Distribution ${{env.UBUNTU_GCC_LOONGARCH_VERSION}} -DCROSS_COMPILE_ARM=ON -DCROSS_PLATFORM_DETERMINISTIC=ON -DCROSS_COMPILE_ARM_TARGET="" -DTARGET_VIEWER=OFF -DTARGET_SAMPLES=OFF -DTARGET_HELLO_WORLD=OFF -DTARGET_UNIT_TESTS=ON -DTARGET_PERFORMANCE_TEST=ON
- name: Build
run: cmake --build ${{github.workspace}}/Build/Linux_Distribution -j $(nproc)
- name: Unit Tests
working-directory: ${{github.workspace}}/Build/Linux_Distribution
run: qemu-loongarch64 -L /usr/loongarch64-linux-gnu/ ./UnitTests
- name: Test ConvexVsMesh
working-directory: ${{github.workspace}}/Build/Linux_Distribution
run: qemu-loongarch64 -L /usr/loongarch64-linux-gnu/ ./PerformanceTest -q=LinearCast -t=max -s=ConvexVsMesh -validate_hash=${CONVEX_VS_MESH_HASH}
- name: Test Ragdoll
working-directory: ${{github.workspace}}/Build/Linux_Distribution
run: qemu-loongarch64 -L /usr/loongarch64-linux-gnu/ ./PerformanceTest -q=LinearCast -t=max -s=Ragdoll -validate_hash=${RAGDOLL_HASH}
# This is slow so disabled for the moment
# - name: Test Pyramid
# working-directory: ${{github.workspace}}/Build/Linux_Distribution
# run: qemu-loongarch64 -L /usr/loongarch64-linux-gnu/ ./PerformanceTest -q=LinearCast -t=max -s=Pyramid -validate_hash=${PYRAMID_HASH}
emscripten:
runs-on: ubuntu-latest
name: Emscripten WASM32 Determinism Check
steps:
- name: Checkout Code
uses: actions/checkout@v6
- name: Setup emsdk
uses: mymindstorm/setup-emsdk@v14
with:
version: ${{env.EMSCRIPTEN_VERSION}}
- name: Verify emsdk
run: emcc -v
- name: Setup Node.js ${{env.NODE_VERSION}}
uses: actions/setup-node@v6
with:
node-version: ${{env.NODE_VERSION}}
- name: Configure CMake
working-directory: ${{github.workspace}}/Build
run: ./cmake_linux_emscripten.sh Distribution -DCROSS_PLATFORM_DETERMINISTIC=ON -DTARGET_VIEWER=OFF -DTARGET_SAMPLES=OFF -DTARGET_HELLO_WORLD=OFF -DTARGET_UNIT_TESTS=ON -DTARGET_PERFORMANCE_TEST=ON
- name: Build
run: cmake --build ${{github.workspace}}/Build/WASM_Distribution -j $(nproc)
- name: Unit Tests
working-directory: ${{github.workspace}}/Build/WASM_Distribution
run: node UnitTests.js
- name: Test ConvexVsMesh
working-directory: ${{github.workspace}}/Build/WASM_Distribution
run: node PerformanceTest.js -q=LinearCast -t=max -s=ConvexVsMesh -validate_hash=${CONVEX_VS_MESH_HASH}
- name: Test Ragdoll
working-directory: ${{github.workspace}}/Build/WASM_Distribution
run: node PerformanceTest.js -q=LinearCast -t=max -s=Ragdoll -validate_hash=${RAGDOLL_HASH}
- name: Test Pyramid
working-directory: ${{github.workspace}}/Build/WASM_Distribution
run: node PerformanceTest.js -q=LinearCast -t=max -s=Pyramid -validate_hash=${PYRAMID_HASH}
- name: Test CharacterVirtual
working-directory: ${{github.workspace}}/Build/WASM_Distribution
run: node PerformanceTest.js -q=Discrete -t=max -s=CharacterVirtual -validate_hash=${CHARACTER_VIRTUAL_HASH}
emscripten64:
runs-on: ubuntu-latest
name: Emscripten WASM64 Determinism Check
steps:
- name: Checkout Code
uses: actions/checkout@v6
- name: Setup emsdk
uses: mymindstorm/setup-emsdk@v14
with:
version: ${{env.EMSCRIPTEN_VERSION}}
- name: Verify emsdk
run: emcc -v
- name: Setup Node.js ${{env.NODE_VERSION}}
uses: actions/setup-node@v6
with:
node-version: ${{env.NODE_VERSION}}
- name: Configure CMake
working-directory: ${{github.workspace}}/Build
run: ./cmake_linux_emscripten.sh Distribution -DCROSS_PLATFORM_DETERMINISTIC=ON -DTARGET_VIEWER=OFF -DTARGET_SAMPLES=OFF -DTARGET_HELLO_WORLD=OFF -DTARGET_UNIT_TESTS=ON -DTARGET_PERFORMANCE_TEST=ON -DJPH_USE_WASM64=ON
- name: Build
run: cmake --build ${{github.workspace}}/Build/WASM_Distribution -j $(nproc)
- name: Unit Tests
working-directory: ${{github.workspace}}/Build/WASM_Distribution
run: node --experimental-wasm-memory64 UnitTests.js
- name: Test ConvexVsMesh
working-directory: ${{github.workspace}}/Build/WASM_Distribution
run: node --experimental-wasm-memory64 PerformanceTest.js -q=LinearCast -t=max -s=ConvexVsMesh -validate_hash=${CONVEX_VS_MESH_HASH}
- name: Test Ragdoll
working-directory: ${{github.workspace}}/Build/WASM_Distribution
run: node --experimental-wasm-memory64 PerformanceTest.js -q=LinearCast -t=max -s=Ragdoll -validate_hash=${RAGDOLL_HASH}
- name: Test Pyramid
working-directory: ${{github.workspace}}/Build/WASM_Distribution
run: node --experimental-wasm-memory64 PerformanceTest.js -q=LinearCast -t=max -s=Pyramid -validate_hash=${PYRAMID_HASH}
- name: Test CharacterVirtual
working-directory: ${{github.workspace}}/Build/WASM_Distribution
run: node --experimental-wasm-memory64 PerformanceTest.js -q=Discrete -t=max -s=CharacterVirtual -validate_hash=${CHARACTER_VIRTUAL_HASH}

View File

@@ -0,0 +1,26 @@
name: Doxygen Action
on:
push:
branches: [ master ]
# Builds and deploys doxygen documentation
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- name: Doxygen Action
uses: mattnotmitt/doxygen-action@v1.12.0
with:
doxyfile-path: "./Doxyfile"
working-directory: "."
- name: Deploy
uses: peaceiris/actions-gh-pages@v4
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./Build/Doxygen
force_orphan: true

View File

@@ -0,0 +1,58 @@
name: Sonar Cloud
on:
push:
branches: [ master ]
paths-ignore:
- 'Docs/**'
- '**.md'
pull_request:
branches: [ master ]
paths-ignore:
- 'Docs/**'
- '**.md'
jobs:
check-secret:
runs-on: ubuntu-latest
outputs:
sonar-token: ${{ steps.sonar-token.outputs.defined }}
steps:
- id: sonar-token
if: ${{ env.SONAR_TOKEN != '' }}
run: echo "defined=true" >> $GITHUB_OUTPUT
env:
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
build:
name: Build
needs: [check-secret]
if: needs.check-secret.outputs.sonar-token == 'true'
runs-on: ubuntu-latest
env:
BUILD_WRAPPER_OUT_DIR: build_wrapper_output_directory # Directory where build-wrapper output will be placed
CLANG_VERSION: 18
steps:
- uses: actions/checkout@v6
with:
fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis
- name: Install build-wrapper
uses: SonarSource/sonarqube-scan-action/install-build-wrapper@v7
- name: Configure CMake
working-directory: ${{github.workspace}}/Build
run: ./cmake_linux_clang_gcc.sh ReleaseCoverage clang++-${{ env.CLANG_VERSION }}
- name: Run build-wrapper
run: build-wrapper-linux-x86-64 --out-dir ${{ env.BUILD_WRAPPER_OUT_DIR }} cmake --build ${{github.workspace}}/Build/Linux_ReleaseCoverage -j $(nproc)
- name: Run unit tests and create coverage report
working-directory: ${{github.workspace}}/Build/Linux_ReleaseCoverage
run: |
cmake --build . --target test -j $(nproc)
llvm-profdata-${{ env.CLANG_VERSION }} merge -sparse default.profraw -o default.profdata
llvm-cov-${{ env.CLANG_VERSION }} show -format=text UnitTests -instr-profile=default.profdata > coverage.txt
- name: Run sonar-scanner
uses: SonarSource/sonarqube-scan-action@v7
env:
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
with:
args: >
--define sonar.cfamily.compile-commands=${{ env.BUILD_WRAPPER_OUT_DIR }}/compile_commands.json --define sonar.cfamily.llvm-cov.reportPath=${{github.workspace}}/Build/Linux_ReleaseCoverage/coverage.txt