1
+ import * as GitHub from "@actions/github" ;
1
2
import { jsonSchema } from "../../schemas.ts" ;
2
3
import {
3
4
type ProviderEnvs ,
6
7
} from "../../types.ts" ;
7
8
import { type Output } from "../Output.ts" ;
8
9
import { debug } from "../logging.ts" ;
9
- import { runExternalProgram } from "../runExternalProgram.ts " ;
10
+ import { type PullRequestEvent } from "@octokit/webhooks-definitions/schema " ;
10
11
11
12
export function detect ( envs : ProviderEnvs ) : boolean {
12
13
return Boolean ( envs ?. GITHUB_ACTIONS ) ;
@@ -136,30 +137,12 @@ function _getSHA(
136
137
return args . sha ;
137
138
}
138
139
139
- const pr = _getPR ( inputs ) ;
140
+ const context = GitHub . context ;
140
141
141
142
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 ;
163
146
}
164
147
165
148
debug ( `Using commit: ${ commit ?? null } ` , { enabled : output . debug } ) ;
@@ -178,28 +161,10 @@ function _getCompareSHA(
178
161
}
179
162
180
163
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 ;
203
168
}
204
169
205
170
debug ( `Using compareSha: ${ compareSha ?? null } ` , { enabled : output . debug } ) ;
0 commit comments