Skip to content

Commit b1d4de2

Browse files
committed
fix: address CodeRabbit review comments
- Add blank line before loop for readability - Document behavioral difference between push and PR events - Explain status reporting logic for different event types Signed-off-by: cheese-cakee <[email protected]>
1 parent c3d39a6 commit b1d4de2

File tree

1 file changed

+17
-14
lines changed

1 file changed

+17
-14
lines changed

.github/scripts/merge_conflict_helpers.js

Lines changed: 17 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -67,9 +67,9 @@ module.exports = async ({ github, context, core }) => {
6767
else {
6868
console.log("Triggered by PR update.");
6969
prsToCheck.push(context.payload.pull_request.number);
70-
}
70+
}
7171

72-
for (const prNumber of prsToCheck) {
72+
for (const prNumber of prsToCheck) {
7373
try {
7474
console.log(`Checking PR #${prNumber}...`);
7575
const pr = await getPrWithRetry(prNumber);
@@ -79,21 +79,24 @@ for (const prNumber of prsToCheck) {
7979
continue;
8080
}
8181

82-
if (pr.mergeable_state === 'dirty') {
83-
console.log(`Conflict detected in PR #${prNumber}`);
84-
await notifyUser(prNumber);
82+
if (pr.mergeable_state === 'dirty') {
83+
console.log(`Conflict detected in PR #${prNumber}`);
84+
await notifyUser(prNumber);
8585

86-
if (context.eventName === 'push') {
87-
await setCommitStatus(pr.head.sha, 'failure', 'Conflicts detected with main');
86+
// Push events: set commit status on PR head SHA
87+
// PR events: fail the workflow run (creates a check on the PR)
88+
if (context.eventName === 'push') {
89+
await setCommitStatus(pr.head.sha, 'failure', 'Conflicts detected with main');
90+
} else {
91+
core.setFailed(`Merge conflicts detected in PR #${prNumber}.`);
92+
}
8893
} else {
89-
core.setFailed(`Merge conflicts detected in PR #${prNumber}.`);
90-
}
91-
} else {
92-
console.log(`PR #${prNumber} is clean.`);
93-
if (context.eventName === 'push') {
94-
await setCommitStatus(pr.head.sha, 'success', 'No conflicts detected');
94+
console.log(`PR #${prNumber} is clean.`);
95+
// For push events, set success status; PR events rely on workflow run success
96+
if (context.eventName === 'push') {
97+
await setCommitStatus(pr.head.sha, 'success', 'No conflicts detected');
98+
}
9599
}
96-
}
97100
} catch (error) {
98101
console.error(`Error checking PR #${prNumber}: ${error.message}`);
99102
if (context.eventName !== 'push') {

0 commit comments

Comments
 (0)