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