diff --git a/.github/workflows/gradle.yml b/.github/workflows/gradle.yml index 2a931cbc8c2..753cc5e0d24 100644 --- a/.github/workflows/gradle.yml +++ b/.github/workflows/gradle.yml @@ -30,162 +30,195 @@ jobs: build: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 - - name: Set up JDK 8 - uses: actions/setup-java@v3 - with: - java-version: '8' - distribution: 'liberica' - - name: Run 'build install javadoc spotlessCheck rat checkPom resolveDependencies pmdMain' with Gradle - uses: gradle/gradle-build-action@v2 - with: - arguments: --console=plain --no-daemon build install javadoc spotlessCheck rat checkPom resolveDependencies pmdMain -x test + - uses: actions/checkout@v3 + - name: Set up JDK 8 + uses: actions/setup-java@v3 + with: + java-version: '8' + distribution: 'liberica' + - name: Run 'build install javadoc spotlessCheck rat checkPom resolveDependencies pmdMain' with Gradle + uses: gradle/gradle-build-action@v2 + with: + arguments: --console=plain --no-daemon build install javadoc spotlessCheck rat checkPom resolveDependencies pmdMain -x test apiCheck: - needs: build - strategy: - fail-fast: false - matrix: - os: [ubuntu-latest] - distribution: [ 'liberica' ] - java: ['11'] - runs-on: ${{ matrix.os }} - steps: - - uses: actions/checkout@v3 - - name: Set up JDK (include all 3 JDKs in the env) - uses: actions/setup-java@v3 - with: - distribution: ${{ matrix.distribution }} - java-version: | - 8 - 11 - 17 - - name: Set JAVA_TEST_PATH to 11 - run: | - echo "JAVA_TEST_PATH=${JAVA_HOME_11_X64}" >> $GITHUB_ENV - if: matrix.java == '11' - - name: Java API Check - run: | - GRADLE_JVM_PATH=${JAVA_HOME_8_X64} - JAVA_BUILD_PATH=${JAVA_HOME_8_X64} - JAVA_BUILD_VERSION=8 # Use jdk 8 for build - JAVA_TEST_VERSION=${{ matrix.java }} - cp gradlew gradlewStrict - sed -e 's/JAVA_HOME/GRADLE_JVM/g' -i.back gradlewStrict - GRADLE_JVM=${GRADLE_JVM_PATH} JAVA_TEST_PATH=${JAVA_TEST_PATH} ./gradlewStrict \ - -PcompileJVM=${JAVA_BUILD_PATH} \ - -PcompileJVMVer=${JAVA_BUILD_VERSION} \ - -PtestJVM=${JAVA_TEST_PATH} \ - -PtestJVMVer=${JAVA_TEST_VERSION} \ - -PtestJava8Home=${JAVA_HOME_8_X64} \ - -PtestJava11Home=${JAVA_HOME_11_X64} \ - -PtestJava17Home=${JAVA_HOME_17_X64} \ - japicmp --console=plain --no-daemon + needs: build + strategy: + fail-fast: false + matrix: + os: [ubuntu-latest] + distribution: [ 'liberica' ] + java: ['11'] + runs-on: ${{ matrix.os }} + steps: + - uses: actions/checkout@v3 + - name: Set up JDK (include all 3 JDKs in the env) + uses: actions/setup-java@v3 + with: + distribution: ${{ matrix.distribution }} + java-version: | + 8 + 11 + 17 + - name: Set JAVA_TEST_PATH to 11 + run: | + echo "JAVA_TEST_PATH=${JAVA_HOME_11_X64}" >> $GITHUB_ENV + if: matrix.java == '11' + - name: Java API Check + run: | + GRADLE_JVM_PATH=${JAVA_HOME_8_X64} + JAVA_BUILD_PATH=${JAVA_HOME_8_X64} + JAVA_BUILD_VERSION=8 # Use jdk 8 for build + JAVA_TEST_VERSION=${{ matrix.java }} + cp gradlew gradlewStrict + sed -e 's/JAVA_HOME/GRADLE_JVM/g' -i.back gradlewStrict + GRADLE_JVM=${GRADLE_JVM_PATH} JAVA_TEST_PATH=${JAVA_TEST_PATH} ./gradlewStrict \ + -PcompileJVM=${JAVA_BUILD_PATH} \ + -PcompileJVMVer=${JAVA_BUILD_VERSION} \ + -PtestJVM=${JAVA_TEST_PATH} \ + -PtestJVMVer=${JAVA_TEST_VERSION} \ + -PtestJava8Home=${JAVA_HOME_8_X64} \ + -PtestJava11Home=${JAVA_HOME_11_X64} \ + -PtestJava17Home=${JAVA_HOME_17_X64} \ + japicmp --console=plain --no-daemon unitTest: - needs: build - strategy: - fail-fast: false - matrix: - os: [ubuntu-latest] - distribution: ['liberica'] - java: ['8', '11', '17'] - runs-on: ${{ matrix.os }} - steps: - - uses: actions/checkout@v3 - - name: Set up JDK (include all 3 JDKs in env) - uses: actions/setup-java@v3 - with: - distribution: ${{ matrix.distribution }} - java-version: | - 8 - 11 - 17 - - name: Setup Gradle - uses: gradle/gradle-build-action@v2 - - name: Set JAVA_TEST_PATH to 8 - run: | - echo "JAVA_TEST_PATH=${JAVA_HOME_8_X64}" >> $GITHUB_ENV - if: matrix.java == '8' - - name: Set JAVA_TEST_PATH to 11 - run: | - echo "JAVA_TEST_PATH=${JAVA_HOME_11_X64}" >> $GITHUB_ENV - if: matrix.java == '11' - - name: Set JAVA_TEST_PATH to 17 - run: | - echo "JAVA_TEST_PATH=${JAVA_HOME_17_X64}" >> $GITHUB_ENV - if: matrix.java == '17' - - name: Run unit tests - run: | - GRADLE_JVM_PATH=${JAVA_HOME_8_X64} - JAVA_BUILD_PATH=${JAVA_HOME_8_X64} - JAVA_BUILD_VERSION=8 # Use jdk 8 for build - JAVA_TEST_VERSION=${{ matrix.java }} - cp gradlew gradlewStrict - sed -e 's/JAVA_HOME/GRADLE_JVM/g' -i.back gradlewStrict - GRADLE_JVM=${GRADLE_JVM_PATH} JAVA_TEST_PATH=${JAVA_TEST_PATH} ./gradlewStrict \ - --parallel \ - -PcompileJVM=${JAVA_BUILD_PATH} \ - -PcompileJVMVer=${JAVA_BUILD_VERSION} \ - -PtestJVM=${JAVA_TEST_PATH} \ - -PtestJVMVer=${JAVA_TEST_VERSION} \ - -PtestJava8Home=${JAVA_HOME_8_X64} \ - -PtestJava11Home=${JAVA_HOME_11_X64} \ - -PtestJava17Home=${JAVA_HOME_17_X64} \ - test --console=plain --no-daemon - - uses: actions/upload-artifact@v3 - if: failure() - with: - name: unit-test-reports-${{ matrix.os }}-${{ matrix.java }} - path: build/reports - retention-days: 5 + needs: build + strategy: + fail-fast: false + matrix: + os: [ubuntu-latest] + distribution: ['liberica'] + java: ['8', '11', '17'] + runs-on: ${{ matrix.os }} + steps: + - uses: actions/checkout@v3 + - name: Set up JDK (include all 3 JDKs in env) + uses: actions/setup-java@v3 + with: + distribution: ${{ matrix.distribution }} + java-version: | + 8 + 11 + 17 + - name: Setup Gradle + uses: gradle/gradle-build-action@v2 + - name: Set JAVA_TEST_PATH to 8 + run: | + echo "JAVA_TEST_PATH=${JAVA_HOME_8_X64}" >> $GITHUB_ENV + if: matrix.java == '8' + - name: Set JAVA_TEST_PATH to 11 + run: | + echo "JAVA_TEST_PATH=${JAVA_HOME_11_X64}" >> $GITHUB_ENV + if: matrix.java == '11' + - name: Set JAVA_TEST_PATH to 17 + run: | + echo "JAVA_TEST_PATH=${JAVA_HOME_17_X64}" >> $GITHUB_ENV + if: matrix.java == '17' + - name: Run unit tests + run: | + GRADLE_JVM_PATH=${JAVA_HOME_8_X64} + JAVA_BUILD_PATH=${JAVA_HOME_8_X64} + JAVA_BUILD_VERSION=8 # Use jdk 8 for build + JAVA_TEST_VERSION=${{ matrix.java }} + cp gradlew gradlewStrict + sed -e 's/JAVA_HOME/GRADLE_JVM/g' -i.back gradlewStrict + GRADLE_JVM=${GRADLE_JVM_PATH} JAVA_TEST_PATH=${JAVA_TEST_PATH} ./gradlewStrict \ + --parallel \ + -PcompileJVM=${JAVA_BUILD_PATH} \ + -PcompileJVMVer=${JAVA_BUILD_VERSION} \ + -PtestJVM=${JAVA_TEST_PATH} \ + -PtestJVMVer=${JAVA_TEST_VERSION} \ + -PtestJava8Home=${JAVA_HOME_8_X64} \ + -PtestJava11Home=${JAVA_HOME_11_X64} \ + -PtestJava17Home=${JAVA_HOME_17_X64} \ + test --console=plain --no-daemon + - uses: actions/upload-artifact@v3 + if: failure() + with: + name: unit-test-reports-${{ matrix.os }}-${{ matrix.java }} + path: build/reports + retention-days: 5 + + windowsUnitTest: + needs: build + strategy: + fail-fast: false + matrix: + os: [windows-latest] + distribution: ['liberica'] + java: ['8'] + runs-on: ${{ matrix.os }} + steps: + - uses: actions/checkout@v3 + - name: Set up JDK (include all 3 JDKs in env) + uses: actions/setup-java@v3 + with: + distribution: ${{ matrix.distribution }} + java-version: 8 + - name: Setup Gradle + uses: gradle/gradle-build-action@v2 + - name: Run unit tests + uses: gradle/gradle-build-action@v2 + with: + arguments: test --console=plain --no-daemon + - uses: actions/upload-artifact@v3 + if: failure() + with: + name: windows-unit-test-reports-${{ matrix.os }}-${{ matrix.java }} + path: build/reports + retention-days: 5 integrationTest: - needs: [apiCheck, unitTest] - strategy: - matrix: - os: [ubuntu-latest] - distribution: ['liberica'] - java: ['8'] - runs-on: ${{ matrix.os }} - steps: - - uses: actions/checkout@v3 - - name: Set up JDK - uses: actions/setup-java@v3 - with: - distribution: ${{ matrix.distribution }} - java-version: | - 8 - 11 - 17 - - name: Setup Gradle - uses: gradle/gradle-build-action@v2 - - name: Run integration tests - run: | - GRADLE_JVM_PATH=${JAVA_HOME_8_X64} - JAVA_BUILD_PATH=${JAVA_HOME_8_X64} - JAVA_BUILD_VERSION=8 - JAVA_TEST_VERSION=${{ matrix.java }} - cp gradlew gradlewStrict - sed -e 's/JAVA_HOME/GRADLE_JVM/g' -i.back gradlewStrict - GRADLE_JVM=${GRADLE_JVM_PATH} JAVA_TEST_PATH=${JAVA_TEST_PATH} ./gradlewStrict \ - --parallel \ - -PparallelDunit \ - --max-workers=12 \ - -PcompileJVM=${JAVA_BUILD_PATH} \ - -PcompileJVMVer=${JAVA_BUILD_VERSION} \ - -PtestJVM=${JAVA_TEST_PATH} \ - -PtestJVMVer=${JAVA_TEST_VERSION} \ - -PtestJava8Home=${JAVA_HOME_8_X64} \ - -PtestJava11Home=${JAVA_HOME_11_X64} \ - -PtestJava17Home=${JAVA_HOME_17_X64} \ - integrationTest --console=plain --no-daemon - - uses: actions/upload-artifact@v3 - if: failure() - with: - name: integration-test-reports-${{ matrix.os }}-${{ matrix.java }} - path: build/reports - retention-days: 5 + needs: [apiCheck, unitTest] + strategy: + matrix: + os: [ubuntu-latest] + distribution: ['liberica'] + java: ['8'] + runs-on: ${{ matrix.os }} + steps: + - uses: actions/checkout@v3 + - name: Set up JDK + uses: actions/setup-java@v3 + with: + distribution: ${{ matrix.distribution }} + java-version: | + 8 + 11 + 17 + - name: Setup Gradle + uses: gradle/gradle-build-action@v2 + - name: Set JAVA_TEST_PATH to 8 + run: | + echo "JAVA_TEST_PATH=${JAVA_HOME_8_X64}" >> $GITHUB_ENV + if: matrix.java == '8' + - name: Run integration tests + run: | + GRADLE_JVM_PATH=${JAVA_HOME_8_X64} + JAVA_BUILD_PATH=${JAVA_HOME_8_X64} + JAVA_BUILD_VERSION=8 + JAVA_TEST_VERSION=${{ matrix.java }} + cp gradlew gradlewStrict + sed -e 's/JAVA_HOME/GRADLE_JVM/g' -i.back gradlewStrict + GRADLE_JVM=${GRADLE_JVM_PATH} JAVA_TEST_PATH=${JAVA_TEST_PATH} ./gradlewStrict \ + --parallel \ + -PparallelDunit \ + --max-workers=12 \ + -PcompileJVM=${JAVA_BUILD_PATH} \ + -PcompileJVMVer=${JAVA_BUILD_VERSION} \ + -PtestJVM=${JAVA_TEST_PATH} \ + -PtestJVMVer=${JAVA_TEST_VERSION} \ + -PtestJava8Home=${JAVA_HOME_8_X64} \ + -PtestJava11Home=${JAVA_HOME_11_X64} \ + -PtestJava17Home=${JAVA_HOME_17_X64} \ + integrationTest --console=plain --no-daemon + - uses: actions/upload-artifact@v3 + if: failure() + with: + name: integration-test-reports-${{ matrix.os }}-${{ matrix.java }} + path: build/reports + retention-days: 5 acceptanceTest: needs: [apiCheck, unitTest] @@ -204,6 +237,10 @@ jobs: java-version: ${{ matrix.java }} - name: Setup Gradle uses: gradle/gradle-build-action@v2 + - name: Set JAVA_TEST_PATH to 8 + run: | + echo "JAVA_TEST_PATH=${JAVA_HOME_8_X64}" >> $GITHUB_ENV + if: matrix.java == '8' - name: Run acceptance tests run: | GRADLE_JVM_PATH=${JAVA_HOME_8_X64} @@ -244,6 +281,10 @@ jobs: java-version: ${{ matrix.java }} - name: Setup Gradle uses: gradle/gradle-build-action@v2 + - name: Set JAVA_TEST_PATH to 8 + run: | + echo "JAVA_TEST_PATH=${JAVA_HOME_8_X64}" >> $GITHUB_ENV + if: matrix.java == '8' - name: Run wan distributed tests run: | GRADLE_JVM_PATH=${JAVA_HOME_8_X64} @@ -286,6 +327,10 @@ jobs: java-version: ${{ matrix.java }} - name: Setup Gradle uses: gradle/gradle-build-action@v2 + - name: Set JAVA_TEST_PATH to 8 + run: | + echo "JAVA_TEST_PATH=${JAVA_HOME_8_X64}" >> $GITHUB_ENV + if: matrix.java == '8' - name: Run cq distributed tests run: | GRADLE_JVM_PATH=${JAVA_HOME_8_X64} @@ -328,6 +373,10 @@ jobs: java-version: ${{ matrix.java }} - name: Setup Gradle uses: gradle/gradle-build-action@v2 + - name: Set JAVA_TEST_PATH to 8 + run: | + echo "JAVA_TEST_PATH=${JAVA_HOME_8_X64}" >> $GITHUB_ENV + if: matrix.java == '8' - name: Run lucene distributed tests run: | GRADLE_JVM_PATH=${JAVA_HOME_8_X64} @@ -370,6 +419,10 @@ jobs: java-version: ${{ matrix.java }} - name: Setup Gradle uses: gradle/gradle-build-action@v2 + - name: Set JAVA_TEST_PATH to 8 + run: | + echo "JAVA_TEST_PATH=${JAVA_HOME_8_X64}" >> $GITHUB_ENV + if: matrix.java == '8' - name: Run gfsh, web-mgmt, web distributed tests run: | GRADLE_JVM_PATH=${JAVA_HOME_8_X64} @@ -414,6 +467,10 @@ jobs: java-version: ${{ matrix.java }} - name: Setup Gradle uses: gradle/gradle-build-action@v2 + - name: Set JAVA_TEST_PATH to 8 + run: | + echo "JAVA_TEST_PATH=${JAVA_HOME_8_X64}" >> $GITHUB_ENV + if: matrix.java == '8' - name: Run assembly, connectors, old-client, extensions distributed tests run: | GRADLE_JVM_PATH=${JAVA_HOME_8_X64} @@ -441,4 +498,4 @@ jobs: with: name: assembly-distributed-test-reports-${{ matrix.os }}-${{ matrix.java }} path: build/reports - retention-days: 5 + retention-days: 5 \ No newline at end of file