Skip to content

Commit 00037b4

Browse files
Milos KotlarCopilot
andcommitted
ci-scan: run merged-fix-PR search unconditionally for assertion signatures
JIT/native/build-level assertion signatures recur and their KBEs are often closed-as-fixed, so an open-only dedup misses the closed predecessor and the failure gets re-filed from a build that predates the fix. Run the merged-fix-PR search (by assertion text + source symbols) unconditionally for these signatures, and compare each merged PR's mergedAt against the failing build's finishTime: if the fix merged after the build finished, record 'skipped: fix already merged after source build' instead of filing. Only file when the assertion reproduces in a post-fix build (genuine recurrence). Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
1 parent 63a34fc commit 00037b4

1 file changed

Lines changed: 24 additions & 1 deletion

File tree

.github/workflows/shared/create-kbe.instructions.md

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,7 @@ scanner-quality miss the feedback workflow will penalize.
154154

155155
### Merged fix PR (last 14 days)
156156

157-
Only when an existing KBE or area-team tracker was recorded:
157+
When an existing KBE or area-team tracker was recorded:
158158

159159
- `is:pr is:merged "<test-name>" merged:>=<14-days-ago>`
160160
- `is:pr is:merged "<test-file-path>" merged:>=<14-days-ago>`
@@ -163,6 +163,29 @@ Only when an existing KBE or area-team tracker was recorded:
163163
On match, record `skipped: fix recently merged in #<n>` and do not file a
164164
test-disable PR.
165165

166+
#### Always run this for assertion / native / build-level signatures
167+
168+
For a JIT, runtime, or build-level signature (assert in `coreclr!*`, `clrjit!*`,
169+
a native crash, or a compiler diagnostic), run the merged-PR search
170+
**unconditionally** — even when no existing KBE was found. These signatures
171+
recur and their KBEs are frequently closed-as-fixed, so an open-only dedup will
172+
not see the closed predecessor and the failure gets re-filed from a stale build.
173+
Search:
174+
175+
- `is:pr is:merged "<assertion-text>" merged:>=<14-days-ago>` using a 6-12 word
176+
literal slice of the assert / diagnostic message.
177+
- `is:pr is:merged "<source-symbol>" merged:>=<14-days-ago>` for each of the 2-3
178+
most unique C / C++ identifiers in the stack frame or assertion text.
179+
180+
For every merged PR hit, compare its `mergedAt` against the failing build's
181+
`finishTime` (the AzDO build that produced this failure; read it from the build
182+
metadata, not the queue time). If the fix merged **after** the build finished,
183+
the failure is stale and already addressed: record
184+
`skipped: fix already merged after source build` (cite the PR `#<n>`) and do not
185+
file. Only file a new KBE when the same assertion still reproduces in a build
186+
that finished **after** the fix merged (a genuine post-fix recurrence), and say
187+
so explicitly in the KBE body with both the fix PR `#<n>` and the post-fix build.
188+
166189
<a id="verify-embedded-issues"></a>
167190

168191
## Verify every embedded issue number exists

0 commit comments

Comments
 (0)