| # |
| # Licensed to the Apache Software Foundation (ASF) under one or more |
| # contributor license agreements. See the NOTICE file distributed with |
| # this work for additional information regarding copyright ownership. |
| # The ASF licenses this file to You under the Apache License, Version 2.0 |
| # (the "License"); you may not use this file except in compliance with |
| # the License. You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| # |
| |
| name: develop |
| |
| on: |
| push: |
| branches: [ "develop" ] |
| pull_request: |
| branches: [ "develop" ] |
| |
| permissions: |
| contents: read |
| |
| 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 |
| |
| 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 |
| |
| 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 |
| |
| 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 |
| |
| acceptanceTest: |
| 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 acceptance 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 \ |
| -PcompileJVM=${JAVA_BUILD_PATH} \ |
| -PcompileJVMVer=${JAVA_BUILD_VERSION} \ |
| -PtestJVM=${JAVA_TEST_PATH} \ |
| -PtestJVMVer=${JAVA_TEST_VERSION} \ |
| -PtestJava8Home=${JAVA_HOME_8_X64} \ |
| acceptanceTest --console=plain --no-daemon |
| - uses: actions/upload-artifact@v3 |
| if: failure() |
| with: |
| name: acceptance-test-reports-${{ matrix.os }}-${{ matrix.java }} |
| path: build/reports |
| 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 |