1+ import * as GitHub from "@actions/github" ;
12import { jsonSchema } from "../../schemas.ts" ;
23import {
34 type ProviderEnvs ,
67} from "../../types.ts" ;
78import { type Output } from "../Output.ts" ;
89import { debug } from "../logging.ts" ;
9- import { runExternalProgram } from "../runExternalProgram.ts " ;
10+ import { type PullRequestEvent } from "@octokit/webhooks-definitions/schema " ;
1011
1112export function detect ( envs : ProviderEnvs ) : boolean {
1213 return Boolean ( envs ?. GITHUB_ACTIONS ) ;
@@ -136,30 +137,12 @@ function _getSHA(
136137 return args . sha ;
137138 }
138139
139- const pr = _getPR ( inputs ) ;
140+ const context = GitHub . context ;
140141
141142 let commit = envs ?. GITHUB_SHA ;
142- if ( pr ) {
143- const mergeCommitRegex = / ^ [ a - z 0 - 9 ] { 40 } [ a - z 0 - 9 ] { 40 } $ / ;
144- const mergeCommitMessage = runExternalProgram ( "git" , [
145- "show" ,
146- "--no-patch" ,
147- "--format=%P" ,
148- ] ) ;
149-
150- debug ( `Merge commit message: ${ mergeCommitMessage } ` , {
151- enabled : output . debug ,
152- } ) ;
153-
154- if ( mergeCommitRegex . exec ( mergeCommitMessage ) ) {
155- const splitMergeCommit = mergeCommitMessage . split ( " " ) ;
156-
157- debug ( `Split commit message: ${ splitMergeCommit } ` , {
158- enabled : output . debug ,
159- } ) ;
160-
161- commit = splitMergeCommit [ 1 ] ;
162- }
143+ if ( [ "pull_request" , " pull_request_target" ] . includes ( context . eventName ) ) {
144+ const payload = context . payload as PullRequestEvent ;
145+ commit = payload . pull_request . head . sha ;
163146 }
164147
165148 debug ( `Using commit: ${ commit ?? null } ` , { enabled : output . debug } ) ;
@@ -178,28 +161,10 @@ function _getCompareSHA(
178161 }
179162
180163 let compareSha = null ;
181- const pr = _getPR ( inputs ) ;
182- if ( pr ) {
183- const mergeCommitRegex = / ^ [ a - z 0 - 9 ] { 40 } [ a - z 0 - 9 ] { 40 } $ / ;
184- const mergeCommitMessage = runExternalProgram ( "git" , [
185- "show" ,
186- "--no-patch" ,
187- "--format=%P" ,
188- ] ) ;
189-
190- debug ( `Merge commit message: ${ mergeCommitMessage } ` , {
191- enabled : output . debug ,
192- } ) ;
193-
194- if ( mergeCommitRegex . exec ( mergeCommitMessage ) ) {
195- const splitMergeCommit = mergeCommitMessage . split ( " " ) ;
196-
197- debug ( `Split commit message: ${ splitMergeCommit } ` , {
198- enabled : output . debug ,
199- } ) ;
200-
201- compareSha = splitMergeCommit ?. [ 0 ] ? splitMergeCommit [ 0 ] : null ;
202- }
164+ const context = GitHub . context ;
165+ if ( [ "pull_request" , " pull_request_target" ] . includes ( context . eventName ) ) {
166+ const payload = context . payload as PullRequestEvent ;
167+ compareSha = payload . pull_request . base . sha ;
203168 }
204169
205170 debug ( `Using compareSha: ${ compareSha ?? null } ` , { enabled : output . debug } ) ;
0 commit comments