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

dengliming 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 2f83f9a438 fix(ci): include cluster suites in e2e matrix (#7552)
2f83f9a438 is described below

commit 2f83f9a4389fdc6471361a3530dba056f6d15714
Author: Daming <[email protected]>
AuthorDate: Mon Oct 12 14:04:09 2026 +0800

    fix(ci): include cluster suites in e2e matrix (#7552)
    
    Co-authored-by: Luke Haochao Zhuang <[email protected]>
---
 .github/scripts/resolve-test-case-matrix-test.sh | 12 ++++++++++--
 .github/scripts/resolve-test-case-matrix.sh      | 20 ++++++++++++++++++++
 2 files changed, 30 insertions(+), 2 deletions(-)

diff --git a/.github/scripts/resolve-test-case-matrix-test.sh 
b/.github/scripts/resolve-test-case-matrix-test.sh
index 4c56b27470..ce49d871f4 100644
--- a/.github/scripts/resolve-test-case-matrix-test.sh
+++ b/.github/scripts/resolve-test-case-matrix-test.sh
@@ -116,6 +116,7 @@ assert_file_output "k8s-examples-http" 
"shenyu-bootstrap/pom.xml" "run_k8s_examp
 assert_file_output "k8s-examples-http" "pom.xml" "run_k8s_examples" "true"
 
 readonly 
E2E_GRPC="shenyu-e2e/shenyu-e2e-case/shenyu-e2e-case-grpc/compose/script/e2e-grpc-sync-compose.sh"
+readonly 
E2E_CLUSTER="shenyu-e2e/shenyu-e2e-case/shenyu-e2e-case-cluster/compose/script/e2e-cluster-jdbc-compose.sh"
 readonly 
E2E_RABBITMQ="shenyu-e2e/shenyu-e2e-case/shenyu-e2e-case-logging-rabbitmq/compose/script/e2e-logging-rabbitmq-compose.sh"
 readonly 
E2E_RABBITMQ_CASE="shenyu-e2e/shenyu-e2e-case/shenyu-e2e-case-logging-rabbitmq/src/test/java/org/apache/shenyu/e2e/testcase/logging/rabbitmq/DividePluginCases.java"
 readonly 
IT_GRPC="shenyu-integrated-test/shenyu-integrated-test-grpc/src/test/java/GrpcPluginTest.java"
@@ -123,8 +124,13 @@ readonly 
IT_K8S_GRPC="shenyu-integrated-test/shenyu-integrated-test-k8s-ingress-
 readonly 
PROD_GRPC="shenyu-plugin/shenyu-plugin-proxy/shenyu-plugin-rpc/shenyu-plugin-grpc/pom.xml"
 readonly 
ADMIN_REGISTER="shenyu-admin/src/main/java/org/apache/shenyu/admin/service/register/AbstractShenyuClientRegisterServiceImpl.java"
 readonly 
ADMIN_SERVICE="shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/PluginServiceImpl.java"
+readonly 
CLUSTER_SERVICE="shenyu-admin/src/main/java/org/apache/shenyu/admin/mode/cluster/filter/ClusterForwardFilter.java"
 readonly 
ALL_K8S_INGRESS_MATRIX='{"include":[{"case":"shenyu-integrated-test-k8s-ingress-http"},{"case":"shenyu-integrated-test-k8s-ingress-apache-dubbo"},{"case":"shenyu-integrated-test-k8s-ingress-websocket"},{"case":"shenyu-integrated-test-k8s-ingress-grpc"}]}'
+readonly 
CLUSTER_E2E_MATRIX='{"include":[{"script":"e2e-cluster-jdbc-compose","case":"shenyu-e2e-case-cluster","example_projects":":shenyu-examples-http"},{"script":"e2e-cluster-zookeeper-compose","case":"shenyu-e2e-case-cluster","example_projects":":shenyu-examples-http"}]}'
 readonly 
ADMIN_REGISTER_E2E_MATRIX='{"include":[{"script":"e2e-http-sync-compose","case":"shenyu-e2e-case-http","example_projects":":shenyu-examples-http"},{"script":"e2e-springcloud-sync-compose","case":"shenyu-e2e-case-spring-cloud","example_projects":":shenyu-examples-eureka,:shenyu-examples-springcloud"},{"script":"e2e-apache-dubbo-sync-compose","case":"shenyu-e2e-case-apache-dubbo","example_projects":":shenyu-examples-apache-dubbo-service"},{"script":"e2e-grpc-sync-compose","case":"
 [...]
+readonly ALL_E2E_MATRIX="$(jq -c '.include += 
[{script:"e2e-logging-rocketmq-compose",case:"shenyu-e2e-case-logging-rocketmq",example_projects:":shenyu-examples-http"},{script:"e2e-cluster-jdbc-compose",case:"shenyu-e2e-case-cluster",example_projects:":shenyu-examples-http"},{script:"e2e-cluster-zookeeper-compose",case:"shenyu-e2e-case-cluster",example_projects:":shenyu-examples-http"}]'
 <<< "${ADMIN_REGISTER_E2E_MATRIX}")"
+readonly CLUSTER_SERVICE_E2E_MATRIX="$(jq -cn --argjson cluster 
"${CLUSTER_E2E_MATRIX}" --argjson all "${ALL_E2E_MATRIX}" \
+  '{include: ($cluster.include + ($all.include | map(select(.case != 
"shenyu-e2e-case-cluster"))))}')"
 readonly 
ADMIN_REGISTER_IT_MATRIX='{"include":[{"case":"shenyu-integrated-test-apache-dubbo"},{"case":"shenyu-integrated-test-grpc"},{"case":"shenyu-integrated-test-http"},{"case":"shenyu-integrated-test-https"},{"case":"shenyu-integrated-test-spring-cloud"},{"case":"shenyu-integrated-test-websocket"},{"case":"shenyu-integrated-test-sdk-apache-dubbo"},{"case":"shenyu-integrated-test-sdk-http"}]}'
 
 # Non-code PRs still run required workflows, but must not schedule builds or 
E2E.
@@ -148,12 +154,14 @@ assert_output "e2e" "$(jq -cn --arg file 
"${ADMIN_SERVICE}" '["README.md", $file
 assert_ci_ignored "${E2E_GRPC}"
 assert_file_output "e2e" "${E2E_GRPC}" "e2e_matrix" \
   
'{"include":[{"script":"e2e-grpc-sync-compose","case":"shenyu-e2e-case-grpc","example_projects":":shenyu-examples-grpc"}]}'
+assert_ci_ignored "${E2E_CLUSTER}"
+assert_file_output "e2e" "${E2E_CLUSTER}" "e2e_matrix" "${CLUSTER_E2E_MATRIX}"
+assert_file_output "e2e" "${CLUSTER_SERVICE}" "e2e_matrix" 
"${CLUSTER_SERVICE_E2E_MATRIX}"
 assert_file_output "e2e" "${E2E_RABBITMQ}" "e2e_matrix" \
   
'{"include":[{"script":"e2e-logging-rocketmq-compose","case":"shenyu-e2e-case-logging-rocketmq","example_projects":":shenyu-examples-http"}]}'
 assert_file_output "e2e" "${E2E_RABBITMQ_CASE}" "e2e_matrix" \
   
'{"include":[{"script":"e2e-logging-rocketmq-compose","case":"shenyu-e2e-case-logging-rocketmq","example_projects":":shenyu-examples-http"}]}'
-assert_file_output "e2e" "pom.xml" "e2e_matrix" \
-  "$(jq -c '.include += 
[{script:"e2e-logging-rocketmq-compose",case:"shenyu-e2e-case-logging-rocketmq",example_projects:":shenyu-examples-http"}]'
 <<< "${ADMIN_REGISTER_E2E_MATRIX}")"
+assert_file_output "e2e" "pom.xml" "e2e_matrix" "${ALL_E2E_MATRIX}"
 assert_file_output "integration" "${E2E_GRPC}" "run_integration" "false"
 assert_file_output "k8s-ingress" "${E2E_GRPC}" "run_k8s_ingress" "false"
 
diff --git a/.github/scripts/resolve-test-case-matrix.sh 
b/.github/scripts/resolve-test-case-matrix.sh
index 5a442bf54e..c6efba0b5e 100644
--- a/.github/scripts/resolve-test-case-matrix.sh
+++ b/.github/scripts/resolve-test-case-matrix.sh
@@ -61,6 +61,8 @@ add_e2e_all() {
   add_unique e2e_cases "e2e-grpc-sync-compose"
   add_unique e2e_cases "e2e-websocket-sync-compose"
   add_unique e2e_cases "e2e-logging-rocketmq-compose"
+  add_unique e2e_cases "e2e-cluster-jdbc-compose"
+  add_unique e2e_cases "e2e-cluster-zookeeper-compose"
 }
 
 add_integration_all() {
@@ -264,6 +266,10 @@ map_direct_case_path() {
       shenyu-e2e/shenyu-e2e-case/shenyu-e2e-case-logging-rocketmq/*)
         add_unique e2e_cases "e2e-logging-rocketmq-compose"
         ;;
+      shenyu-e2e/shenyu-e2e-case/shenyu-e2e-case-cluster/*)
+        add_unique e2e_cases "e2e-cluster-jdbc-compose"
+        add_unique e2e_cases "e2e-cluster-zookeeper-compose"
+        ;;
     esac
   else
     case "${file}" in
@@ -358,6 +364,12 @@ map_domain_path() {
         add_unique integration_cases "shenyu-integrated-test-http"
       fi
       ;;
+    *cluster*|*Cluster*)
+      if [[ "${mode}" == "e2e" ]]; then
+        add_unique e2e_cases "e2e-cluster-jdbc-compose"
+        add_unique e2e_cases "e2e-cluster-zookeeper-compose"
+      fi
+      ;;
     *rewrite*)
       if [[ "${mode}" == "e2e" ]]; then
         add_unique e2e_cases "e2e-http-sync-compose"
@@ -461,6 +473,14 @@ e2e_matrix="$(printf '%s\n' "${e2e_cases[@]}" | jq -R . | 
jq -cs '
       "e2e-logging-rocketmq-compose": {
         case: "shenyu-e2e-case-logging-rocketmq",
         example_projects: ":shenyu-examples-http"
+      },
+      "e2e-cluster-jdbc-compose": {
+        case: "shenyu-e2e-case-cluster",
+        example_projects: ":shenyu-examples-http"
+      },
+      "e2e-cluster-zookeeper-compose": {
+        case: "shenyu-e2e-case-cluster",
+        example_projects: ":shenyu-examples-http"
       }
     }[.];
 

Reply via email to