fix(ci): exempt automation PRs from Barnacle PR limit

Treat ClawSweeper and Clownfish head refs as automation PRs for Barnacle's active-PR-limit close path, and cover the behavior with a regression test.
This commit is contained in:
Vincent Koc
2026-04-29 13:58:06 -07:00
committed by GitHub
parent 3b5dab372a
commit fdf8ffaf3c
3 changed files with 24 additions and 12 deletions

View File

@@ -237,10 +237,14 @@ const candidateActionRules = [
];
const normalizeLogin = (login) => login.toLowerCase();
const automationPrHeadPrefixes = ["clawsweeper/", "clownfish/"];
export function isClawsweeperPullRequest(pullRequest) {
export function isAutomationPullRequest(pullRequest) {
const headRefName = pullRequest.headRefName ?? pullRequest.head?.ref ?? "";
return typeof headRefName === "string" && headRefName.startsWith("clawsweeper/");
return (
typeof headRefName === "string" &&
automationPrHeadPrefixes.some((prefix) => headRefName.startsWith(prefix))
);
}
export function extractIssueFormValue(body, field) {
@@ -1031,7 +1035,7 @@ export async function runBarnacleAutoResponse({ github, context, core = console
if (pullRequest && labelSet.has(activePrLimitOverrideLabel)) {
labelSet.delete(activePrLimitLabel);
}
if (pullRequest && isClawsweeperPullRequest(pullRequest)) {
if (pullRequest && isAutomationPullRequest(pullRequest)) {
await removeLabels(github, context, pullRequest.number, [activePrLimitLabel], labelSet);
}