GEODE-10445: Add distributed tests to pipeline (#7877)
Included wan, cq, lucene, assembly and management
DUnit test jobs as individual steps in the pipeline to
deal with 6hr max timeout.
diff --git a/.github/workflows/gradle.yml b/.github/workflows/gradle.yml
index fc48669..2a931cb 100644
--- a/.github/workflows/gradle.yml
+++ b/.github/workflows/gradle.yml
@@ -124,6 +124,7 @@
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} \
@@ -168,7 +169,8 @@
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 \
- --no-parallel \
+ --parallel \
+ -PparallelDunit \
--max-workers=12 \
-PcompileJVM=${JAVA_BUILD_PATH} \
-PcompileJVMVer=${JAVA_BUILD_VERSION} \
@@ -223,4 +225,220 @@
with:
name: acceptance-test-reports-${{ matrix.os }}-${{ matrix.java }}
path: build/reports
- retention-days: 5
\ No newline at end of file
+ retention-days: 5
+
+ wanDistributedTestCore:
+ 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: ${{ matrix.java }}
+ - name: Setup Gradle
+ uses: gradle/gradle-build-action@v2
+ - name: Run wan distributed tests
+ run: |
+ GRADLE_JVM_PATH=${JAVA_HOME_8_X64}
+ JAVA_BUILD_PATH=${JAVA_HOME_8_X64}
+ JAVA_BUILD_VERSION=8
+ JAVA_TEST_VERSION=8
+ 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=6 \
+ -PcompileJVM=${JAVA_BUILD_PATH} \
+ -PcompileJVMVer=${JAVA_BUILD_VERSION} \
+ -PtestJVM=${JAVA_TEST_PATH} \
+ -PtestJVMVer=${JAVA_TEST_VERSION} \
+ -PtestJava8Home=${JAVA_HOME_8_X64} \
+ geode-wan:distributedTest --console=plain --no-daemon
+ - uses: actions/upload-artifact@v3
+ if: failure()
+ with:
+ name: wan-distributed-test-reports-${{ matrix.os }}-${{ matrix.java }}
+ path: build/reports
+ retention-days: 5
+
+ cqDistributedTestCore:
+ 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: ${{ matrix.java }}
+ - name: Setup Gradle
+ uses: gradle/gradle-build-action@v2
+ - name: Run cq distributed tests
+ run: |
+ GRADLE_JVM_PATH=${JAVA_HOME_8_X64}
+ JAVA_BUILD_PATH=${JAVA_HOME_8_X64}
+ JAVA_BUILD_VERSION=8
+ JAVA_TEST_VERSION=8
+ 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=6 \
+ -PcompileJVM=${JAVA_BUILD_PATH} \
+ -PcompileJVMVer=${JAVA_BUILD_VERSION} \
+ -PtestJVM=${JAVA_TEST_PATH} \
+ -PtestJVMVer=${JAVA_TEST_VERSION} \
+ -PtestJava8Home=${JAVA_HOME_8_X64} \
+ geode-cq:distributedTest --console=plain --no-daemon
+ - uses: actions/upload-artifact@v3
+ if: failure()
+ with:
+ name: cq-distributed-test-reports-${{ matrix.os }}-${{ matrix.java }}
+ path: build/reports
+ retention-days: 5
+
+ luceneDistributedTestCore:
+ 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: ${{ matrix.java }}
+ - name: Setup Gradle
+ uses: gradle/gradle-build-action@v2
+ - name: Run lucene distributed tests
+ run: |
+ GRADLE_JVM_PATH=${JAVA_HOME_8_X64}
+ JAVA_BUILD_PATH=${JAVA_HOME_8_X64}
+ JAVA_BUILD_VERSION=8
+ JAVA_TEST_VERSION=8
+ 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=6 \
+ -PcompileJVM=${JAVA_BUILD_PATH} \
+ -PcompileJVMVer=${JAVA_BUILD_VERSION} \
+ -PtestJVM=${JAVA_TEST_PATH} \
+ -PtestJVMVer=${JAVA_TEST_VERSION} \
+ -PtestJava8Home=${JAVA_HOME_8_X64} \
+ geode-lucene:distributedTest --console=plain --no-daemon
+ - uses: actions/upload-artifact@v3
+ if: failure()
+ with:
+ name: lucene-distributed-test-reports-${{ matrix.os }}-${{ matrix.java }}
+ path: build/reports
+ retention-days: 5
+
+ mgmtDistributedTestCore:
+ 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: ${{ matrix.java }}
+ - name: Setup Gradle
+ uses: gradle/gradle-build-action@v2
+ - name: Run gfsh, web-mgmt, web distributed tests
+ run: |
+ GRADLE_JVM_PATH=${JAVA_HOME_8_X64}
+ JAVA_BUILD_PATH=${JAVA_HOME_8_X64}
+ JAVA_BUILD_VERSION=8
+ JAVA_TEST_VERSION=8
+ 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 \
+ --no-parallel \
+ --max-workers=6 \
+ -PcompileJVM=${JAVA_BUILD_PATH} \
+ -PcompileJVMVer=${JAVA_BUILD_VERSION} \
+ -PtestJVM=${JAVA_TEST_PATH} \
+ -PtestJVMVer=${JAVA_TEST_VERSION} \
+ -PtestJava8Home=${JAVA_HOME_8_X64} \
+ geode-gfsh:distributedTest \
+ geode-web:distributedTest \
+ geode-web-management:distributedTest --console=plain --no-daemon
+ - uses: actions/upload-artifact@v3
+ if: failure()
+ with:
+ name: mgmt-distributed-test-reports-${{ matrix.os }}-${{ matrix.java }}
+ path: build/reports
+ retention-days: 5
+
+
+ assemblyDistributedTestCore:
+ 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: ${{ matrix.java }}
+ - name: Setup Gradle
+ uses: gradle/gradle-build-action@v2
+ - name: Run assembly, connectors, old-client, extensions distributed tests
+ run: |
+ GRADLE_JVM_PATH=${JAVA_HOME_8_X64}
+ JAVA_BUILD_PATH=${JAVA_HOME_8_X64}
+ JAVA_BUILD_VERSION=8
+ JAVA_TEST_VERSION=8
+ 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 \
+ --no-parallel \
+ --max-workers=6 \
+ -PcompileJVM=${JAVA_BUILD_PATH} \
+ -PcompileJVMVer=${JAVA_BUILD_VERSION} \
+ -PtestJVM=${JAVA_TEST_PATH} \
+ -PtestJVMVer=${JAVA_TEST_VERSION} \
+ -PtestJava8Home=${JAVA_HOME_8_X64} \
+ geode-assembly:distributedTest \
+ geode-dunit:distributedTest \
+ geode-connectors:distributedTest \
+ geode-old-client:distributedTest \
+ extensions:geode-modules:distributedTest \
+ extensions:geode-modules-tomcat8:distributedTest --console=plain --no-daemon
+ - uses: actions/upload-artifact@v3
+ if: failure()
+ with:
+ name: assembly-distributed-test-reports-${{ matrix.os }}-${{ matrix.java }}
+ path: build/reports
+ retention-days: 5