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

yuluo-yx 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 e2e201ca3a ci: limit GHCR publishing to runtime changes (#7354)
e2e201ca3a is described below

commit e2e201ca3a5c754f16dd8c36358e5113868c3e20
Author: aias00 <[email protected]>
AuthorDate: Mon Sep 28 19:17:04 2026 -0700

    ci: limit GHCR publishing to runtime changes (#7354)
    
    * ci: limit GHCR publishing to runtime changes
    
    * ci: consolidate test routing checks
---
 .github/scripts/resolve-ghcr-publish-test.sh       |  68 +++++++++++
 .github/scripts/resolve-k8s-ingress-matrix-test.sh |  66 -----------
 .github/scripts/resolve-test-case-matrix-test.sh   | 127 ++++++++++++++++++---
 .github/scripts/resolve-test-case-matrix.sh        |   2 +-
 .../scripts/resolve-test-domain-routing-test.sh    | 104 -----------------
 .github/workflows/ci.yml                           |   4 +-
 .github/workflows/docker-publish.yml               |   7 +-
 .github/workflows/integrated-test-k8s-ingress.yml  |   4 +-
 8 files changed, 186 insertions(+), 196 deletions(-)

diff --git a/.github/scripts/resolve-ghcr-publish-test.sh 
b/.github/scripts/resolve-ghcr-publish-test.sh
new file mode 100644
index 0000000000..65f2f6ad7b
--- /dev/null
+++ b/.github/scripts/resolve-ghcr-publish-test.sh
@@ -0,0 +1,68 @@
+#!/usr/bin/env bash
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+set -euo pipefail
+
+WORKFLOW_FILE="${1:-.github/workflows/docker-publish.yml}"
+readonly WORKFLOW_FILE
+
+ruby - "${WORKFLOW_FILE}" <<'RUBY'
+require "yaml"
+
+workflow = YAML.safe_load(File.read(ARGV.fetch(0)), aliases: true)
+events = workflow["on"] || workflow[true]
+push = events.fetch("push")
+patterns = push.fetch("paths-ignore")
+flags = File::FNM_PATHNAME | File::FNM_DOTMATCH | File::FNM_EXTGLOB
+
+def ignored?(patterns, path, flags)
+  patterns.any? do |pattern|
+    if pattern.end_with?("/**")
+      path.start_with?(pattern.delete_suffix("**"))
+    else
+      File.fnmatch?(pattern, path, flags)
+    end
+  end
+end
+
+ignored_paths = [
+  ".github/workflows/ci.yml",
+  "actions/setup-java-with-retry/action.yml",
+  "shenyu-e2e/shenyu-e2e-case/pom.xml",
+  "shenyu-integrated-test/shenyu-integrated-test-grpc/pom.xml",
+  "shenyu-examples/shenyu-examples-http/pom.xml"
+]
+runtime_paths = [
+  "pom.xml",
+  "db/init/mysql/schema.sql",
+  "shenyu-admin/src/main/java/Admin.java",
+  "shenyu-plugin/shenyu-plugin-api/src/main/java/ShenyuPlugin.java",
+  "shenyu-dist/shenyu-admin-dist/docker/Dockerfile"
+]
+
+ignored_paths.each do |path|
+  raise "Expected #{path} to skip GHCR publishing" unless ignored?(patterns, 
path, flags)
+end
+
+runtime_paths.each do |path|
+  raise "Expected #{path} to trigger GHCR publishing" if ignored?(patterns, 
path, flags)
+end
+
+raise "Release tag publishing must remain enabled" unless 
push.fetch("tags").include?("v*.*.*")
+
+puts "GHCR publish path tests passed"
+RUBY
diff --git a/.github/scripts/resolve-k8s-ingress-matrix-test.sh 
b/.github/scripts/resolve-k8s-ingress-matrix-test.sh
deleted file mode 100644
index 250a8ab592..0000000000
--- a/.github/scripts/resolve-k8s-ingress-matrix-test.sh
+++ /dev/null
@@ -1,66 +0,0 @@
-#!/usr/bin/env bash
-#
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-set -euo pipefail
-
-SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
-readonly SCRIPT_DIR
-readonly RESOLVER="${SCRIPT_DIR}/resolve-test-case-matrix.sh"
-
-resolve_matrix() {
-  local changed_files_json="$1"
-  local output_file
-
-  output_file="$(mktemp)"
-  CI_CASE_MODE="k8s-ingress" \
-    CHANGED_FILES_JSON="${changed_files_json}" \
-    GITHUB_OUTPUT="${output_file}" \
-    bash "${RESOLVER}" >/dev/null
-  awk -F= '$1 == "k8s_ingress_matrix" { sub(/^[^=]*=/, ""); print }' 
"${output_file}"
-  rm -f "${output_file}"
-}
-
-assert_matrix() {
-  local changed_files_json="$1"
-  local expected="$2"
-  local actual
-
-  actual="$(resolve_matrix "${changed_files_json}")"
-  if [[ "${actual}" != "${expected}" ]]; then
-    echo "Expected ${expected} for ${changed_files_json}, got 
${actual:-<empty>}" >&2
-    return 1
-  fi
-}
-
-assert_matrix 
'["shenyu-plugin/shenyu-plugin-proxy/shenyu-plugin-rpc/shenyu-plugin-grpc/pom.xml"]'
 \
-  '{"include":[{"case":"shenyu-integrated-test-k8s-ingress-grpc"}]}'
-assert_matrix 
'["shenyu-plugin/shenyu-plugin-proxy/shenyu-plugin-websocket/pom.xml"]' \
-  '{"include":[{"case":"shenyu-integrated-test-k8s-ingress-websocket"}]}'
-assert_matrix 
'["shenyu-plugin/shenyu-plugin-proxy/shenyu-plugin-divide/pom.xml"]' \
-  '{"include":[{"case":"shenyu-integrated-test-k8s-ingress-http"}]}'
-assert_matrix 
'["shenyu-plugin/shenyu-plugin-proxy/shenyu-plugin-rpc/shenyu-plugin-dubbo/shenyu-plugin-apache-dubbo/pom.xml"]'
 \
-  '{"include":[{"case":"shenyu-integrated-test-k8s-ingress-apache-dubbo"}]}'
-assert_matrix 
'["shenyu-plugin/shenyu-plugin-proxy/shenyu-plugin-rpc/shenyu-plugin-grpc/pom.xml","shenyu-plugin/shenyu-plugin-proxy/shenyu-plugin-websocket/pom.xml","shenyu-plugin/shenyu-plugin-proxy/shenyu-plugin-rpc/shenyu-plugin-grpc/src/main/java/GrpcPlugin.java"]'
 \
-  
'{"include":[{"case":"shenyu-integrated-test-k8s-ingress-grpc"},{"case":"shenyu-integrated-test-k8s-ingress-websocket"}]}'
-assert_matrix '["shenyu-common/pom.xml"]' \
-  
'{"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"}]}'
-assert_matrix 
'["shenyu-plugin/shenyu-plugin-ai/shenyu-plugin-ai-common/pom.xml"]' \
-  '{"include":[]}'
-assert_matrix '[".github/workflows/integrated-test-k8s-ingress.yml"]' \
-  
'{"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"}]}'
-
-echo "IT-K8s matrix resolver tests passed"
diff --git a/.github/scripts/resolve-test-case-matrix-test.sh 
b/.github/scripts/resolve-test-case-matrix-test.sh
index d29de388d5..36ff621822 100644
--- a/.github/scripts/resolve-test-case-matrix-test.sh
+++ b/.github/scripts/resolve-test-case-matrix-test.sh
@@ -21,9 +21,16 @@ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
 readonly SCRIPT_DIR
 readonly RESOLVER="${SCRIPT_DIR}/resolve-test-case-matrix.sh"
 
-assert_k8s_output() {
+read_output() {
+  local output_file="$1"
+  local output_name="$2"
+
+  awk -F= -v name="${output_name}" '$1 == name { sub(/^[^=]*=/, ""); print }' 
"${output_file}"
+}
+
+assert_output() {
   local mode="$1"
-  local changed_file="$2"
+  local changed_files_json="$2"
   local output_name="$3"
   local expected="$4"
   local output_file
@@ -31,47 +38,131 @@ assert_k8s_output() {
 
   output_file="$(mktemp)"
   CI_CASE_MODE="${mode}" \
-    CHANGED_FILES_JSON="$(jq -cn --arg file "${changed_file}" '[ $file ]')" \
+    CHANGED_FILES_JSON="${changed_files_json}" \
     GITHUB_OUTPUT="${output_file}" \
     bash "${RESOLVER}" >/dev/null
 
-  actual="$(awk -F= -v name="${output_name}" '$1 == name { print $2 }' 
"${output_file}")"
+  actual="$(read_output "${output_file}" "${output_name}")"
   rm -f "${output_file}"
 
   if [[ "${actual}" != "${expected}" ]]; then
-    echo "Expected ${output_name}=${expected} for ${changed_file}, got 
${actual}" >&2
+    echo "Expected ${output_name}=${expected} for 
${mode}:${changed_files_json}, got ${actual}" >&2
+    return 1
+  fi
+}
+
+assert_file_output() {
+  local mode="$1"
+  local changed_file="$2"
+  local output_name="$3"
+  local expected="$4"
+  local changed_files_json
+
+  changed_files_json="$(jq -cn --arg file "${changed_file}" '[ $file ]')"
+  assert_output "${mode}" "${changed_files_json}" "${output_name}" 
"${expected}"
+}
+
+assert_ci_ignored() {
+  local changed_file="$1"
+  local output_file
+  local actual
+
+  output_file="$(mktemp)"
+  CHANGED_FILES_JSON="$(jq -cn --arg file "${changed_file}" '[ $file ]')" \
+    GITHUB_OUTPUT="${output_file}" \
+    bash "${SCRIPT_DIR}/resolve-ci-modules.sh" >/dev/null
+  actual="$(read_output "${output_file}" "has_code_changes")"
+  rm -f "${output_file}"
+
+  if [[ "${actual}" != "false" ]]; then
+    echo "Expected main CI to ignore ${changed_file}, got 
has_code_changes=${actual}" >&2
     return 1
   fi
 }
 
-assert_k8s_output "k8s-ingress" \
+assert_file_output "k8s-ingress" \
   "shenyu-client/shenyu-client-mcp/shenyu-client-mcp-common/pom.xml" \
   "run_k8s_ingress" "false"
-assert_k8s_output "k8s-ingress" \
+assert_file_output "k8s-ingress" \
   "shenyu-plugin/shenyu-plugin-ai/shenyu-plugin-ai-common/pom.xml" \
   "run_k8s_ingress" "false"
-assert_k8s_output "k8s-ingress" \
+assert_file_output "k8s-ingress" \
   "shenyu-integrated-test/shenyu-integrated-test-k8s-ingress-grpc/pom.xml" \
   "run_k8s_ingress" "true"
-assert_k8s_output "k8s-ingress" \
+assert_file_output "k8s-ingress" \
   
"shenyu-plugin/shenyu-plugin-proxy/shenyu-plugin-rpc/shenyu-plugin-grpc/pom.xml"
 \
   "run_k8s_ingress" "true"
-assert_k8s_output "k8s-ingress" "shenyu-common/pom.xml" "run_k8s_ingress" 
"true"
-assert_k8s_output "k8s-ingress" "pom.xml" "run_k8s_ingress" "true"
+assert_file_output "k8s-ingress" "shenyu-common/pom.xml" "run_k8s_ingress" 
"true"
+assert_file_output "k8s-ingress" "pom.xml" "run_k8s_ingress" "true"
 
-assert_k8s_output "k8s-examples-http" \
+assert_file_output "k8s-examples-http" \
   "shenyu-client/shenyu-client-mcp/shenyu-client-mcp-common/pom.xml" \
   "run_k8s_examples" "false"
-assert_k8s_output "k8s-examples-http" \
+assert_file_output "k8s-examples-http" \
   "shenyu-examples/shenyu-examples-grpc/pom.xml" \
   "run_k8s_examples" "false"
-assert_k8s_output "k8s-examples-http" \
+assert_file_output "k8s-examples-http" \
   "shenyu-examples/shenyu-examples-http/pom.xml" \
   "run_k8s_examples" "true"
-assert_k8s_output "k8s-examples-http" \
+assert_file_output "k8s-examples-http" \
   "shenyu-plugin/shenyu-plugin-proxy/shenyu-plugin-divide/pom.xml" \
   "run_k8s_examples" "true"
-assert_k8s_output "k8s-examples-http" "shenyu-bootstrap/pom.xml" 
"run_k8s_examples" "true"
-assert_k8s_output "k8s-examples-http" "pom.xml" "run_k8s_examples" "true"
+assert_file_output "k8s-examples-http" "shenyu-bootstrap/pom.xml" 
"run_k8s_examples" "true"
+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 
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 
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"}]}'
+
+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_file_output "integration" "${E2E_GRPC}" "run_integration" "false"
+assert_file_output "k8s-ingress" "${E2E_GRPC}" "run_k8s_ingress" "false"
+
+assert_ci_ignored "${IT_GRPC}"
+assert_file_output "integration" "${IT_GRPC}" "integration_matrix" \
+  '{"include":[{"case":"shenyu-integrated-test-grpc"}]}'
+assert_file_output "e2e" "${IT_GRPC}" "run_e2e" "false"
+assert_file_output "k8s-ingress" "${IT_GRPC}" "run_k8s_ingress" "false"
+
+assert_ci_ignored "${IT_K8S_GRPC}"
+assert_file_output "k8s-ingress" "${IT_K8S_GRPC}" "run_k8s_ingress" "true"
+assert_file_output "integration" "${IT_K8S_GRPC}" "run_integration" "false"
+assert_file_output "e2e" "${IT_K8S_GRPC}" "run_e2e" "false"
+
+assert_file_output "integration" "${PROD_GRPC}" "run_integration" "true"
+assert_file_output "e2e" "${PROD_GRPC}" "run_e2e" "true"
+assert_file_output "k8s-ingress" "${PROD_GRPC}" "run_k8s_ingress" "true"
+
+assert_file_output "k8s-ingress" "${PROD_GRPC}" "k8s_ingress_matrix" \
+  '{"include":[{"case":"shenyu-integrated-test-k8s-ingress-grpc"}]}'
+assert_file_output "k8s-ingress" \
+  "shenyu-plugin/shenyu-plugin-proxy/shenyu-plugin-websocket/pom.xml" \
+  "k8s_ingress_matrix" \
+  '{"include":[{"case":"shenyu-integrated-test-k8s-ingress-websocket"}]}'
+assert_file_output "k8s-ingress" \
+  "shenyu-plugin/shenyu-plugin-proxy/shenyu-plugin-divide/pom.xml" \
+  "k8s_ingress_matrix" \
+  '{"include":[{"case":"shenyu-integrated-test-k8s-ingress-http"}]}'
+assert_file_output "k8s-ingress" \
+  
"shenyu-plugin/shenyu-plugin-proxy/shenyu-plugin-rpc/shenyu-plugin-dubbo/shenyu-plugin-apache-dubbo/pom.xml"
 \
+  "k8s_ingress_matrix" \
+  '{"include":[{"case":"shenyu-integrated-test-k8s-ingress-apache-dubbo"}]}'
+assert_output "k8s-ingress" \
+  
'["shenyu-plugin/shenyu-plugin-proxy/shenyu-plugin-rpc/shenyu-plugin-grpc/pom.xml","shenyu-plugin/shenyu-plugin-proxy/shenyu-plugin-websocket/pom.xml","shenyu-plugin/shenyu-plugin-proxy/shenyu-plugin-rpc/shenyu-plugin-grpc/src/main/java/GrpcPlugin.java"]'
 \
+  "k8s_ingress_matrix" \
+  
'{"include":[{"case":"shenyu-integrated-test-k8s-ingress-grpc"},{"case":"shenyu-integrated-test-k8s-ingress-websocket"}]}'
+assert_file_output "k8s-ingress" "shenyu-common/pom.xml" "k8s_ingress_matrix" \
+  "${ALL_K8S_INGRESS_MATRIX}"
+assert_file_output "k8s-ingress" \
+  "shenyu-plugin/shenyu-plugin-ai/shenyu-plugin-ai-common/pom.xml" \
+  "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-test.sh" \
+  "k8s_ingress_matrix" "${ALL_K8S_INGRESS_MATRIX}"
 
-echo "resolve-test-case-matrix k8s tests passed"
+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 23cfcd18aa..0cac323c92 100644
--- a/.github/scripts/resolve-test-case-matrix.sh
+++ b/.github/scripts/resolve-test-case-matrix.sh
@@ -354,7 +354,7 @@ while IFS= read -r file; do
     case "${file}" in
       .github/workflows/integrated-test-k8s-ingress.yml|\
       .github/scripts/resolve-test-case-matrix.sh|\
-      .github/scripts/resolve-k8s-ingress-matrix-test.sh)
+      .github/scripts/resolve-test-case-matrix-test.sh)
         add_k8s_ingress_all
         continue
         ;;
diff --git a/.github/scripts/resolve-test-domain-routing-test.sh 
b/.github/scripts/resolve-test-domain-routing-test.sh
deleted file mode 100644
index 609df0213b..0000000000
--- a/.github/scripts/resolve-test-domain-routing-test.sh
+++ /dev/null
@@ -1,104 +0,0 @@
-#!/usr/bin/env bash
-#
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-set -euo pipefail
-
-SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
-readonly SCRIPT_DIR
-
-read_output() {
-  local output_file="$1"
-  local name="$2"
-
-  awk -F= -v name="${name}" '$1 == name { sub(/^[^=]*=/, ""); print }' 
"${output_file}"
-}
-
-resolve_cases() {
-  local mode="$1"
-  local changed_file="$2"
-  local output_file="$3"
-
-  CI_CASE_MODE="${mode}" \
-    CHANGED_FILES_JSON="$(jq -cn --arg file "${changed_file}" '[ $file ]')" \
-    GITHUB_OUTPUT="${output_file}" \
-    bash "${SCRIPT_DIR}/resolve-test-case-matrix.sh" >/dev/null
-}
-
-assert_output() {
-  local mode="$1"
-  local changed_file="$2"
-  local output_name="$3"
-  local expected="$4"
-  local output_file
-  local actual
-
-  output_file="$(mktemp)"
-  resolve_cases "${mode}" "${changed_file}" "${output_file}"
-  actual="$(read_output "${output_file}" "${output_name}")"
-  rm -f "${output_file}"
-
-  if [[ "${actual}" != "${expected}" ]]; then
-    echo "Expected ${output_name}=${expected} for ${mode}:${changed_file}, got 
${actual}" >&2
-    return 1
-  fi
-}
-
-assert_ci_ignored() {
-  local changed_file="$1"
-  local output_file
-  local actual
-
-  output_file="$(mktemp)"
-  CHANGED_FILES_JSON="$(jq -cn --arg file "${changed_file}" '[ $file ]')" \
-    GITHUB_OUTPUT="${output_file}" \
-    bash "${SCRIPT_DIR}/resolve-ci-modules.sh" >/dev/null
-  actual="$(read_output "${output_file}" "has_code_changes")"
-  rm -f "${output_file}"
-
-  if [[ "${actual}" != "false" ]]; then
-    echo "Expected main CI to ignore ${changed_file}, got 
has_code_changes=${actual}" >&2
-    return 1
-  fi
-}
-
-readonly 
E2E_GRPC="shenyu-e2e/shenyu-e2e-case/shenyu-e2e-case-grpc/compose/script/e2e-grpc-sync-compose.sh"
-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"
-
-assert_ci_ignored "${E2E_GRPC}"
-assert_output "e2e" "${E2E_GRPC}" "e2e_matrix" \
-  
'{"include":[{"script":"e2e-grpc-sync-compose","case":"shenyu-e2e-case-grpc","example_projects":":shenyu-examples-grpc"}]}'
-assert_output "integration" "${E2E_GRPC}" "run_integration" "false"
-assert_output "k8s-ingress" "${E2E_GRPC}" "run_k8s_ingress" "false"
-
-assert_ci_ignored "${IT_GRPC}"
-assert_output "integration" "${IT_GRPC}" "integration_matrix" \
-  '{"include":[{"case":"shenyu-integrated-test-grpc"}]}'
-assert_output "e2e" "${IT_GRPC}" "run_e2e" "false"
-assert_output "k8s-ingress" "${IT_GRPC}" "run_k8s_ingress" "false"
-
-assert_ci_ignored "${IT_K8S_GRPC}"
-assert_output "k8s-ingress" "${IT_K8S_GRPC}" "run_k8s_ingress" "true"
-assert_output "integration" "${IT_K8S_GRPC}" "run_integration" "false"
-assert_output "e2e" "${IT_K8S_GRPC}" "run_e2e" "false"
-
-assert_output "integration" "${PROD_GRPC}" "run_integration" "true"
-assert_output "e2e" "${PROD_GRPC}" "run_e2e" "true"
-assert_output "k8s-ingress" "${PROD_GRPC}" "run_k8s_ingress" "true"
-
-echo "test workflow domain routing tests passed"
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 9212860eef..ca6b523323 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -80,8 +80,6 @@ jobs:
       - uses: actions/checkout@v3
       - name: Test CI case resolver
         run: bash .github/scripts/resolve-test-case-matrix-test.sh
-      - name: Test CI domain routing
-        run: bash .github/scripts/resolve-test-domain-routing-test.sh
       - uses: ./actions/paths-filter
         id: filter
         with:
@@ -118,6 +116,8 @@ jobs:
         env:
           CHANGED_FILES_JSON: ${{ steps.filter.outputs.code_files }}
         run: bash .github/scripts/resolve-ci-modules.sh
+      - name: Test GHCR publish routing
+        run: bash .github/scripts/resolve-ghcr-publish-test.sh
 
   pr_build:
     needs: changes
diff --git a/.github/workflows/docker-publish.yml 
b/.github/workflows/docker-publish.yml
index f6b61483b0..fa1d3aeddf 100644
--- a/.github/workflows/docker-publish.yml
+++ b/.github/workflows/docker-publish.yml
@@ -37,8 +37,11 @@ on:
       - '.asf.yaml'
       - '.gitignore'
       - '.licenserc.yaml'
-      - '.github/ISSUE_TEMPLATE/**'
-      - '.github/PULL_REQUEST_TEMPLATE'
+      - '.github/**'
+      - 'actions/**'
+      - 'shenyu-e2e/**'
+      - 'shenyu-integrated-test/**'
+      - 'shenyu-examples/**'
       - '**/resources/static/**'
 
 env:
diff --git a/.github/workflows/integrated-test-k8s-ingress.yml 
b/.github/workflows/integrated-test-k8s-ingress.yml
index 80b609a779..a079b62125 100644
--- a/.github/workflows/integrated-test-k8s-ingress.yml
+++ b/.github/workflows/integrated-test-k8s-ingress.yml
@@ -76,8 +76,6 @@ jobs:
       k8s_ingress_matrix: ${{ steps.cases.outputs.k8s_ingress_matrix }}
     steps:
       - uses: actions/checkout@v3
-      - name: Test IT-K8s matrix resolver
-        run: bash .github/scripts/resolve-k8s-ingress-matrix-test.sh
       - uses: ./actions/paths-filter
         id: filter
         with:
@@ -102,7 +100,7 @@ jobs:
               - '!.github/PULL_REQUEST_TEMPLATE'
               - '.github/workflows/integrated-test-k8s-ingress.yml'
               - '.github/scripts/resolve-test-case-matrix.sh'
-              - '.github/scripts/resolve-k8s-ingress-matrix-test.sh'
+              - '.github/scripts/resolve-test-case-matrix-test.sh'
       - name: Resolve k8s ingress cases
         id: cases
         if: steps.filter.outputs['k8s-ingress'] == 'true'

Reply via email to