fix(release): pin max-lines debt to branch merge base

This commit is contained in:
Peter Steinberger
2026-07-15 00:53:47 +01:00
parent bac7744233
commit 5fa348f3ed
2 changed files with 82 additions and 13 deletions
+25 -13
View File
@@ -276,19 +276,31 @@ function readBaselineAtRef(root, ref) {
function resolveDefaultBase(root, staged) {
const candidates = staged ? ["HEAD"] : ["origin/main", "HEAD"];
return (
candidates.find((ref) => {
try {
execFileSync("git", ["rev-parse", "--verify", ref + "^{commit}"], {
cwd: root,
stdio: "ignore",
});
return true;
} catch {
return false;
}
}) ?? null
);
const resolved = candidates.find((ref) => {
try {
execFileSync("git", ["rev-parse", "--verify", ref + "^{commit}"], {
cwd: root,
stdio: "ignore",
});
return true;
} catch {
return false;
}
});
if (!resolved || staged || resolved !== "origin/main") {
return resolved ?? null;
}
// A release or long-lived branch owns the suppression debt from its fork.
// Comparing against moving main would turn unrelated debt cleanup into a blocker.
try {
return execFileSync("git", ["merge-base", "HEAD", resolved], {
cwd: root,
encoding: "utf8",
stdio: ["ignore", "pipe", "ignore"],
}).trim();
} catch {
return resolved;
}
}
function writeBaseline(root, entries) {