Summary
.github/workflows/close-labeler.yml uses break where it needs continue, so a PR that closes more than one issue can silently miss getting the QA label.
The loop over the PR's closing issues is:
for (const node of result.repository.pullRequest.closingIssuesReferences.nodes) {
const shouldQA = node.labels.edges.find(edge => edge.node.name === "Enhancement" || edge.node.name === "Bug") != null
if (!shouldQA) {
break // <-- aborts the whole loop on the first non-Bug/Enhancement issue
}
// ... add "QA" label
}
Because it breaks (rather than continues) on the first issue that isn't a Bug/Enhancement, any Bug/Enhancement issues that come after it in the list are never reached, so the QA label isn't added.
Steps to reproduce
A PR whose Closes #… references resolve, in order, to [Documentation, Bug, Enhancement]:
- current (
break): QA label added to none
- expected (
continue): QA label added to the Bug and the Enhancement
I ran the exact loop body in Node to confirm the order-dependent difference.
Expected behavior
Skip the non-qualifying issue and keep checking the rest.
Fix
Change the one word break → continue. Happy to open the PR if useful.
AI-assisted; I verified the workflow logic myself.
Summary
.github/workflows/close-labeler.ymlusesbreakwhere it needscontinue, so a PR that closes more than one issue can silently miss getting theQAlabel.The loop over the PR's closing issues is:
Because it
breaks (rather thancontinues) on the first issue that isn't aBug/Enhancement, anyBug/Enhancementissues that come after it in the list are never reached, so theQAlabel isn't added.Steps to reproduce
A PR whose
Closes #…references resolve, in order, to[Documentation, Bug, Enhancement]:break): QA label added to nonecontinue): QA label added to the Bug and the EnhancementI ran the exact loop body in Node to confirm the order-dependent difference.
Expected behavior
Skip the non-qualifying issue and keep checking the rest.
Fix
Change the one word
break→continue. Happy to open the PR if useful.AI-assisted; I verified the workflow logic myself.