name: Reusable - Test latest deps on: workflow_call: inputs: cache-read-only: type: boolean required: false no-build-cache: type: boolean required: false max-test-retries: type: string required: false permissions: contents: read jobs: test-indy: name: testIndy${{ matrix.test-partition }} runs-on: ubuntu-latest strategy: matrix: test-partition: - 0 - 1 - 2 - 3 fail-fast: false steps: - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - name: Free disk space run: .github/scripts/gha-free-disk-space.sh - name: Set up JDK for running Gradle uses: actions/setup-java@8df1039502a15bceb9433410b1a100fbe190c53b # v4.5.0 with: distribution: temurin java-version-file: .java-version - name: Increase gradle daemon heap size run: | sed -i "s/org.gradle.jvmargs=/org.gradle.jvmargs=-Xmx3g /" gradle.properties # vaadin 14 tests fail with node 18 - name: Set up Node uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0 with: node-version: 16 # vaadin tests use pnpm - name: Cache pnpm modules uses: actions/cache@1bd1e32a3bdc45362d1e726936510720a7c30a57 # v4.2.0 with: path: ~/.pnpm-store key: ${{ runner.os }}-test-latest-cache-pnpm-modules - name: Setup Gradle uses: gradle/actions/setup-gradle@cc4fc85e6b35bafd578d5ffbc76a5518407e1af0 # v4.2.1 with: cache-read-only: ${{ inputs.cache-read-only }} # gradle enterprise is used for the build cache gradle-home-cache-excludes: caches/build-cache-1 - name: List tests run: > ./gradlew check -x spotlessCheck listTestsInPartition -PtestPartition=${{ matrix.test-partition }} - name: Set test tasks run: | echo "test-tasks=$(cat test-tasks.txt | xargs echo | sed 's/\n/ /g')" >> $GITHUB_ENV - name: Test run: > ./gradlew ${{ env.test-tasks }} -PtestIndy=true ${{ inputs.no-build-cache && ' --no-build-cache' || '' }} ${{ inputs.max-test-retries && format(' -PmaxTestRetries={0}', inputs.max-test-retries) || '' }} - name: Build scan if: ${{ !cancelled() && hashFiles('build-scan.txt') != '' }} run: cat build-scan.txt