|
@@ -5,7 +5,8 @@ env:
|
|
|
RAGDOLL_HASH: '0xdf768b4736057c87'
|
|
|
PYRAMID_HASH: '0x2e2dda8c1f4eb906'
|
|
|
CHARACTER_VIRTUAL_HASH: '0x4ec98831ce0590ff'
|
|
|
- EMSCRIPTEN_VERSION: 3.1.73
|
|
|
+ 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
|
|
@@ -354,7 +355,7 @@ jobs:
|
|
|
|
|
|
emscripten:
|
|
|
runs-on: ubuntu-latest
|
|
|
- name: Emscripten Determinism Check
|
|
|
+ name: Emscripten WASM32 Determinism Check
|
|
|
|
|
|
steps:
|
|
|
- name: Checkout Code
|
|
@@ -365,10 +366,10 @@ jobs:
|
|
|
version: ${{env.EMSCRIPTEN_VERSION}}
|
|
|
- name: Verify emsdk
|
|
|
run: emcc -v
|
|
|
- - name: Setup Node.js 18.x
|
|
|
+ - name: Setup Node.js ${{env.NODE_VERSION}}
|
|
|
uses: actions/setup-node@v4
|
|
|
with:
|
|
|
- node-version: 18.x
|
|
|
+ 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
|
|
@@ -389,3 +390,41 @@ jobs:
|
|
|
- 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@v4
|
|
|
+ - 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@v4
|
|
|
+ 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}
|