terrymanu commented on PR #38769:
URL: https://github.com/apache/shardingsphere/pull/38769#issuecomment-4598656247
### Decision
- **Merge Verdict: Mergeable**
- **Reviewed Scope:** Latest PR head
`4757a74581bff9dc57d17aaab0d5b9da1d6dd936`; local merge-base
`0ee3f817c35aa1bdd269d752ba09c9cc43a7b39e`. Reviewed
`.github/workflows/e2e-agent.yml`, `.github/workflows/jdk21-subchain-ci.yml`,
`.github/workflows/mcp-llm-e2e.yml`, and
`.github/workflows/mcp-llm-usability-e2e.yml`. Local triple-dot file list
matched GitHub `/pulls/38769/files` exactly, 4/4 files.
- **Not Reviewed Scope:** GitHub Actions / CI status was intentionally not
used. No Java production code, SQL parser behavior, runtime MCP protocol
behavior, or actual E2E job execution was reviewed because the PR only changes
workflow triggers.
- **Need Expert Review:** No additional security, parser, concurrency, or
protocol expert review is required for this workflow-only change.
### Basis
- The PR addresses the stated root cause: heavyweight MCP, MCP LLM, MCP
distribution, and agent E2E workflows were too easy to trigger from unrelated
changes.
- `e2e-agent.yml:24` now keeps agent E2E focused on
agent/proxy/JDBC-relevant inputs, while excluding `mcp/**` and release-doc-only
distribution changes.
- `jdk21-subchain-ci.yml:49` adds an inline `dorny/paths-filter` gate so the
MCP HTTP contract, MySQL, and distribution E2E jobs can be selected
independently after the workflow itself is triggered.
- `jdk21-subchain-ci.yml:61` uses module-level MCP filters: `mcp/**`,
`test/e2e/mcp/**`, and `distribution/mcp/**` only for the distribution
category. This avoids business-directory-level filtering while keeping MCP E2E
and MCP distribution separated.
- `mcp-llm-e2e.yml:29` and `mcp-llm-usability-e2e.yml:29` now trigger on MCP
production module changes plus MCP E2E test harness changes, and no longer
trigger from MCP distribution-only changes.
- Adversarial pass:
- Adjacent-feature path: `distribution/proxy/src/main/java/...` still maps
to agent E2E, while `distribution/proxy/src/main/release-docs/...` does not.
- Config/manual path: `workflow_dispatch` remains available and bypasses
path-filter selectivity as expected.
- Original symptom path: ordinary root files such as `LICENSE` and
documentation paths do not match the heavyweight MCP or agent E2E trigger set.
- No SQL parser behavior, name resolution, routing precedence, shared
runtime execution path, dependency manifest, or
`ConcurrentHashMap#computeIfAbsent` hot path is changed.
### Verification
- GitHub PR metadata checked: latest head
`4757a74581bff9dc57d17aaab0d5b9da1d6dd936`, changed files count 4.
- GitHub `/pulls/38769/files` cross-check matched local `git diff $(git
merge-base refs/remotes/apache/master
refs/remotes/apache/pr/38769)..refs/remotes/apache/pr/38769 --name-status`.
- Reviewer-run YAML parsing passed for all 4 changed workflow files.
- Reviewer-run workflow standards check passed: no duplicate job names, no
missing timeout on non-reusable jobs, no timeout greater than 60 minutes.
- Reviewer-run search found no residual `.specify`, `mcp/pom.xml`, or
`mcp/api/**` style MCP submodule filters in `.github/workflows`.
- Reviewer-run path-filter counterexamples matched expected scope:
- `LICENSE` and docs paths trigger none of these heavyweight workflows.
- `mcp/api/src/main/java/...` triggers JDK21 MCP, LLM smoke, and LLM
usability workflows.
- `distribution/mcp/...` triggers JDK21 MCP distribution coverage only.
- `agent/core/src/main/java/...` and `test/e2e/agent/...` still trigger
agent E2E.
- `./mvnw checkstyle:check -Pcheck -T1C`: passed.
- `./mvnw apache-rat:check -Pcheck -T1C`: passed.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]