diff --git a/.github/workflows/spine-cpp-compatibility.yml b/.github/workflows/spine-cpp-compatibility.yml new file mode 100644 index 000000000..1a48a1c80 --- /dev/null +++ b/.github/workflows/spine-cpp-compatibility.yml @@ -0,0 +1,48 @@ +name: C++ Runtime Compatibility Test + +on: + push: + workflow_dispatch: + +jobs: + test-cpp-java-compatibility: + runs-on: ubuntu-latest + 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 + run: | + sudo apt-get update + sudo apt-get install -y build-essential 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: Run C++ vs Java compatibility test + working-directory: tests + run: ./test.sh cpp -s spineboy -f + + - name: Upload test artifacts on failure + if: failure() + uses: actions/upload-artifact@v4 + with: + name: test-output-files + path: tests/output/ + retention-days: 7 \ No newline at end of file