/
githubmirror
/
dubbo
Обзор
Документация
Войти
/
githubmirror
/
dubbo
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
3.2
.github/workflows/release-test.yml
496 строк
23 KB
Albumen Kevin
Fix release test yaml
03 мар 2025, 05:39
03 мар 2025, 05:39
6ccb3f2
Код
Авторство
О чём код?
name: Release Test on: push: branches: - '**-release' workflow_dispatch: permissions: contents: read env: FORK_COUNT: 2 FAIL_FAST: 0 SHOW_ERROR_DETAIL: 1 #multi-version size limit VERSIONS_LIMIT: 4 ALL_REMOTE_VERSION: true CANDIDATE_VERSIONS: ' spring.version:5.3.24; spring-boot.version:2.7.6; ' jobs: license: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Check License uses: apache/skywalking-eyes@main env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} build-source: runs-on: ubuntu-latest outputs: version: ${{ steps.dubbo-version.outputs.version }} steps: - uses: actions/checkout@v4 with: path: dubbo - uses: actions/setup-java@v4 with: distribution: 'zulu' java-version: 21 - uses: actions/cache@v3 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@v3 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,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 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@v4 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 "version=$REVISION" >> $GITHUB_OUTPUT 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-latest, windows-latest ] env: ZOOKEEPER_VERSION: 3.7.2 steps: - uses: actions/cache@v3 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-latest, windows-latest ] jdk: [ 8, 11, 17, 21 ] env: DISABLE_FILE_SYSTEM_TEST: true steps: - uses: actions/checkout@v4 - name: "Set up JDK ${{ matrix.jdk }}" uses: actions/setup-java@v4 with: java-version: ${{ matrix.jdk }} distribution: 'zulu' - uses: actions/cache@v3 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- - uses: actions/cache@v3 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 }}- - 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" 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-latest, windows-latest ] jdk: [ 8, 11, 17, 21 ] env: DISABLE_FILE_SYSTEM_TEST: true DUBBO_DEFAULT_SERIALIZATION: fastjson2 MAVEN_SUREFIRE_ADD_OPENS: true steps: - uses: actions/checkout@v4 - name: "Set up JDK ${{ matrix.jdk }}" uses: actions/setup-java@v4 with: distribution: 'zulu' java-version: ${{ matrix.jdk }} - uses: actions/cache@v3 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- - uses: actions/cache@v3 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 }}- - name: "Test with Maven with Integration Tests on JDK 8" timeout-minutes: 70 if: ${{ startsWith( matrix.os, 'ubuntu') && matrix.jdk == '8' }} run: ./mvnw --batch-mode --no-snapshot-updates -e --no-transfer-progress --fail-fast clean test verify -Pjacoco,'!jdk15ge' -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 on JDK 8" timeout-minutes: 90 if: ${{ startsWith( matrix.os, 'windows') && matrix.jdk == '8' }} run: ./mvnw --batch-mode --no-snapshot-updates -e --no-transfer-progress --fail-fast clean test verify -P"jacoco,'!jdk15ge'" -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: "Test with Maven with Integration Tests" timeout-minutes: 70 if: ${{ startsWith( matrix.os, 'ubuntu') && matrix.jdk != '8' }} run: ./mvnw --batch-mode --no-snapshot-updates -e --no-transfer-progress --fail-fast clean test verify -Pjacoco,jdk15ge-simple,'!jdk15ge' -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') && matrix.jdk != '8' }} run: ./mvnw --batch-mode --no-snapshot-updates -e --no-transfer-progress --fail-fast clean test verify -P"jacoco,jdk15ge-simple,'!jdk15ge'" -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" samples-test-prepare: runs-on: ubuntu-latest env: JOB_COUNT: 5 steps: - uses: actions/checkout@v4 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@v4 with: name: samples-test-list path: test/jobs samples-test-job: needs: [build-source, samples-test-prepare] name: "Samples Test on ubuntu-latest (JobId: ${{matrix.job_id}} JavaVer: ${{matrix.jdk}})" runs-on: ubuntu-latest timeout-minutes: 90 env: JAVA_VER: ${{matrix.jdk}} TEST_CASE_FILE: jobs/testjob_${{matrix.job_id}}.txt strategy: fail-fast: false matrix: jdk: [ 8, 11, 17, 21 ] job_id: [1, 2, 3, 4, 5] steps: - uses: actions/checkout@v4 with: repository: 'apache/dubbo-samples' ref: master - name: "Cache local Maven repository" uses: actions/cache@v3 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@v3 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@v4 with: name: samples-test-list path: test/jobs/ - name: "Set up JDK ${{matrix.jdk}}" uses: actions/setup-java@v1 with: java-version: ${{matrix.jdk}} - 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@v4 with: name: samples-test-result-${{matrix.jdk}}-${{matrix.job_id}} path: test/jobs/*-result* samples-test-result: needs: [samples-test-job] if: always() runs-on: ubuntu-latest env: JAVA_VER: ${{matrix.jdk}} strategy: matrix: jdk: [ 8, 11, 17, 21 ] steps: - uses: actions/checkout@v4 with: repository: 'apache/dubbo-samples' ref: master - name: "Download test result" uses: actions/download-artifact@v4 with: pattern: samples-test-result-${{matrix.jdk}}-* github-token: ${{ secrets.GITHUB_TOKEN }} path: test/jobs/ - name: "Merge test result" run: ./test/scripts/merge-test-results.sh integration-test-prepare: runs-on: ubuntu-latest env: JOB_COUNT: 5 steps: - uses: actions/checkout@v4 with: repository: 'apache/dubbo-integration-cases' ref: main - name: "Prepare test list" run: | bash ./test/scripts/prepare-test.sh - name: "Upload test list" uses: actions/upload-artifact@v4 with: name: integration-test-list path: test/jobs integration-test-job: needs: [build-source, integration-test-prepare] name: "Integration Test on ubuntu-latest (JobId: ${{matrix.job_id}} JavaVer: ${{matrix.jdk}})" runs-on: ubuntu-latest timeout-minutes: 90 env: JAVA_VER: ${{matrix.jdk}} TEST_CASE_FILE: jobs/testjob_${{matrix.job_id}}.txt strategy: fail-fast: false matrix: jdk: [ 8, 11, 17, 21 ] job_id: [1, 2, 3, 4, 5] steps: - uses: actions/checkout@v4 with: repository: 'apache/dubbo-integration-cases' ref: main - name: "Cache local Maven repository" uses: actions/cache@v3 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@v3 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@v4 with: name: integration-test-list path: test/jobs/ - name: "Set up JDK ${{matrix.jdk}}" uses: actions/setup-java@v1 with: java-version: ${{matrix.jdk}} - 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@v4 with: name: integration-test-result-${{matrix.jdk}}-${{matrix.job_id}} path: test/jobs/*-result* integration-test-result: needs: [integration-test-job] if: always() runs-on: ubuntu-latest env: JAVA_VER: ${{matrix.jdk}} strategy: matrix: jdk: [ 8, 11, 17, 21 ] steps: - uses: actions/checkout@v4 with: repository: 'apache/dubbo-integration-cases' ref: main - name: "Download test result" uses: actions/download-artifact@v4 with: pattern: integration-test-result-${{matrix.jdk}}-* github-token: ${{ secrets.GITHUB_TOKEN }} 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@v4 with: path: "./dubbo" - uses: actions/checkout@v4 with: repository: 'apache/dubbo-test-tools' ref: main path: "./dubbo-test-tools" - name: "Set up JDK 21" uses: actions/setup-java@v4 with: java-version: 21 distribution: 'zulu' - 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: true 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 -Ddubbo.eci.report-as-error=${DUBBO_ECI_REPORT_AS_ERROR} -Dmaven.test.skip=true -Dmaven.test.skip.exec=true -Ddubbo.eci.path=${{ github.workspace }}/dubbo - name: "Upload error code inspection result" # always() should not be used here, since we don't need to handle the 'canceled' situation. if: ${{ success() || failure() }} uses: actions/upload-artifact@v4 with: name: "error-inspection-result" path: ${{ github.workspace }}/dubbo-test-tools/dubbo-error-code-inspector/error-inspection-result.txt native-image-inspecting: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 with: path: "./dubbo" - name: "Setup GraalVM environment" uses: graalvm/setup-graalvm@v1 with: version: '22.3.0' java-version: '17' components: 'native-image' github-token: ${{ secrets.GITHUB_TOKEN }} native-image-job-reports: 'true' - name: "Setup Zookeeper environment" run: | wget https://dlcdn.apache.org/zookeeper/zookeeper-3.8.4/apache-zookeeper-3.8.4-bin.tar.gz tar -zxvf apache-zookeeper-3.8.4-bin.tar.gz mv apache-zookeeper-3.8.4-bin/conf/zoo_sample.cfg apache-zookeeper-3.8.4-bin/conf/zoo.cfg apache-zookeeper-3.8.4-bin/bin/zkServer.sh start - name: "Check environment" run: | java --version native-image --version - 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: "Compile and run Dubbo demo for native (Linux)" run: | cd ${{ github.workspace }}/dubbo/dubbo-demo/dubbo-demo-native/dubbo-demo-native-provider ${{ github.workspace }}/dubbo/mvnw --batch-mode --no-snapshot-updates -e --no-transfer-progress --fail-fast -T 2C clean package -P native -Dmaven.test.skip=true native:compile nohup ./target/dubbo-demo-native-provider & cd ${{ github.workspace }}/dubbo/dubbo-demo/dubbo-demo-native/dubbo-demo-native-consumer ${{ github.workspace }}/dubbo/mvnw --batch-mode --no-snapshot-updates -e --no-transfer-progress --fail-fast -T 2C clean package -P native -Dmaven.test.skip=true native:compile ./target/dubbo-demo-native-consumer