Build/Test Tools: Match raw PR body when closing PRs for fixed Trac tickets - #13153
Open
irozum wants to merge 1 commit into
Open
Build/Test Tools: Match raw PR body when closing PRs for fixed Trac tickets#13153irozum wants to merge 1 commit into
irozum wants to merge 1 commit into
Conversation
|
The following accounts have interacted with this PR and/or linked issues. I will continue to update these lists as activity occurs. You can also manually ask me to refresh this list by adding the Core Committers: Use this line as a base for the props when committing in SVN: To understand the WordPress project's expectations around crediting contributors, please review the Contributor Attribution page in the Core Handbook. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The
reusable-cleanup-pull-requests.ymlworkflow closes open PRs that reference a Trac ticket noted as fixed in a commit message. It does this by searching GitHub for PRs whose body contains either the full Trac ticket URL or acore-<id>string, then double-checks the match against the PR's body text before closing it.Both the search and the double-check miss PRs that reference the ticket as a Markdown link with just the ticket number as the link text (e.g.
Trac ticket: [65864](https://core.trac.wordpress.org/ticket/65864)), which the PR template's own wording ("a link to the WordPress Trac ticket") doesn't rule out. GitHub's search index only covers a PR's rendered/visible text, not Markdown link targets, so the URL search term never matches this style. The double-check filter had the same problem in a second way: it read thebodyTextfield, which strips Markdown links down to their visible text and drops the URL entirely, so even a PR that did surface via search would fail the manual re-check.This fixes both:
bodyTextto the rawbodyfield, which retains the literal URL even inside a Markdown link, so the widened search doesn't introduce false positives from unrelated PRs that merely mention the same number.Verified against the real GitHub GraphQL API using ticket #65864 (the ticket cited in the bug report) — the current search misses PR #13021 (Markdown-link style), and the widened query surfaces it. Also unit-verified the body-matching logic in isolation against a plain-URL body, a Markdown-link body, a
core-<id>body, and a deliberately unrelated body that just happens to mention the same number — the fix matches the first three and correctly rejects the last.actionlintandzizmorboth pass clean on the modified file.Trac ticket: https://core.trac.wordpress.org/ticket/65892
Use of AI Tools
AI assistance: Yes
Tool(s): Claude Code
Model(s): Claude Sonnet 5
Used for: Root-cause investigation (via GitHub's GraphQL API), implementation, and PR description. Reviewed by Igor Rozum.
This Pull Request is for code review only. Please keep all other discussion in the Trac ticket. Do not merge this Pull Request. See GitHub Pull Requests for Code Review in the Core Handbook for more details.