release --resume: a fixed tools/desktop-release.ts may be uncommitted too

This commit is contained in:
CRTkafa 2026-10-29 19:41:40 +07:00
parent 02435de966
commit 0ea7292164

View file

@ -278,8 +278,8 @@ async function main(): Promise<void> {
const remote = remoteSessionReason(process.env, sh(['launchctl', 'managername'], { allowFail: true }).trim());
if (remote) fail(`${remote}: signing and notarization need the owner's logged-in macOS session`);
if (!existsSync(join(KEYS, 'updater.key'))) fail(`no updater key in ${KEYS.replace(HOME, '~')}`);
// --resume may run with a fixed release tool (tools/release*.ts), which is not part of what ships
const dirty = sh(['git', 'status', '--porcelain']).split('\n').filter(l => l.trim() && !(resume && /^ M tools\/release(-candidate)?\.ts$/.test(l)));
// --resume may run with a fixed release tool (tools/release*.ts, tools/desktop-release.ts), which is not part of what ships
const dirty = sh(['git', 'status', '--porcelain']).split('\n').filter(l => l.trim() && !(resume && /^ M tools\/(desktop-)?release(-candidate)?\.ts$/.test(l)));
if (dirty.length) fail('the checkout has uncommitted changes');
sh(['git', 'fetch', '--quiet', 'origin', 'main', '--tags']);
const head = sh(['git', 'rev-parse', 'HEAD']).trim();