From 650376066b187819dbb69d8d30c667cafb2bfad3 Mon Sep 17 00:00:00 2001 From: Nic Date: Fri, 26 Jun 2026 15:01:53 +0800 Subject: [PATCH 1/3] ci: run proxy-cache and dubbo-proxy plugin subdirectory tests The `t/plugin/[a-k]*.t` / `t/plugin/[l-z]*.t` matrix globs only match top-level `.t` files, so plugin tests that live in subdirectories were never executed by CI. This silently dropped coverage for: t/plugin/proxy-cache/{disk,memory}.t t/plugin/dubbo-proxy/{route,upstream}.t The dubbo backend is already started in build.yml, so the dubbo-proxy tests were prepared to run but the glob never reached them. Add the two directories to the matrix so `prove -r` recurses them. The ext-plugin subdirectory tests are intentionally left out for now: several of them require a real external plugin runner that CI does not currently set up, so enabling them needs separate work. --- .github/workflows/build.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index f600c983faac..6ba9126cf0f8 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -29,8 +29,8 @@ jobs: os_name: - linux_openresty test_dir: - - t/plugin/[a-k]*.t - - t/stream-plugin t/plugin/[l-z]*.t + - t/plugin/[a-k]*.t t/plugin/dubbo-proxy + - t/stream-plugin t/plugin/[l-z]*.t t/plugin/proxy-cache - t/admin t/cli t/config-center-yaml t/control t/core t/debug t/discovery t/error_page t/http3/admin t/misc - t/node t/pubsub t/router t/script t/secret t/stream-node t/utils t/wasm t/xds-library t/xrpc From 414a9355cfe62333cd39e247eaa89d90ca595518 Mon Sep 17 00:00:00 2001 From: Nic Date: Fri, 26 Jun 2026 16:30:59 +0800 Subject: [PATCH 2/3] ci: keep this change to proxy-cache only Enabling dubbo-proxy surfaced a stale test: dubbo-proxy/route.t TEST 1 fails because current apisix logs `config_yaml.lua:339: unknown plugin [dubbo-proxy]` when dubbo is disabled globally, and the test's implicit no_error_log check rejects it. The route still works (returns "hello world"); only the test's error_log expectation is out of date from never being run. That's a separate test fix, so scope this PR to the proxy-cache directory, which passes as-is. --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 6ba9126cf0f8..a8cef92eacbb 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -29,7 +29,7 @@ jobs: os_name: - linux_openresty test_dir: - - t/plugin/[a-k]*.t t/plugin/dubbo-proxy + - t/plugin/[a-k]*.t - t/stream-plugin t/plugin/[l-z]*.t t/plugin/proxy-cache - t/admin t/cli t/config-center-yaml t/control t/core t/debug t/discovery t/error_page t/http3/admin t/misc - t/node t/pubsub t/router t/script t/secret t/stream-node t/utils t/wasm t/xds-library t/xrpc From 5bc69e5b99cc02462ae2bb6e0ae6e7856d48bbcd Mon Sep 17 00:00:00 2001 From: Nic Date: Mon, 29 Jun 2026 09:23:33 +0800 Subject: [PATCH 3/3] ci: also run dubbo-proxy subdirectory tests; update stale route.t TEST 1 dubbo-proxy plugin tests live in a subdirectory that the matrix globs never matched, so they never ran (even though build.yml already starts the Dubbo backend). Add t/plugin/dubbo-proxy to the matrix. route.t TEST 1 had rotted while unrun: it asserted that a route referencing a globally-disabled plugin is silently loaded and the plugin skipped, but apisix now rejects such a route (config_yaml reports "unknown plugin" and the route is not created, so the request gets 404). Update the test to assert the current behavior. ext-plugin is left out for now: those tests are timing-flaky when run in a batch and need separate isolation work. --- .github/workflows/build.yml | 2 +- t/plugin/dubbo-proxy/route.t | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index a8cef92eacbb..6ba9126cf0f8 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -29,7 +29,7 @@ jobs: os_name: - linux_openresty test_dir: - - t/plugin/[a-k]*.t + - t/plugin/[a-k]*.t t/plugin/dubbo-proxy - t/stream-plugin t/plugin/[l-z]*.t t/plugin/proxy-cache - t/admin t/cli t/config-center-yaml t/control t/core t/debug t/discovery t/error_page t/http3/admin t/misc - t/node t/pubsub t/router t/script t/secret t/stream-node t/utils t/wasm t/xds-library t/xrpc diff --git a/t/plugin/dubbo-proxy/route.t b/t/plugin/dubbo-proxy/route.t index d21b0629e0d3..c5fb13beffd9 100644 --- a/t/plugin/dubbo-proxy/route.t +++ b/t/plugin/dubbo-proxy/route.t @@ -81,7 +81,7 @@ run_tests(); __DATA__ -=== TEST 1: ignore route's dubbo configuration if dubbo is disable globally +=== TEST 1: route referencing a globally-disabled plugin is rejected --- disable_dubbo --- apisix_yaml routes: @@ -96,8 +96,11 @@ routes: nodes: "127.0.0.1:1980": 1 type: roundrobin +--- error_code: 404 --- response_body -hello world +{"error_msg":"404 Route Not Found"} +--- error_log +unknown plugin [dubbo-proxy]