name: Conformance Tests on: workflow_dispatch: pull_request: branches: [ main ] push: branches: [ main ] concurrency: group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} # Cancel only when the run is NOT on `main` branch cancel-in-progress: ${{ github.ref != 'refs/heads/main' }} jobs: run-conformance: runs-on: macos-latest name: Run Conformance Tests timeout-minutes: 20 env: JAVA_OPTS: "-Xmx8g -Dfile.encoding=UTF-8 -Djava.awt.headless=true -Dkotlin.daemon.jvm.options=-Xmx6g" steps: - uses: actions/checkout@v6 - name: Set up JDK 21 uses: actions/setup-java@v5 with: java-version: '21' distribution: 'temurin' - name: Setup Node.js uses: actions/setup-node@v6 with: node-version: '24.11.1' - name: Setup Gradle uses: gradle/actions/setup-gradle@v5 with: add-job-summary: 'always' cache-read-only: true - name: Run Conformance Tests run: ./gradlew --no-daemon :conformance-test:test - name: Upload Conformance Results if: ${{ !cancelled() }} uses: actions/upload-artifact@v5 with: name: conformance-results path: conformance-test/results/