[unity] Updated changelog to last commit. See #1824. #439
This file contains hidden or 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: C++ Runtime Compatibility Test | |
| on: | |
| push: | |
| workflow_dispatch: | |
| jobs: | |
| test-cpp-java-compatibility: | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: [ubuntu-22.04, macos-latest] | |
| runs-on: ${{ matrix.os }} | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| submodules: recursive | |
| - name: Set up JDK 17 | |
| uses: actions/setup-java@v4 | |
| with: | |
| java-version: '17' | |
| distribution: 'temurin' | |
| - name: Set up Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: '18' | |
| - name: Install build dependencies (Ubuntu) | |
| if: matrix.os == 'ubuntu-latest' | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y build-essential cmake | |
| - name: Install build dependencies (macOS) | |
| if: matrix.os == 'macos-latest' | |
| run: | | |
| brew install cmake | |
| - name: Cache Gradle packages | |
| uses: actions/cache@v4 | |
| with: | |
| path: ~/.gradle/caches | |
| key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*') }} | |
| restore-keys: ${{ runner.os }}-gradle | |
| - name: Build spine-libgdx dependency | |
| working-directory: spine-libgdx | |
| run: ./gradlew build | |
| - name: Run C++ vs Java compatibility test | |
| working-directory: tests | |
| run: ./test.sh cpp -s spineboy -f | |
| - name: Show diff on failure | |
| if: failure() | |
| working-directory: tests | |
| run: | | |
| echo "=== Available output files ===" | |
| ls -la output/ || echo "No output directory" | |
| echo "" | |
| # Compare all JSON vs JSON pairs | |
| echo "=== DIFF: skeleton-data-java-json.json vs skeleton-data-cpp-json.json ===" | |
| if [ -f output/skeleton-data-java-json.json ] && [ -f output/skeleton-data-cpp-json.json ]; then | |
| diff -u output/skeleton-data-java-json.json output/skeleton-data-cpp-json.json || true | |
| else | |
| echo "Missing JSON skeleton-data files for comparison" | |
| fi | |
| echo "" | |
| echo "=== DIFF: skeleton-state-java-json.json vs skeleton-state-cpp-json.json ===" | |
| if [ -f output/skeleton-state-java-json.json ] && [ -f output/skeleton-state-cpp-json.json ]; then | |
| diff -u output/skeleton-state-java-json.json output/skeleton-state-cpp-json.json || true | |
| else | |
| echo "Missing JSON skeleton-state files for comparison" | |
| fi | |
| echo "" | |
| # Compare all SKEL vs SKEL pairs | |
| echo "=== DIFF: skeleton-data-java-skel.json vs skeleton-data-cpp-skel.json ===" | |
| if [ -f output/skeleton-data-java-skel.json ] && [ -f output/skeleton-data-cpp-skel.json ]; then | |
| diff -u output/skeleton-data-java-skel.json output/skeleton-data-cpp-skel.json || true | |
| else | |
| echo "Missing SKEL skeleton-data files for comparison" | |
| fi | |
| echo "" | |
| echo "=== DIFF: skeleton-state-java-skel.json vs skeleton-state-cpp-skel.json ===" | |
| if [ -f output/skeleton-state-java-skel.json ] && [ -f output/skeleton-state-cpp-skel.json ]; then | |
| diff -u output/skeleton-state-java-skel.json output/skeleton-state-cpp-skel.json || true | |
| else | |
| echo "Missing SKEL skeleton-state files for comparison" | |
| fi | |
| - name: Upload test artifacts on failure | |
| if: failure() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: test-output-files-${{ matrix.os }} | |
| path: tests/output/ | |
| retention-days: 7 |