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 e9dc39ad28 ci: scope admin registration test matrices (#7357)
e9dc39ad28 is described below

commit e9dc39ad287e31e4ab45bc6983bce91e9049f19b
Author: cloudbase-ai <[email protected]>
AuthorDate: Tue Sep 29 11:46:55 2026 +0800

    ci: scope admin registration test matrices (#7357)
    
    * ci: scope admin registration test matrices
    
    * ci: skip k8s builds for resolver-only changes
    
    ---------
    
    Co-authored-by: cloudbase-ai 
<[email protected]>
---
 .github/scripts/resolve-test-case-matrix-test.sh | 22 ++++++++++-
 .github/scripts/resolve-test-case-matrix.sh      | 47 ++++++++++++++++++++++--
 2 files changed, 65 insertions(+), 4 deletions(-)

diff --git a/.github/scripts/resolve-test-case-matrix-test.sh 
b/.github/scripts/resolve-test-case-matrix-test.sh
index 36ff621822..0376052df6 100644
--- a/.github/scripts/resolve-test-case-matrix-test.sh
+++ b/.github/scripts/resolve-test-case-matrix-test.sh
@@ -114,7 +114,11 @@ readonly 
E2E_GRPC="shenyu-e2e/shenyu-e2e-case/shenyu-e2e-case-grpc/compose/scrip
 readonly 
IT_GRPC="shenyu-integrated-test/shenyu-integrated-test-grpc/src/test/java/GrpcPluginTest.java"
 readonly 
IT_K8S_GRPC="shenyu-integrated-test/shenyu-integrated-test-k8s-ingress-grpc/script/healthcheck.sh"
 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 
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 
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 
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"}]}'
 
 assert_ci_ignored "${E2E_GRPC}"
 assert_file_output "e2e" "${E2E_GRPC}" "e2e_matrix" \
@@ -162,7 +166,23 @@ assert_file_output "k8s-ingress" \
   "k8s_ingress_matrix" '{"include":[]}'
 assert_file_output "k8s-ingress" 
".github/workflows/integrated-test-k8s-ingress.yml" \
   "k8s_ingress_matrix" "${ALL_K8S_INGRESS_MATRIX}"
+assert_file_output "k8s-ingress" ".github/scripts/resolve-test-case-matrix.sh" 
\
+  "run_k8s_ingress" "false"
+assert_file_output "k8s-ingress" ".github/scripts/resolve-test-case-matrix.sh" 
\
+  "k8s_ingress_matrix" '{"include":[]}'
 assert_file_output "k8s-ingress" 
".github/scripts/resolve-test-case-matrix-test.sh" \
-  "k8s_ingress_matrix" "${ALL_K8S_INGRESS_MATRIX}"
+  "run_k8s_ingress" "false"
+assert_file_output "k8s-ingress" 
".github/scripts/resolve-test-case-matrix-test.sh" \
+  "k8s_ingress_matrix" '{"include":[]}'
+
+assert_file_output "e2e" "${ADMIN_REGISTER}" "full_required" "false"
+assert_file_output "e2e" "${ADMIN_REGISTER}" "run_storage" "false"
+assert_file_output "e2e" "${ADMIN_REGISTER}" "e2e_matrix" 
"${ADMIN_REGISTER_E2E_MATRIX}"
+assert_file_output "integration" "${ADMIN_REGISTER}" "full_required" "false"
+assert_file_output "integration" "${ADMIN_REGISTER}" "integration_matrix" 
"${ADMIN_REGISTER_IT_MATRIX}"
+assert_file_output "k8s-ingress" "${ADMIN_REGISTER}" "k8s_ingress_matrix" 
"${ALL_K8S_INGRESS_MATRIX}"
+assert_file_output "k8s-examples-http" "${ADMIN_REGISTER}" "run_k8s_examples" 
"true"
+assert_file_output "e2e" "${ADMIN_SERVICE}" "full_required" "true"
+assert_file_output "integration" "${ADMIN_SERVICE}" "full_required" "true"
 
 echo "CI test routing tests passed"
diff --git a/.github/scripts/resolve-test-case-matrix.sh 
b/.github/scripts/resolve-test-case-matrix.sh
index 0cac323c92..b126711119 100644
--- a/.github/scripts/resolve-test-case-matrix.sh
+++ b/.github/scripts/resolve-test-case-matrix.sh
@@ -76,6 +76,25 @@ add_integration_all() {
   add_unique integration_cases "shenyu-integrated-test-sdk-http"
 }
 
+add_admin_register_e2e_cases() {
+  add_unique e2e_cases "e2e-http-sync-compose"
+  add_unique e2e_cases "e2e-springcloud-sync-compose"
+  add_unique e2e_cases "e2e-apache-dubbo-sync-compose"
+  add_unique e2e_cases "e2e-grpc-sync-compose"
+  add_unique e2e_cases "e2e-websocket-sync-compose"
+}
+
+add_admin_register_integration_cases() {
+  add_unique integration_cases "shenyu-integrated-test-apache-dubbo"
+  add_unique integration_cases "shenyu-integrated-test-grpc"
+  add_unique integration_cases "shenyu-integrated-test-http"
+  add_unique integration_cases "shenyu-integrated-test-https"
+  add_unique integration_cases "shenyu-integrated-test-spring-cloud"
+  add_unique integration_cases "shenyu-integrated-test-websocket"
+  add_unique integration_cases "shenyu-integrated-test-sdk-apache-dubbo"
+  add_unique integration_cases "shenyu-integrated-test-sdk-http"
+}
+
 add_k8s_ingress_all() {
   add_unique k8s_ingress_cases "shenyu-integrated-test-k8s-ingress-http"
   add_unique k8s_ingress_cases 
"shenyu-integrated-test-k8s-ingress-apache-dubbo"
@@ -174,6 +193,26 @@ resolve_k8s_change() {
   return 1
 }
 
+map_admin_register_path() {
+  local file="$1"
+
+  case "${file}" in
+    shenyu-admin/src/main/java/org/apache/shenyu/admin/service/register/*|\
+    shenyu-admin/src/test/java/org/apache/shenyu/admin/service/register/*)
+      if [[ "${mode}" == "e2e" ]]; then
+        add_admin_register_e2e_cases
+      elif [[ "${mode}" == "integration" ]]; then
+        add_admin_register_integration_cases
+      else
+        return 1
+      fi
+      return 0
+      ;;
+  esac
+
+  return 1
+}
+
 mark_full_if_shared() {
   local file="$1"
 
@@ -352,9 +391,7 @@ while IFS= read -r file; do
 
   if [[ "${mode}" == "k8s-ingress" ]]; then
     case "${file}" in
-      .github/workflows/integrated-test-k8s-ingress.yml|\
-      .github/scripts/resolve-test-case-matrix.sh|\
-      .github/scripts/resolve-test-case-matrix-test.sh)
+      .github/workflows/integrated-test-k8s-ingress.yml)
         add_k8s_ingress_all
         continue
         ;;
@@ -373,6 +410,10 @@ while IFS= read -r file; do
     continue
   fi
 
+  if map_admin_register_path "${file}"; then
+    continue
+  fi
+
   if [[ "$(basename "${file}")" == "pom.xml" && -f "${file}" ]] && grep -q 
"<modules>" "${file}"; then
     full_required=true
   fi

Reply via email to