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

Aias00 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shenyu.git


The following commit(s) were added to refs/heads/master by this push:
     new 4018b10d5f ci: build only required examples in e2e (#7208)
4018b10d5f is described below

commit 4018b10d5f23d630dd2cea2f4279ffaf6ddebc10
Author: shown <[email protected]>
AuthorDate: Thu Sep 24 13:33:13 2026 +0800

    ci: build only required examples in e2e (#7208)
    
    Co-authored-by: aias00 <[email protected]>
---
 .github/scripts/resolve-test-case-matrix.sh | 32 ++++++++++++++++++++++++++++-
 .github/workflows/e2e-k8s.yml               | 15 ++++++++++----
 2 files changed, 42 insertions(+), 5 deletions(-)

diff --git a/.github/scripts/resolve-test-case-matrix.sh 
b/.github/scripts/resolve-test-case-matrix.sh
index 92edbdd907..df83108102 100644
--- a/.github/scripts/resolve-test-case-matrix.sh
+++ b/.github/scripts/resolve-test-case-matrix.sh
@@ -314,7 +314,37 @@ if [[ "${full_required}" == "true" ]]; then
 fi
 
 storage_matrix="$(printf '%s\n' "${storage_cases[@]}" | jq -R . | jq -cs 
'{include: map(select(length > 0) | {case:"shenyu-e2e-case-storage", 
script:.})}')"
-e2e_matrix="$(printf '%s\n' "${e2e_cases[@]}" | jq -R . | jq -cs '{include: 
map(select(length > 0) | {case:(if . == "e2e-http-sync-compose" then 
"shenyu-e2e-case-http" elif . == "e2e-springcloud-sync-compose" then 
"shenyu-e2e-case-spring-cloud" elif . == "e2e-apache-dubbo-sync-compose" then 
"shenyu-e2e-case-apache-dubbo" elif . == "e2e-grpc-sync-compose" then 
"shenyu-e2e-case-grpc" elif . == "e2e-websocket-sync-compose" then 
"shenyu-e2e-case-websocket" else "shenyu-e2e-case-logging-rocke [...]
+e2e_matrix="$(printf '%s\n' "${e2e_cases[@]}" | jq -R . | jq -cs '
+  def case_config:
+    {
+      "e2e-http-sync-compose": {
+        case: "shenyu-e2e-case-http",
+        example_projects: ":shenyu-examples-http"
+      },
+      "e2e-springcloud-sync-compose": {
+        case: "shenyu-e2e-case-spring-cloud",
+        example_projects: 
":shenyu-examples-eureka,:shenyu-examples-springcloud"
+      },
+      "e2e-apache-dubbo-sync-compose": {
+        case: "shenyu-e2e-case-apache-dubbo",
+        example_projects: ":shenyu-examples-apache-dubbo-service"
+      },
+      "e2e-grpc-sync-compose": {
+        case: "shenyu-e2e-case-grpc",
+        example_projects: ":shenyu-examples-grpc"
+      },
+      "e2e-websocket-sync-compose": {
+        case: "shenyu-e2e-case-websocket",
+        example_projects: ":shenyu-example-spring-native-websocket"
+      },
+      "e2e-logging-rocketmq-compose": {
+        case: "shenyu-e2e-case-logging-rocketmq",
+        example_projects: ":shenyu-examples-http"
+      }
+    }[.];
+
+  {include: map(select(length > 0) | ({script: .} + case_config))}
+')"
 integration_matrix="$(printf '%s\n' "${integration_cases[@]}" | jq -R . | jq 
-cs '{include: map(select(length > 0) | {case:.})}')"
 
 run_storage=$([[ "${#storage_cases[@]}" -gt 0 ]] && echo true || echo false)
diff --git a/.github/workflows/e2e-k8s.yml b/.github/workflows/e2e-k8s.yml
index 08dfde0106..fe0b0b2941 100644
--- a/.github/workflows/e2e-k8s.yml
+++ b/.github/workflows/e2e-k8s.yml
@@ -370,12 +370,19 @@ jobs:
 
       - name: Build examples with Maven
         shell: bash
+        env:
+          EXAMPLE_PROJECTS: ${{ matrix.example_projects }}
         run: |
-          echo "Falling back to maven wrapper for examples"
-          if [[ "${{ runner.os }}" == "Windows" ]]; then
-            ./mvnw.cmd -B clean install -Pexample -Dmaven.javadoc.skip=true 
-Dmaven.test.skip=true -am -f ./shenyu-examples/pom.xml
+          if mvnd --version > /dev/null 2>&1; then
+            echo "Using mvnd to build ${EXAMPLE_PROJECTS}"
+            mvnd -B clean install -Pexample -Dmaven.javadoc.skip=true 
-Dmaven.test.skip=true -pl "${EXAMPLE_PROJECTS}" -am -f 
./shenyu-examples/pom.xml
           else
-            ./mvnw -B clean install -Pexample -Dmaven.javadoc.skip=true 
-Dmaven.test.skip=true -am -f ./shenyu-examples/pom.xml
+            echo "Falling back to maven wrapper to build ${EXAMPLE_PROJECTS}"
+            if [[ "${{ runner.os }}" == "Windows" ]]; then
+              ./mvnw.cmd -B clean install -Pexample -Dmaven.javadoc.skip=true 
-Dmaven.test.skip=true -pl "${EXAMPLE_PROJECTS}" -am -f 
./shenyu-examples/pom.xml
+            else
+              ./mvnw -B clean install -Pexample -Dmaven.javadoc.skip=true 
-Dmaven.test.skip=true -pl "${EXAMPLE_PROJECTS}" -am -f 
./shenyu-examples/pom.xml
+            fi
           fi
 
       - name: Load ShenYu Docker Images

Reply via email to