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