name: Reusable - Test latest deps on: workflow_call: inputs: cache-read-only: type: boolean required: false no-build-cache: type: boolean required: false secrets: GRADLE_ENTERPRISE_ACCESS_KEY: required: false permissions: contents: read jobs: test-latest-deps: name: testLatestDeps${{ matrix.test-partition }} runs-on: ubuntu-latest strategy: matrix: test-partition: - 0 - 1 - 2 - 3 fail-fast: false steps: - uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2 - name: Free disk space run: .github/scripts/gha-free-disk-space.sh - name: Set up JDK for running Gradle uses: actions/setup-java@99b8673ff64fbf99d8d325f52d9a5bdedb8483e9 # v4.2.1 with: distribution: temurin java-version: 17.0.6 - name: Increase gradle daemon heap size run: | sed -i "s/org.gradle.jvmargs=/org.gradle.jvmargs=-Xmx3g /" gradle.properties # vaadin tests use pnpm - name: Cache pnpm modules uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2 with: path: ~/.pnpm-store key: ${{ runner.os }}-test-latest-cache-pnpm-modules - name: Start deadlock detector run: .github/scripts/deadlock-detector.sh - name: List tests env: GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }} uses: gradle/actions/setup-gradle@e24011a3b5db78bd5ab798036042d9312002f252 # v3.2.0 with: arguments: > check -x spotlessCheck listTestsInPartition -PtestPartition=${{ matrix.test-partition }} -PtestLatestDeps=true cache-read-only: true - name: Set test tasks run: | echo "test-tasks=$(cat test-tasks.txt | xargs echo | sed 's/\n/ /g')" >> $GITHUB_ENV - name: Test uses: gradle/actions/setup-gradle@e24011a3b5db78bd5ab798036042d9312002f252 # v3.2.0 env: GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }} with: arguments: > ${{ env.test-tasks }} -PtestLatestDeps=true ${{ inputs.no-build-cache && ' --no-build-cache' || '' }} cache-read-only: ${{ inputs.cache-read-only }} # gradle enterprise is used for the build cache gradle-home-cache-excludes: caches/build-cache-1 - name: Upload deadlock detector artifacts if any if: failure() uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3 # v4.3.1 with: name: deadlock-detector-test-latest-${{ matrix.test-java-version }}-${{ matrix.vm }}-${{ matrix.test-partition }} path: /tmp/deadlock-detector-* if-no-files-found: ignore - name: Upload jvm crash dump files if any if: failure() uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3 # v4.3.1 with: name: javacore-test-latest-${{ matrix.test-java-version }}-${{ matrix.test-partition }} path: | **/hs_err_pid*.log **/javacore.*.txt **/Snap.*.trc **/core.*.dmp **/jitdump.*.dmp if-no-files-found: ignore