Revalidate Docs / Revalidate Docs (push) Failing after 2s
E2E CI / Check Duplicate Run (push) Failing after 5s
Test CI / Check Duplicate Run (push) Failing after 6s
E2E CI / Test Web App (push) Has been skipped
Test CI / Test Packages (push) Has been skipped
Test CI / Test App (shard 1/3) (push) Has been skipped
Test CI / Test App (shard 2/3) (push) Has been skipped
Test CI / Test App (shard 3/3) (push) Has been skipped
Test CI / Test Desktop App (push) Has been skipped
🔄 Branch Synchronization / sync-branches (push) Failing after 11s
Test CI / Test Database (push) Has been skipped
Test CI / Merge and Upload App Coverage (push) Has been skipped
Database Schema Visualization CI / build (push) Failing after 4m14s
47 lines
995 B
JavaScript
47 lines
995 B
JavaScript
const { execSync } = require('node:child_process');
|
|
|
|
// 获取当前分支名
|
|
const branchName = process.env.VERCEL_GIT_COMMIT_REF || '';
|
|
|
|
function shouldProceedBuild() {
|
|
// 如果是 lighthouse 分支或以 testgru 开头的分支,取消构建
|
|
if (
|
|
branchName === 'lighthouse' ||
|
|
['gru', 'automatic', 'reproduction'].some((item) =>
|
|
branchName.startsWith(`${item.toLowerCase()}/`),
|
|
)
|
|
) {
|
|
return false;
|
|
}
|
|
|
|
try {
|
|
// 检查文件变更,排除特定文件和目录
|
|
const diffCommand =
|
|
'git diff HEAD^ HEAD --quiet -- \
|
|
":!./*.md" \
|
|
":!./Dockerfile" \
|
|
":!./.github" \
|
|
":!./.husky" \
|
|
":!./scripts"';
|
|
|
|
execSync(diffCommand);
|
|
|
|
return false;
|
|
} catch {
|
|
return true;
|
|
}
|
|
}
|
|
|
|
const shouldBuild = shouldProceedBuild();
|
|
|
|
console.log('shouldBuild:', shouldBuild);
|
|
if (shouldBuild) {
|
|
console.log('✅ - Build can proceed');
|
|
|
|
process.exit(1);
|
|
} else {
|
|
console.log('🛑 - Build cancelled');
|
|
|
|
process.exit(0);
|
|
}
|