fix: 精确匹配 package.json 状态行,使用 annotated tag

This commit is contained in:
2026-06-09 18:17:26 +08:00
parent 307bdfc922
commit 9a2fde2cfa

View File

@@ -104,7 +104,7 @@ async function stepGitCommitTag(version: string): Promise<void> {
}); });
const statusOutput = await new Response(statusProc.stdout).text(); const statusOutput = await new Response(statusProc.stdout).text();
const statusLines = statusOutput.trim().split("\n").filter(Boolean); const statusLines = statusOutput.trim().split("\n").filter(Boolean);
const nonPkgChanges = statusLines.filter((line) => !line.includes("package.json")); const nonPkgChanges = statusLines.filter((line) => !/^[?MADRCU ]{2} package\.json$/.test(line));
if (nonPkgChanges.length > 0) { if (nonPkgChanges.length > 0) {
throw new Error("工作区有其他未提交变更,请先清理后再运行 release"); throw new Error("工作区有其他未提交变更,请先清理后再运行 release");
} }
@@ -139,9 +139,12 @@ async function stepGitCommitTag(version: string): Promise<void> {
} }
// git tag // git tag
const tagProc = Bun.spawn(["git", "tag", `v${version}`], { const tagProc = Bun.spawn(
stdio: ["inherit", "inherit", "inherit"], ["git", "tag", "-a", `v${version}`, "-m", `chore: release v${version}`],
}); {
stdio: ["inherit", "inherit", "inherit"],
},
);
const tagExit = await tagProc.exited; const tagExit = await tagProc.exited;
if (tagExit !== 0) { if (tagExit !== 0) {
throw new Error("git tag 失败"); throw new Error("git tag 失败");