diff --git a/scripts/build-worker-artifacts.mjs b/scripts/build-worker-artifacts.mjs index e55c39d..61d0566 100644 --- a/scripts/build-worker-artifacts.mjs +++ b/scripts/build-worker-artifacts.mjs @@ -131,7 +131,10 @@ function sourceCommitFor(dir) { function repoHead() { try { const sha = execSync('git rev-parse HEAD', { cwd: REPO, encoding: 'utf8' }).trim(); - const dirty = execSync('git status --porcelain', { cwd: REPO, encoding: 'utf8' }).trim(); + // .worker-builds 是本腳本自己的輸出目錄——它在「寫出成品之前」永遠是 untracked, + // 拿它判斷「原始碼乾不乾淨」是假陽性(自己把自己判成髒)。排除掉才是真正的 + // 「原始碼有沒有未 commit 的變更」。 + const dirty = execSync('git status --porcelain -- . ":(exclude).worker-builds"', { cwd: REPO, encoding: 'utf8' }).trim(); return { sha, dirty: !!dirty }; } catch { return { sha: null, dirty: null };