@@ -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