This is an automated email from the ASF dual-hosted git repository.

albumenj pushed a commit to branch 3.2
in repository https://gitbox.apache.org/repos/asf/dubbo.git

commit fa485deb47560e61e794124c42a415dc73edcecb
Author: Albumen Kevin <[email protected]>
AuthorDate: Sat Oct 22 15:52:35 2022 +0800

    Fix conflit
---
 .github/workflows/build-and-test-pr.yml            | 273 ++++++++++++++++
 .github/workflows/build-and-test-scheduled-3.0.yml | 269 ++++++++++++++++
 .github/workflows/build-and-test-scheduled-3.2.yml | 344 +++++++++++++++++++++
 3 files changed, 886 insertions(+)

diff --git a/.github/workflows/build-and-test-pr.yml 
b/.github/workflows/build-and-test-pr.yml
new file mode 100644
index 0000000000..a1673482de
--- /dev/null
+++ b/.github/workflows/build-and-test-pr.yml
@@ -0,0 +1,273 @@
+name: Build and Test For PR
+
+on: [push, pull_request, workflow_dispatch]
+
+permissions:
+  contents: read
+
+env:
+  FORK_COUNT: 2
+  FAIL_FAST: 0
+  SHOW_ERROR_DETAIL: 1
+  #multi-version size limit
+  VERSIONS_LIMIT: 4
+  CANDIDATE_VERSIONS: '
+    spring.version:4.3.30.RELEASE;
+    spring-boot.version:1.5.22.RELEASE;
+    spring-boot.version:2.4.1;
+    '
+
+jobs:
+  license:
+    runs-on: ubuntu-20.04
+    steps:
+      - uses: actions/checkout@v2
+      - name: Check License
+        uses: apache/skywalking-eyes@main
+        env:
+          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+  build-source:
+    runs-on: ubuntu-20.04
+    outputs:
+      version: ${{ steps.dubbo-version.outputs.version }}
+    steps:
+      - uses: actions/checkout@v2
+        with:
+          path: dubbo
+      - uses: actions/setup-java@v1
+        with:
+          java-version: 8
+      - uses: actions/cache@v2
+        name: "Cache local Maven repository"
+        with:
+          path: ~/.m2/repository
+          key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}-${{ 
github.run_id }}
+          restore-keys: |
+            ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
+            ${{ runner.os }}-maven-
+      - name: "Dubbo cache"
+        uses: actions/cache@v2
+        with:
+          path: ~/.m2/repository/org/apache/dubbo
+          key: ${{ runner.os }}-dubbo-snapshot-${{ github.sha }}-${{ 
github.run_id }}
+      - name: "Build Dubbo with Maven"
+        run: |
+          cd ./dubbo
+          ./mvnw --batch-mode --no-snapshot-updates -e --no-transfer-progress 
--fail-fast clean source:jar install -Pjacoco,rat,checkstyle 
-Dmaven.wagon.httpconnectionManager.ttlSeconds=120 
-Dmaven.wagon.http.retryHandler.count=5 -Dmaven.test.skip=true 
-Dmaven.test.skip.exec=true -DembeddedZookeeperPath=${{ github.workspace 
}}/.tmp/zookeeper
+      - name: "Pack rat file if failure"
+        if: failure()
+        run: 7z a ${{ github.workspace }}/rat.zip *rat.txt -r
+      - name: "Upload rat file if failure"
+        if: failure()
+        uses: actions/upload-artifact@v2
+        with:
+          name: "rat-file"
+          path: ${{ github.workspace }}/rat.zip
+      - name: "Pack checkstyle file if failure"
+        if: failure()
+        run: 7z a ${{ github.workspace }}/checkstyle.zip *checkstyle* -r
+      - name: "Upload checkstyle file if failure"
+        if: failure()
+        uses: actions/upload-artifact@v2
+        with:
+          name: "checkstyle-file"
+          path: ${{ github.workspace }}/checkstyle.zip
+      - name: "Calculate Dubbo Version"
+        id: dubbo-version
+        run: |
+          REVISION=`awk 
'/<revision>[^<]+<\/revision>/{gsub(/<revision>|<\/revision>/,"",$1);print 
$1;exit;}' ./dubbo/pom.xml`
+          echo "::set-output name=version::$REVISION"
+          echo "dubbo version: $REVISION"
+
+  unit-test-prepare:
+    name: "Preparation for Unit Test"
+    runs-on: ubuntu-20.04
+    strategy:
+      fail-fast: false
+    env:
+      ZOOKEEPER_VERSION: 3.6.3
+    steps:
+      - uses: actions/cache@v2
+        name: "Cache zookeeper binary archive"
+        id: "cache-zookeeper"
+        with:
+          path: ${{ github.workspace }}/.tmp/zookeeper
+          key: zookeeper-${{ runner.os }}-${{ env.ZOOKEEPER_VERSION }}
+          restore-keys: |
+            zookeeper-${{ runner.os }}-${{ env.ZOOKEEPER_VERSION }}
+      - name: "Set up msys2 if necessary"
+        if: ${{ startsWith( matrix.os, 'windows') && 
steps.cache-zookeeper.outputs.cache-hit != 'true' }}
+        uses: msys2/setup-msys2@v2
+        with:
+          release: false  # support cache, see 
https://github.com/msys2/setup-msys2#context
+      - name: "Download zookeeper binary archive in Linux OS"
+        run: |
+          mkdir -p ${{ github.workspace }}/.tmp/zookeeper
+          wget -c https://archive.apache.org/dist/zookeeper/zookeeper-${{ 
env.ZOOKEEPER_VERSION }}/apache-zookeeper-${{ env.ZOOKEEPER_VERSION 
}}-bin.tar.gz -O ${{ github.workspace 
}}/.tmp/zookeeper/apache-zookeeper-bin.tar.gz ||
+          wget -c https://apache.website-solution.net/zookeeper/zookeeper-${{ 
env.ZOOKEEPER_VERSION }}/apache-zookeeper-${{ env.ZOOKEEPER_VERSION 
}}-bin.tar.gz -O ${{ github.workspace 
}}/.tmp/zookeeper/apache-zookeeper-bin.tar.gz ||
+          wget -c http://apache.stu.edu.tw/zookeeper/zookeeper-${{ 
env.ZOOKEEPER_VERSION }}/apache-zookeeper-${{ env.ZOOKEEPER_VERSION 
}}-bin.tar.gz -O ${{ github.workspace 
}}/.tmp/zookeeper/apache-zookeeper-bin.tar.gz ||
+          wget -c http://ftp.jaist.ac.jp/pub/apache/zookeeper/zookeeper-${{ 
env.ZOOKEEPER_VERSION }}/apache-zookeeper-${{ env.ZOOKEEPER_VERSION 
}}-bin.tar.gz -O ${{ github.workspace 
}}/.tmp/zookeeper/apache-zookeeper-bin.tar.gz ||
+          wget -c http://apache.mirror.cdnetworks.com/zookeeper/zookeeper-${{ 
env.ZOOKEEPER_VERSION }}/apache-zookeeper-${{ env.ZOOKEEPER_VERSION 
}}-bin.tar.gz -O ${{ github.workspace 
}}/.tmp/zookeeper/apache-zookeeper-bin.tar.gz ||
+          wget -c http://mirror.apache-kr.org/apache/zookeeper/zookeeper-${{ 
env.ZOOKEEPER_VERSION }}/apache-zookeeper-${{ env.ZOOKEEPER_VERSION 
}}-bin.tar.gz -O ${{ github.workspace 
}}/.tmp/zookeeper/apache-zookeeper-bin.tar.gz
+          echo "list the downloaded zookeeper binary archive"
+          ls -al ${{ github.workspace 
}}/.tmp/zookeeper/apache-zookeeper-bin.tar.gz
+
+  unit-test:
+    needs: [build-source, unit-test-prepare]
+    name: "Unit Test On ubuntu-20.04"
+    runs-on: ubuntu-20.04
+    strategy:
+      fail-fast: false
+    env:
+      DISABLE_FILE_SYSTEM_TEST: true
+      CURRENT_ROLE: ${{ matrix.case-role }}
+    steps:
+      - uses: actions/checkout@v2
+      - name: "Set up JDK ${{ matrix.jdk }}"
+        uses: actions/setup-java@v1
+        with:
+          java-version: 17
+      - uses: actions/cache@v2
+        name: "Cache local Maven repository"
+        with:
+          path: ~/.m2/repository
+          key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}-${{ 
github.run_id }}
+          restore-keys: |
+            ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
+            ${{ runner.os }}-maven-
+      - name: "Test with Maven with Integration Tests"
+        timeout-minutes: 70
+        run: ./mvnw --batch-mode --no-snapshot-updates -e 
--no-transfer-progress --fail-fast clean test verify -Pjacoco 
-Dmaven.wagon.httpconnectionManager.ttlSeconds=120 
-Dmaven.wagon.http.retryHandler.count=5 -DskipTests=false 
-DskipIntegrationTests=false -Dcheckstyle.skip=false 
-Dcheckstyle_unix.skip=false -Drat.skip=false -Dmaven.javadoc.skip=true 
-DembeddedZookeeperPath=${{ github.workspace }}/.tmp/zookeeper
+      - name: "Upload coverage to Codecov"
+        uses: codecov/codecov-action@v1
+
+  integration-test-prepare:
+    runs-on: ubuntu-20.04
+    env:
+      JOB_COUNT: 3
+    steps:
+      - uses: actions/checkout@v2
+        with:
+          repository: 'apache/dubbo-samples'
+          ref: master
+      - name: "Prepare test list"
+        run: |
+          bash ./test/scripts/prepare-test.sh
+      - name: "Upload test list"
+        uses: actions/upload-artifact@v2
+        with:
+          name: test-list
+          path: test/jobs
+
+  integration-test-job:
+    needs: [build-source, integration-test-prepare]
+    name: "Integration Test on ubuntu-20.04 (JobId: ${{matrix.job_id}})"
+    runs-on: ubuntu-20.04
+    timeout-minutes: 30
+    env:
+      JAVA_VER: 8
+      TEST_CASE_FILE: jobs/testjob_${{matrix.job_id}}.txt
+    strategy:
+      fail-fast: false
+      matrix:
+        job_id: [1, 2, 3]
+    steps:
+      - uses: actions/checkout@v2
+        with:
+          repository: 'apache/dubbo-samples'
+          ref: master
+      - name: "Cache local Maven repository"
+        uses: actions/cache@v2
+        with:
+          path: ~/.m2/repository
+          key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}-${{ 
github.run_id }}
+          restore-keys: |
+            ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
+            ${{ runner.os }}-maven-
+      - name: "Restore Dubbo cache"
+        uses: actions/cache@v2
+        with:
+          path: ~/.m2/repository/org/apache/dubbo
+          key: ${{ runner.os }}-dubbo-snapshot-${{ github.sha }}-${{ 
github.run_id }}
+          restore-keys: |
+            ${{ runner.os }}-dubbo-snapshot-${{ github.sha }}
+            ${{ runner.os }}-dubbo-snapshot-
+      - name: "Download test list"
+        uses: actions/download-artifact@v2
+        with:
+          name: test-list
+          path: test/jobs/
+      - name: "Set up JDK 8"
+        uses: actions/setup-java@v1
+        with:
+          java-version: 8
+      - name: "Init Candidate Versions"
+        run: |
+          DUBBO_VERSION="${{needs.build-source.outputs.version}}"
+          
CANDIDATE_VERSIONS="dubbo.version:$DUBBO_VERSION;compiler.version:$DUBBO_VERSION;$CANDIDATE_VERSIONS;dubbo.compiler.version:$DUBBO_VERSION"
+          echo "CANDIDATE_VERSIONS=$CANDIDATE_VERSIONS" >> $GITHUB_ENV
+      - name: "Build test image"
+        run: |
+          cd test && bash ./build-test-image.sh
+      - name: "Run tests"
+        run: cd test && bash ./run-tests.sh
+      - name: "Upload test result"
+        if: always()
+        uses: actions/upload-artifact@v2
+        with:
+          name: test-result
+          path: test/jobs/*-result*
+
+  integration-test-result:
+    needs: [integration-test-job]
+    if: always()
+    runs-on: ubuntu-20.04
+    env:
+      JAVA_VER: 8
+    steps:
+      - uses: actions/checkout@v2
+        with:
+          repository: 'apache/dubbo-samples'
+          ref: master
+      - name: "Download test result"
+        uses: actions/download-artifact@v2
+        with:
+          name: test-result
+          path: test/jobs/
+      - name: "Merge test result"
+        run: ./test/scripts/merge-test-results.sh
+
+  error-code-inspecting:
+    runs-on: ubuntu-latest
+    steps:
+      - uses: actions/checkout@v2
+        with:
+          path: "./dubbo"
+
+      - uses: actions/checkout@v2
+        with:
+          repository: 'apache/dubbo-test-tools'
+          ref: main
+          path: "./dubbo-test-tools"
+
+      - name: "Set up JDK 17"
+        uses: actions/setup-java@v1
+        with:
+          java-version: 17
+
+      - name: "Compile Dubbo (Linux)"
+        run: |
+          cd ${{ github.workspace }}/dubbo
+          ./mvnw --batch-mode --no-snapshot-updates -e --no-transfer-progress 
--fail-fast -T 2C clean install -DskipTests=true -DskipIntegrationTests=true 
-Dcheckstyle.skip=true -Dcheckstyle_unix.skip=true -Drat.skip=true 
-Dmaven.javadoc.skip=true
+      - name: "Run Error Code Inspecting"
+        env:
+          "dubbo.eci.report-as-error": false
+        run: |
+          cd ${{ github.workspace 
}}/dubbo-test-tools/dubbo-error-code-inspector
+          ../mvnw --batch-mode --no-snapshot-updates -e --no-transfer-progress 
--fail-fast -T 2C package exec:java -Dmaven.test.skip=true 
-Dmaven.test.skip.exec=true -Ddubbo.eci.path=${{ github.workspace }}/dubbo
+
+      - name: "Upload error code inspection result"
+        uses: actions/upload-artifact@v2
+        with:
+          name: "error-inspection-result"
+          path: ${{ github.workspace 
}}/dubbo-test-tools/dubbo-error-code-inspector/error-inspection-result.txt
diff --git a/.github/workflows/build-and-test-scheduled-3.0.yml 
b/.github/workflows/build-and-test-scheduled-3.0.yml
new file mode 100644
index 0000000000..9ade11e0d7
--- /dev/null
+++ b/.github/workflows/build-and-test-scheduled-3.0.yml
@@ -0,0 +1,269 @@
+name: Build and Test Scheduled On 3.0
+
+on:
+  schedule:
+    - cron: '0 0 */6 * *'
+  workflow_dispatch:
+
+permissions:
+  contents: read
+
+env:
+  FORK_COUNT: 2
+  FAIL_FAST: 0
+  SHOW_ERROR_DETAIL: 1
+  #multi-version size limit
+  VERSIONS_LIMIT: 4
+  CANDIDATE_VERSIONS: '
+    spring.version:4.3.30.RELEASE;
+    spring-boot.version:1.5.22.RELEASE;
+    spring-boot.version:2.4.1;
+    '
+
+jobs:
+  license:
+    runs-on: ubuntu-20.04
+    steps:
+      - uses: actions/checkout@v2
+        with:
+          ref: 3.0
+      - name: Check License
+        uses: apache/skywalking-eyes@main
+        env:
+          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+  build-source:
+    runs-on: ubuntu-20.04
+    outputs:
+      version: ${{ steps.dubbo-version.outputs.version }}
+    steps:
+      - uses: actions/checkout@v2
+        with:
+          ref: 3.0
+          path: dubbo
+      - uses: actions/setup-java@v1
+        with:
+          java-version: 8
+      - uses: actions/cache@v2
+        name: "Cache local Maven repository"
+        with:
+          path: ~/.m2/repository
+          key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}-${{ 
github.run_id }}
+          restore-keys: |
+            ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
+            ${{ runner.os }}-maven-
+      - name: "Dubbo cache"
+        uses: actions/cache@v2
+        with:
+          path: ~/.m2/repository/org/apache/dubbo
+          key: ${{ runner.os }}-dubbo-snapshot-${{ github.sha }}-${{ 
github.run_id }}
+      - name: "Build Dubbo with Maven"
+        run: |
+          cd ./dubbo
+          ./mvnw --batch-mode --no-snapshot-updates -e --no-transfer-progress 
--fail-fast clean source:jar install -Pjacoco,rat,checkstyle 
-Dmaven.wagon.httpconnectionManager.ttlSeconds=120 
-Dmaven.wagon.http.retryHandler.count=5 -Dmaven.test.skip=true 
-Dmaven.test.skip.exec=true -DembeddedZookeeperPath=${{ github.workspace 
}}/.tmp/zookeeper
+      - name: "Pack rat file if failure"
+        if: failure()
+        run: 7z a ${{ github.workspace }}/rat.zip *rat.txt -r
+      - name: "Upload rat file if failure"
+        if: failure()
+        uses: actions/upload-artifact@v2
+        with:
+          name: "rat-file"
+          path: ${{ github.workspace }}/rat.zip
+      - name: "Pack checkstyle file if failure"
+        if: failure()
+        run: 7z a ${{ github.workspace }}/checkstyle.zip *checkstyle* -r
+      - name: "Upload checkstyle file if failure"
+        if: failure()
+        uses: actions/upload-artifact@v2
+        with:
+          name: "checkstyle-file"
+          path: ${{ github.workspace }}/checkstyle.zip
+      - name: "Calculate Dubbo Version"
+        id: dubbo-version
+        run: |
+          REVISION=`awk 
'/<revision>[^<]+<\/revision>/{gsub(/<revision>|<\/revision>/,"",$1);print 
$1;exit;}' ./dubbo/pom.xml`
+          echo "::set-output name=version::$REVISION"
+          echo "dubbo version: $REVISION"
+
+  unit-test-prepare:
+    name: " Preparation for Unit Test On ${{ matrix.os }}"
+    runs-on: ${{ matrix.os }}
+    strategy:
+      fail-fast: false
+      matrix:
+        os: [ ubuntu-20.04, windows-2019 ]
+    env:
+      ZOOKEEPER_VERSION: 3.6.3
+    steps:
+      - uses: actions/cache@v2
+        name: "Cache zookeeper binary archive"
+        id: "cache-zookeeper"
+        with:
+          path: ${{ github.workspace }}/.tmp/zookeeper
+          key: zookeeper-${{ runner.os }}-${{ env.ZOOKEEPER_VERSION }}
+          restore-keys: |
+            zookeeper-${{ runner.os }}-${{ env.ZOOKEEPER_VERSION }}
+      - name: "Set up msys2 if necessary"
+        if: ${{ startsWith( matrix.os, 'windows') && 
steps.cache-zookeeper.outputs.cache-hit != 'true' }}
+        uses: msys2/setup-msys2@v2
+        with:
+          release: false  # support cache, see 
https://github.com/msys2/setup-msys2#context
+      - name: "Download zookeeper binary archive in Linux OS"
+        if: ${{ startsWith( matrix.os, 'ubuntu') && 
steps.cache-zookeeper.outputs.cache-hit != 'true' }}
+        run: |
+          mkdir -p ${{ github.workspace }}/.tmp/zookeeper
+          wget -c https://archive.apache.org/dist/zookeeper/zookeeper-${{ 
env.ZOOKEEPER_VERSION }}/apache-zookeeper-${{ env.ZOOKEEPER_VERSION 
}}-bin.tar.gz -O ${{ github.workspace 
}}/.tmp/zookeeper/apache-zookeeper-bin.tar.gz ||
+          wget -c https://apache.website-solution.net/zookeeper/zookeeper-${{ 
env.ZOOKEEPER_VERSION }}/apache-zookeeper-${{ env.ZOOKEEPER_VERSION 
}}-bin.tar.gz -O ${{ github.workspace 
}}/.tmp/zookeeper/apache-zookeeper-bin.tar.gz ||
+          wget -c http://apache.stu.edu.tw/zookeeper/zookeeper-${{ 
env.ZOOKEEPER_VERSION }}/apache-zookeeper-${{ env.ZOOKEEPER_VERSION 
}}-bin.tar.gz -O ${{ github.workspace 
}}/.tmp/zookeeper/apache-zookeeper-bin.tar.gz ||
+          wget -c http://ftp.jaist.ac.jp/pub/apache/zookeeper/zookeeper-${{ 
env.ZOOKEEPER_VERSION }}/apache-zookeeper-${{ env.ZOOKEEPER_VERSION 
}}-bin.tar.gz -O ${{ github.workspace 
}}/.tmp/zookeeper/apache-zookeeper-bin.tar.gz ||
+          wget -c http://apache.mirror.cdnetworks.com/zookeeper/zookeeper-${{ 
env.ZOOKEEPER_VERSION }}/apache-zookeeper-${{ env.ZOOKEEPER_VERSION 
}}-bin.tar.gz -O ${{ github.workspace 
}}/.tmp/zookeeper/apache-zookeeper-bin.tar.gz ||
+          wget -c http://mirror.apache-kr.org/apache/zookeeper/zookeeper-${{ 
env.ZOOKEEPER_VERSION }}/apache-zookeeper-${{ env.ZOOKEEPER_VERSION 
}}-bin.tar.gz -O ${{ github.workspace 
}}/.tmp/zookeeper/apache-zookeeper-bin.tar.gz
+          echo "list the downloaded zookeeper binary archive"
+          ls -al ${{ github.workspace 
}}/.tmp/zookeeper/apache-zookeeper-bin.tar.gz
+      - name: "Download zookeeper binary archive in Windows OS"
+        if: ${{ startsWith( matrix.os, 'windows') && 
steps.cache-zookeeper.outputs.cache-hit != 'true' }}
+        shell: msys2 {0}
+        run: |
+          mkdir -p ${{ github.workspace }}/.tmp/zookeeper
+          wget -c https://archive.apache.org/dist/zookeeper/zookeeper-${{ 
env.ZOOKEEPER_VERSION }}/apache-zookeeper-${{ env.ZOOKEEPER_VERSION 
}}-bin.tar.gz -O ${{ github.workspace 
}}/.tmp/zookeeper/apache-zookeeper-bin.tar.gz ||
+          wget -c https://apache.website-solution.net/zookeeper/zookeeper-${{ 
env.ZOOKEEPER_VERSION }}/apache-zookeeper-${{ env.ZOOKEEPER_VERSION 
}}-bin.tar.gz -O ${{ github.workspace 
}}/.tmp/zookeeper/apache-zookeeper-bin.tar.gz ||
+          wget -c http://apache.stu.edu.tw/zookeeper/zookeeper-${{ 
env.ZOOKEEPER_VERSION }}/apache-zookeeper-${{ env.ZOOKEEPER_VERSION 
}}-bin.tar.gz -O ${{ github.workspace 
}}/.tmp/zookeeper/apache-zookeeper-bin.tar.gz ||
+          wget -c http://ftp.jaist.ac.jp/pub/apache/zookeeper/zookeeper-${{ 
env.ZOOKEEPER_VERSION }}/apache-zookeeper-${{ env.ZOOKEEPER_VERSION 
}}-bin.tar.gz -O ${{ github.workspace 
}}/.tmp/zookeeper/apache-zookeeper-bin.tar.gz ||
+          wget -c http://apache.mirror.cdnetworks.com/zookeeper/zookeeper-${{ 
env.ZOOKEEPER_VERSION }}/apache-zookeeper-${{ env.ZOOKEEPER_VERSION 
}}-bin.tar.gz -O ${{ github.workspace 
}}/.tmp/zookeeper/apache-zookeeper-bin.tar.gz ||
+          wget -c http://mirror.apache-kr.org/apache/zookeeper/zookeeper-${{ 
env.ZOOKEEPER_VERSION }}/apache-zookeeper-${{ env.ZOOKEEPER_VERSION 
}}-bin.tar.gz -O ${{ github.workspace 
}}/.tmp/zookeeper/apache-zookeeper-bin.tar.gz
+          echo "list the downloaded zookeeper binary archive"
+          ls -al ${{ github.workspace 
}}/.tmp/zookeeper/apache-zookeeper-bin.tar.gz
+
+  unit-test:
+    needs: [build-source, unit-test-prepare]
+    name: "Unit Test On ${{ matrix.os }} (JDK: ${{ matrix.jdk }})"
+    runs-on: ${{ matrix.os }}
+    strategy:
+      fail-fast: false
+      matrix:
+        os: [ ubuntu-20.04, windows-2019 ]
+        jdk: [ 8, 11, 17 ]
+    env:
+      DISABLE_FILE_SYSTEM_TEST: true
+    steps:
+      - uses: actions/checkout@v2
+        with:
+          ref: 3.0
+      - name: "Set up JDK ${{ matrix.jdk }}"
+        uses: actions/setup-java@v1
+        with:
+          java-version: ${{ matrix.jdk }}
+      - uses: actions/cache@v2
+        name: "Cache local Maven repository"
+        with:
+          path: ~/.m2/repository
+          key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}-${{ 
github.run_id }}
+          restore-keys: |
+            ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
+            ${{ runner.os }}-maven-
+      - name: "Test with Maven with Integration Tests"
+        timeout-minutes: 70
+        if: ${{ startsWith( matrix.os, 'ubuntu') }}
+        run: ./mvnw --batch-mode --no-snapshot-updates -e 
--no-transfer-progress --fail-fast clean test verify -Pjacoco 
-Dmaven.wagon.httpconnectionManager.ttlSeconds=120 
-Dmaven.wagon.http.retryHandler.count=5 -DskipTests=false 
-DskipIntegrationTests=false -Dcheckstyle.skip=false 
-Dcheckstyle_unix.skip=false -Drat.skip=false -Dmaven.javadoc.skip=true 
-DembeddedZookeeperPath=${{ github.workspace }}/.tmp/zookeeper
+      - name: "Test with Maven without Integration Tests"
+        timeout-minutes: 90
+        if: ${{ startsWith( matrix.os, 'windows') }}
+        run: ./mvnw --batch-mode --no-snapshot-updates -e 
--no-transfer-progress --fail-fast clean test verify -Pjacoco 
-D"http.keepAlive=false" -D"maven.wagon.http.pool=false" 
-D"maven.wagon.httpconnectionManager.ttlSeconds=120" 
-D"maven.wagon.http.retryHandler.count=5" -DskipTests=false 
-DskipIntegrationTests=true -D"checkstyle.skip=false" 
-D"checkstyle_unix.skip=true" -D"rat.skip=false" -D"maven.javadoc.skip=true" 
-D"embeddedZookeeperPath=${{ github.workspace }}/.tmp/zookeeper"
+      - name: "Upload coverage to Codecov"
+        uses: codecov/codecov-action@v1
+
+  integration-test-prepare:
+    runs-on: ubuntu-20.04
+    env:
+      JOB_COUNT: 3
+    steps:
+      - uses: actions/checkout@v2
+        with:
+          repository: 'apache/dubbo-samples'
+          ref: master
+      - name: "Prepare test list"
+        run: |
+          bash ./test/scripts/prepare-test.sh
+      - name: "Upload test list"
+        uses: actions/upload-artifact@v2
+        with:
+          name: test-list
+          path: test/jobs
+
+  integration-test-job:
+    needs: [build-source, integration-test-prepare]
+    name: "Integration Test on ubuntu-20.04 (JobId: ${{matrix.job_id}})"
+    runs-on: ubuntu-20.04
+    timeout-minutes: 30
+    env:
+      JAVA_VER: 8
+      TEST_CASE_FILE: jobs/testjob_${{matrix.job_id}}.txt
+    strategy:
+      fail-fast: false
+      matrix:
+        job_id: [1, 2, 3]
+    steps:
+      - uses: actions/checkout@v2
+        with:
+          repository: 'apache/dubbo-samples'
+          ref: master
+      - name: "Cache local Maven repository"
+        uses: actions/cache@v2
+        with:
+          path: ~/.m2/repository
+          key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}-${{ 
github.run_id }}
+          restore-keys: |
+            ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
+            ${{ runner.os }}-maven-
+      - name: "Restore Dubbo cache"
+        uses: actions/cache@v2
+        with:
+          path: ~/.m2/repository/org/apache/dubbo
+          key: ${{ runner.os }}-dubbo-snapshot-${{ github.sha }}-${{ 
github.run_id }}
+          restore-keys: |
+            ${{ runner.os }}-dubbo-snapshot-${{ github.sha }}
+            ${{ runner.os }}-dubbo-snapshot-
+      - name: "Download test list"
+        uses: actions/download-artifact@v2
+        with:
+          name: test-list
+          path: test/jobs/
+      - name: "Set up JDK 8"
+        uses: actions/setup-java@v1
+        with:
+          java-version: 8
+      - name: "Init Candidate Versions"
+        run: |
+          DUBBO_VERSION="${{needs.build-source.outputs.version}}"
+          
CANDIDATE_VERSIONS="dubbo.version:$DUBBO_VERSION;compiler.version:$DUBBO_VERSION;$CANDIDATE_VERSIONS;dubbo.compiler.version:$DUBBO_VERSION"
+          echo "CANDIDATE_VERSIONS=$CANDIDATE_VERSIONS" >> $GITHUB_ENV
+      - name: "Build test image"
+        run: |
+          cd test && bash ./build-test-image.sh
+      - name: "Run tests"
+        run: cd test && bash ./run-tests.sh
+      - name: "Upload test result"
+        if: always()
+        uses: actions/upload-artifact@v2
+        with:
+          name: test-result
+          path: test/jobs/*-result*
+
+  integration-test-result:
+    needs: [integration-test-job]
+    if: always()
+    runs-on: ubuntu-20.04
+    env:
+      JAVA_VER: 8
+    steps:
+      - uses: actions/checkout@v2
+        with:
+          repository: 'apache/dubbo-samples'
+          ref: master
+      - name: "Download test result"
+        uses: actions/download-artifact@v2
+        with:
+          name: test-result
+          path: test/jobs/
+      - name: "Merge test result"
+        run: ./test/scripts/merge-test-results.sh
diff --git a/.github/workflows/build-and-test-scheduled-3.2.yml 
b/.github/workflows/build-and-test-scheduled-3.2.yml
new file mode 100644
index 0000000000..ddeeec63ee
--- /dev/null
+++ b/.github/workflows/build-and-test-scheduled-3.2.yml
@@ -0,0 +1,344 @@
+name: Build and Test Scheduled On 3.2
+
+on:
+  schedule:
+    - cron: '0 0 */6 * *'
+  workflow_dispatch:
+
+permissions:
+  contents: read
+
+env:
+  FORK_COUNT: 2
+  FAIL_FAST: 0
+  SHOW_ERROR_DETAIL: 1
+  #multi-version size limit
+  VERSIONS_LIMIT: 4
+  CANDIDATE_VERSIONS: '
+    spring.version:4.3.30.RELEASE;
+    spring-boot.version:1.5.22.RELEASE;
+    spring-boot.version:2.4.1;
+    '
+
+jobs:
+  license:
+    runs-on: ubuntu-20.04
+    steps:
+      - uses: actions/checkout@v2
+        with:
+          ref: 3.2
+      - name: Check License
+        uses: apache/skywalking-eyes@main
+        env:
+          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+  build-source:
+    runs-on: ubuntu-20.04
+    outputs:
+      version: ${{ steps.dubbo-version.outputs.version }}
+    steps:
+      - uses: actions/checkout@v2
+        with:
+          ref: 3.2
+          path: dubbo
+      - uses: actions/setup-java@v1
+        with:
+          java-version: 8
+      - uses: actions/cache@v2
+        name: "Cache local Maven repository"
+        with:
+          path: ~/.m2/repository
+          key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}-${{ 
github.run_id }}
+          restore-keys: |
+            ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
+            ${{ runner.os }}-maven-
+      - name: "Dubbo cache"
+        uses: actions/cache@v2
+        with:
+          path: ~/.m2/repository/org/apache/dubbo
+          key: ${{ runner.os }}-dubbo-snapshot-${{ github.sha }}-${{ 
github.run_id }}
+      - name: "Build Dubbo with Maven"
+        run: |
+          cd ./dubbo
+          ./mvnw --batch-mode --no-snapshot-updates -e --no-transfer-progress 
--fail-fast clean source:jar install -Pjacoco,rat,checkstyle 
-Dmaven.wagon.httpconnectionManager.ttlSeconds=120 
-Dmaven.wagon.http.retryHandler.count=5 -Dmaven.test.skip=true 
-Dmaven.test.skip.exec=true -DembeddedZookeeperPath=${{ github.workspace 
}}/.tmp/zookeeper
+      - name: "Pack rat file if failure"
+        if: failure()
+        run: 7z a ${{ github.workspace }}/rat.zip *rat.txt -r
+      - name: "Upload rat file if failure"
+        if: failure()
+        uses: actions/upload-artifact@v2
+        with:
+          name: "rat-file"
+          path: ${{ github.workspace }}/rat.zip
+      - name: "Pack checkstyle file if failure"
+        if: failure()
+        run: 7z a ${{ github.workspace }}/checkstyle.zip *checkstyle* -r
+      - name: "Upload checkstyle file if failure"
+        if: failure()
+        uses: actions/upload-artifact@v2
+        with:
+          name: "checkstyle-file"
+          path: ${{ github.workspace }}/checkstyle.zip
+      - name: "Calculate Dubbo Version"
+        id: dubbo-version
+        run: |
+          REVISION=`awk 
'/<revision>[^<]+<\/revision>/{gsub(/<revision>|<\/revision>/,"",$1);print 
$1;exit;}' ./dubbo/pom.xml`
+          echo "::set-output name=version::$REVISION"
+          echo "dubbo version: $REVISION"
+
+  unit-test-prepare:
+    name: " Preparation for Unit Test On ${{ matrix.os }}"
+    runs-on: ${{ matrix.os }}
+    strategy:
+      fail-fast: false
+      matrix:
+        os: [ ubuntu-20.04, windows-2019 ]
+    env:
+      ZOOKEEPER_VERSION: 3.6.3
+    steps:
+      - uses: actions/cache@v2
+        name: "Cache zookeeper binary archive"
+        id: "cache-zookeeper"
+        with:
+          path: ${{ github.workspace }}/.tmp/zookeeper
+          key: zookeeper-${{ runner.os }}-${{ env.ZOOKEEPER_VERSION }}
+          restore-keys: |
+            zookeeper-${{ runner.os }}-${{ env.ZOOKEEPER_VERSION }}
+      - name: "Set up msys2 if necessary"
+        if: ${{ startsWith( matrix.os, 'windows') && 
steps.cache-zookeeper.outputs.cache-hit != 'true' }}
+        uses: msys2/setup-msys2@v2
+        with:
+          release: false  # support cache, see 
https://github.com/msys2/setup-msys2#context
+      - name: "Download zookeeper binary archive in Linux OS"
+        if: ${{ startsWith( matrix.os, 'ubuntu') && 
steps.cache-zookeeper.outputs.cache-hit != 'true' }}
+        run: |
+          mkdir -p ${{ github.workspace }}/.tmp/zookeeper
+          wget -c https://archive.apache.org/dist/zookeeper/zookeeper-${{ 
env.ZOOKEEPER_VERSION }}/apache-zookeeper-${{ env.ZOOKEEPER_VERSION 
}}-bin.tar.gz -O ${{ github.workspace 
}}/.tmp/zookeeper/apache-zookeeper-bin.tar.gz ||
+          wget -c https://apache.website-solution.net/zookeeper/zookeeper-${{ 
env.ZOOKEEPER_VERSION }}/apache-zookeeper-${{ env.ZOOKEEPER_VERSION 
}}-bin.tar.gz -O ${{ github.workspace 
}}/.tmp/zookeeper/apache-zookeeper-bin.tar.gz ||
+          wget -c http://apache.stu.edu.tw/zookeeper/zookeeper-${{ 
env.ZOOKEEPER_VERSION }}/apache-zookeeper-${{ env.ZOOKEEPER_VERSION 
}}-bin.tar.gz -O ${{ github.workspace 
}}/.tmp/zookeeper/apache-zookeeper-bin.tar.gz ||
+          wget -c http://ftp.jaist.ac.jp/pub/apache/zookeeper/zookeeper-${{ 
env.ZOOKEEPER_VERSION }}/apache-zookeeper-${{ env.ZOOKEEPER_VERSION 
}}-bin.tar.gz -O ${{ github.workspace 
}}/.tmp/zookeeper/apache-zookeeper-bin.tar.gz ||
+          wget -c http://apache.mirror.cdnetworks.com/zookeeper/zookeeper-${{ 
env.ZOOKEEPER_VERSION }}/apache-zookeeper-${{ env.ZOOKEEPER_VERSION 
}}-bin.tar.gz -O ${{ github.workspace 
}}/.tmp/zookeeper/apache-zookeeper-bin.tar.gz ||
+          wget -c http://mirror.apache-kr.org/apache/zookeeper/zookeeper-${{ 
env.ZOOKEEPER_VERSION }}/apache-zookeeper-${{ env.ZOOKEEPER_VERSION 
}}-bin.tar.gz -O ${{ github.workspace 
}}/.tmp/zookeeper/apache-zookeeper-bin.tar.gz
+          echo "list the downloaded zookeeper binary archive"
+          ls -al ${{ github.workspace 
}}/.tmp/zookeeper/apache-zookeeper-bin.tar.gz
+      - name: "Download zookeeper binary archive in Windows OS"
+        if: ${{ startsWith( matrix.os, 'windows') && 
steps.cache-zookeeper.outputs.cache-hit != 'true' }}
+        shell: msys2 {0}
+        run: |
+          mkdir -p ${{ github.workspace }}/.tmp/zookeeper
+          wget -c https://archive.apache.org/dist/zookeeper/zookeeper-${{ 
env.ZOOKEEPER_VERSION }}/apache-zookeeper-${{ env.ZOOKEEPER_VERSION 
}}-bin.tar.gz -O ${{ github.workspace 
}}/.tmp/zookeeper/apache-zookeeper-bin.tar.gz ||
+          wget -c https://apache.website-solution.net/zookeeper/zookeeper-${{ 
env.ZOOKEEPER_VERSION }}/apache-zookeeper-${{ env.ZOOKEEPER_VERSION 
}}-bin.tar.gz -O ${{ github.workspace 
}}/.tmp/zookeeper/apache-zookeeper-bin.tar.gz ||
+          wget -c http://apache.stu.edu.tw/zookeeper/zookeeper-${{ 
env.ZOOKEEPER_VERSION }}/apache-zookeeper-${{ env.ZOOKEEPER_VERSION 
}}-bin.tar.gz -O ${{ github.workspace 
}}/.tmp/zookeeper/apache-zookeeper-bin.tar.gz ||
+          wget -c http://ftp.jaist.ac.jp/pub/apache/zookeeper/zookeeper-${{ 
env.ZOOKEEPER_VERSION }}/apache-zookeeper-${{ env.ZOOKEEPER_VERSION 
}}-bin.tar.gz -O ${{ github.workspace 
}}/.tmp/zookeeper/apache-zookeeper-bin.tar.gz ||
+          wget -c http://apache.mirror.cdnetworks.com/zookeeper/zookeeper-${{ 
env.ZOOKEEPER_VERSION }}/apache-zookeeper-${{ env.ZOOKEEPER_VERSION 
}}-bin.tar.gz -O ${{ github.workspace 
}}/.tmp/zookeeper/apache-zookeeper-bin.tar.gz ||
+          wget -c http://mirror.apache-kr.org/apache/zookeeper/zookeeper-${{ 
env.ZOOKEEPER_VERSION }}/apache-zookeeper-${{ env.ZOOKEEPER_VERSION 
}}-bin.tar.gz -O ${{ github.workspace 
}}/.tmp/zookeeper/apache-zookeeper-bin.tar.gz
+          echo "list the downloaded zookeeper binary archive"
+          ls -al ${{ github.workspace 
}}/.tmp/zookeeper/apache-zookeeper-bin.tar.gz
+
+  unit-test:
+    needs: [build-source, unit-test-prepare]
+    name: "Unit Test On ${{ matrix.os }} (JDK: ${{ matrix.jdk }})"
+    runs-on: ${{ matrix.os }}
+    strategy:
+      fail-fast: false
+      matrix:
+        os: [ ubuntu-20.04, windows-2019 ]
+        jdk: [ 8, 11, 17, 19 ]
+    env:
+      DISABLE_FILE_SYSTEM_TEST: true
+    steps:
+      - uses: actions/checkout@v2
+        with:
+          ref: 3.2
+      - name: "Set up JDK ${{ matrix.jdk }}"
+        uses: actions/setup-java@v1
+        with:
+          java-version: ${{ matrix.jdk }}
+      - uses: actions/cache@v2
+        name: "Cache local Maven repository"
+        with:
+          path: ~/.m2/repository
+          key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}-${{ 
github.run_id }}
+          restore-keys: |
+            ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
+            ${{ runner.os }}-maven-
+      - name: "Test with Maven with Integration Tests"
+        timeout-minutes: 70
+        if: ${{ startsWith( matrix.os, 'ubuntu') }}
+        run: ./mvnw --batch-mode --no-snapshot-updates -e 
--no-transfer-progress --fail-fast clean test verify -Pjacoco 
-Dmaven.wagon.httpconnectionManager.ttlSeconds=120 
-Dmaven.wagon.http.retryHandler.count=5 -DskipTests=false 
-DskipIntegrationTests=false -Dcheckstyle.skip=false 
-Dcheckstyle_unix.skip=false -Drat.skip=false -Dmaven.javadoc.skip=true 
-DembeddedZookeeperPath=${{ github.workspace }}/.tmp/zookeeper
+      - name: "Test with Maven without Integration Tests"
+        timeout-minutes: 90
+        if: ${{ startsWith( matrix.os, 'windows') }}
+        run: ./mvnw --batch-mode --no-snapshot-updates -e 
--no-transfer-progress --fail-fast clean test verify -Pjacoco 
-D"http.keepAlive=false" -D"maven.wagon.http.pool=false" 
-D"maven.wagon.httpconnectionManager.ttlSeconds=120" 
-D"maven.wagon.http.retryHandler.count=5" -DskipTests=false 
-DskipIntegrationTests=true -D"checkstyle.skip=false" 
-D"checkstyle_unix.skip=true" -D"rat.skip=false" -D"maven.javadoc.skip=true" 
-D"embeddedZookeeperPath=${{ github.workspace }}/.tmp/zookeeper"
+      - name: "Upload coverage to Codecov"
+        uses: codecov/codecov-action@v1
+
+  unit-test-fastjson2:
+    needs: [build-source, unit-test-prepare]
+    name: "Unit Test On ${{ matrix.os }} (JDK: ${{ matrix.jdk }}, 
Serialization: fastjson2)"
+    runs-on: ${{ matrix.os }}
+    strategy:
+      fail-fast: false
+      matrix:
+        os: [ ubuntu-20.04, windows-2019 ]
+        jdk: [ 8, 11, 17, 19 ]
+    env:
+      DISABLE_FILE_SYSTEM_TEST: true
+      DUBBO_DEFAULT_SERIALIZATION: fastjson2
+      MAVEN_SUREFIRE_ADD_OPENS: true
+    steps:
+      - uses: actions/checkout@v2
+        with:
+          ref: 3.2
+      - name: "Set up JDK ${{ matrix.jdk }}"
+        uses: actions/setup-java@v1
+        with:
+          java-version: ${{ matrix.jdk }}
+      - uses: actions/cache@v2
+        name: "Cache local Maven repository"
+        with:
+          path: ~/.m2/repository
+          key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}-${{ 
github.run_id }}
+          restore-keys: |
+            ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
+            ${{ runner.os }}-maven-
+      - name: "Test with Maven with Integration Tests"
+        timeout-minutes: 70
+        if: ${{ startsWith( matrix.os, 'ubuntu') }}
+        run: ./mvnw --batch-mode --no-snapshot-updates -e 
--no-transfer-progress --fail-fast clean test verify -Pjacoco 
-Dmaven.wagon.httpconnectionManager.ttlSeconds=120 
-Dmaven.wagon.http.retryHandler.count=5 -DskipTests=false 
-DskipIntegrationTests=false -Dcheckstyle.skip=false 
-Dcheckstyle_unix.skip=false -Drat.skip=false -Dmaven.javadoc.skip=true 
-DembeddedZookeeperPath=${{ github.workspace }}/.tmp/zookeeper
+      - name: "Test with Maven without Integration Tests"
+        timeout-minutes: 90
+        if: ${{ startsWith( matrix.os, 'windows') }}
+        run: ./mvnw --batch-mode --no-snapshot-updates -e 
--no-transfer-progress --fail-fast clean test verify -Pjacoco 
-D"http.keepAlive=false" -D"maven.wagon.http.pool=false" 
-D"maven.wagon.httpconnectionManager.ttlSeconds=120" 
-D"maven.wagon.http.retryHandler.count=5" -DskipTests=false 
-DskipIntegrationTests=true -D"checkstyle.skip=false" 
-D"checkstyle_unix.skip=true" -D"rat.skip=false" -D"maven.javadoc.skip=true" 
-D"embeddedZookeeperPath=${{ github.workspace }}/.tmp/zookeeper"
+      - name: "Upload coverage to Codecov"
+        uses: codecov/codecov-action@v1
+
+  integration-test-prepare:
+    runs-on: ubuntu-20.04
+    env:
+      JOB_COUNT: 3
+    steps:
+      - uses: actions/checkout@v2
+        with:
+          repository: 'apache/dubbo-samples'
+          ref: master
+      - name: "Prepare test list"
+        run: |
+          bash ./test/scripts/prepare-test.sh
+      - name: "Upload test list"
+        uses: actions/upload-artifact@v2
+        with:
+          name: test-list
+          path: test/jobs
+
+  integration-test-job:
+    needs: [build-source, integration-test-prepare]
+    name: "Integration Test on ubuntu-20.04 (JobId: ${{matrix.job_id}})"
+    runs-on: ubuntu-20.04
+    timeout-minutes: 30
+    env:
+      JAVA_VER: 8
+      TEST_CASE_FILE: jobs/testjob_${{matrix.job_id}}.txt
+    strategy:
+      fail-fast: false
+      matrix:
+        job_id: [1, 2, 3]
+    steps:
+      - uses: actions/checkout@v2
+        with:
+          repository: 'apache/dubbo-samples'
+          ref: master
+      - name: "Cache local Maven repository"
+        uses: actions/cache@v2
+        with:
+          path: ~/.m2/repository
+          key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}-${{ 
github.run_id }}
+          restore-keys: |
+            ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
+            ${{ runner.os }}-maven-
+      - name: "Restore Dubbo cache"
+        uses: actions/cache@v2
+        with:
+          path: ~/.m2/repository/org/apache/dubbo
+          key: ${{ runner.os }}-dubbo-snapshot-${{ github.sha }}-${{ 
github.run_id }}
+          restore-keys: |
+            ${{ runner.os }}-dubbo-snapshot-${{ github.sha }}
+            ${{ runner.os }}-dubbo-snapshot-
+      - name: "Download test list"
+        uses: actions/download-artifact@v2
+        with:
+          name: test-list
+          path: test/jobs/
+      - name: "Set up JDK 8"
+        uses: actions/setup-java@v1
+        with:
+          java-version: 8
+      - name: "Init Candidate Versions"
+        run: |
+          DUBBO_VERSION="${{needs.build-source.outputs.version}}"
+          
CANDIDATE_VERSIONS="dubbo.version:$DUBBO_VERSION;compiler.version:$DUBBO_VERSION;$CANDIDATE_VERSIONS;dubbo.compiler.version:$DUBBO_VERSION"
+          echo "CANDIDATE_VERSIONS=$CANDIDATE_VERSIONS" >> $GITHUB_ENV
+      - name: "Build test image"
+        run: |
+          cd test && bash ./build-test-image.sh
+      - name: "Run tests"
+        run: cd test && bash ./run-tests.sh
+      - name: "Upload test result"
+        if: always()
+        uses: actions/upload-artifact@v2
+        with:
+          name: test-result
+          path: test/jobs/*-result*
+
+  integration-test-result:
+    needs: [integration-test-job]
+    if: always()
+    runs-on: ubuntu-20.04
+    env:
+      JAVA_VER: 8
+    steps:
+      - uses: actions/checkout@v2
+        with:
+          repository: 'apache/dubbo-samples'
+          ref: master
+      - name: "Download test result"
+        uses: actions/download-artifact@v2
+        with:
+          name: test-result
+          path: test/jobs/
+      - name: "Merge test result"
+        run: ./test/scripts/merge-test-results.sh
+
+  error-code-inspecting:
+    runs-on: ubuntu-latest
+    steps:
+      - uses: actions/checkout@v2
+        with:
+          path: "./dubbo"
+
+      - uses: actions/checkout@v2
+        with:
+          repository: 'apache/dubbo-test-tools'
+          ref: main
+          path: "./dubbo-test-tools"
+
+      - name: "Set up JDK 17"
+        uses: actions/setup-java@v1
+        with:
+          java-version: 17
+
+      - name: "Compile Dubbo (Linux)"
+        run: |
+          cd ${{ github.workspace }}/dubbo
+          ./mvnw --batch-mode --no-snapshot-updates -e --no-transfer-progress 
--fail-fast -T 2C clean install -DskipTests=true -DskipIntegrationTests=true 
-Dcheckstyle.skip=true -Dcheckstyle_unix.skip=true -Drat.skip=true 
-Dmaven.javadoc.skip=true
+      - name: "Run Error Code Inspecting"
+        env:
+          "dubbo.eci.report-as-error": false
+        run: |
+          cd ${{ github.workspace 
}}/dubbo-test-tools/dubbo-error-code-inspector
+          ../mvnw --batch-mode --no-snapshot-updates -e --no-transfer-progress 
--fail-fast -T 2C package exec:java -Dmaven.test.skip=true 
-Dmaven.test.skip.exec=true -Ddubbo.eci.path=${{ github.workspace }}/dubbo
+
+      - name: "Upload error code inspection result"
+        uses: actions/upload-artifact@v2
+        with:
+          name: "error-inspection-result"
+          path: ${{ github.workspace 
}}/dubbo-test-tools/dubbo-error-code-inspector/error-inspection-result.txt


Reply via email to