Skip to content

File tree

2 files changed

+22
-15
lines changed

2 files changed

+22
-15
lines changed

services/github.js

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,20 @@ const getPrEvent = ({env}) => {
1818
return {pr: undefined, branch: undefined};
1919
};
2020

21+
const getPrNumber = (env) => {
22+
const event = env.GITHUB_EVENT_PATH ? require(env.GITHUB_EVENT_PATH) : undefined;
23+
return event && event.pull_request ? event.pull_request.number : undefined;
24+
};
25+
2126
module.exports = {
2227
detect({env}) {
2328
return Boolean(env.GITHUB_ACTIONS);
2429
},
2530
configuration({env, cwd}) {
2631
const isPr = env.GITHUB_EVENT_NAME === 'pull_request' || env.GITHUB_EVENT_NAME === 'pull_request_target';
27-
const branch = parseBranch(env.GITHUB_REF);
32+
const branch = parseBranch(
33+
env.GITHUB_EVENT_NAME === 'pull_request_target' ? `refs/pull/${getPrNumber(env)}/merge` : env.GITHUB_REF
34+
);
2835

2936
return {
3037
name: 'GitHub Actions',

test/services/github.test.js

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ test('PR - with event.json file', (t) => {
5252
env: {
5353
...env,
5454
GITHUB_EVENT_NAME: 'pull_request',
55-
GITHUB_REF: 'refs/heads/pr-branch',
55+
GITHUB_REF: 'refs/pull/10/merge',
5656
GITHUB_EVENT_PATH: eventFile,
5757
},
5858
}),
@@ -63,7 +63,7 @@ test('PR - with event.json file', (t) => {
6363
build: '1246789',
6464
branch: 'master',
6565
isPr: true,
66-
prBranch: 'pr-branch',
66+
prBranch: 'refs/pull/10/merge',
6767
pr: '10',
6868
root: '/workspace',
6969
slug: 'owner/repo',
@@ -81,7 +81,7 @@ test('PR - target', (t) => {
8181
env: {
8282
...env,
8383
GITHUB_EVENT_NAME: 'pull_request_target',
84-
GITHUB_REF: 'refs/heads/pr-branch',
84+
GITHUB_REF: 'refs/heads/master',
8585
GITHUB_EVENT_PATH: eventFile,
8686
},
8787
}),
@@ -92,7 +92,7 @@ test('PR - target', (t) => {
9292
build: '1246789',
9393
branch: 'master',
9494
isPr: true,
95-
prBranch: 'pr-branch',
95+
prBranch: 'refs/pull/10/merge',
9696
pr: '10',
9797
root: '/workspace',
9898
slug: 'owner/repo',
@@ -110,7 +110,7 @@ test('PR - with event.json file and short branch name', (t) => {
110110
env: {
111111
...env,
112112
GITHUB_EVENT_NAME: 'pull_request',
113-
GITHUB_REF: 'refs/heads/pr-branch',
113+
GITHUB_REF: 'refs/pull/10/merge',
114114
GITHUB_EVENT_PATH: eventFile,
115115
},
116116
}),
@@ -121,7 +121,7 @@ test('PR - with event.json file and short branch name', (t) => {
121121
build: '1246789',
122122
branch: 'master',
123123
isPr: true,
124-
prBranch: 'pr-branch',
124+
prBranch: 'refs/pull/10/merge',
125125
pr: '10',
126126
root: '/workspace',
127127
slug: 'owner/repo',
@@ -135,7 +135,7 @@ test('PR - with missing event.json file', (t) => {
135135
env: {
136136
...env,
137137
GITHUB_EVENT_NAME: 'pull_request',
138-
GITHUB_REF: 'refs/heads/pr-branch',
138+
GITHUB_REF: 'refs/pull/10/merge',
139139
GITHUB_EVENT_PATH: '/tmp/null',
140140
},
141141
}),
@@ -146,7 +146,7 @@ test('PR - with missing event.json file', (t) => {
146146
build: '1246789',
147147
branch: undefined,
148148
isPr: true,
149-
prBranch: 'pr-branch',
149+
prBranch: 'refs/pull/10/merge',
150150
pr: undefined,
151151
root: '/workspace',
152152
slug: 'owner/repo',
@@ -157,7 +157,7 @@ test('PR - with missing event.json file', (t) => {
157157
test('PR - with missing event.json file path', (t) => {
158158
t.deepEqual(
159159
github.configuration({
160-
env: {...env, GITHUB_EVENT_NAME: 'pull_request', GITHUB_REF: 'refs/heads/pr-branch'},
160+
env: {...env, GITHUB_EVENT_NAME: 'pull_request', GITHUB_REF: 'refs/pull/10/merge'},
161161
}),
162162
{
163163
name: 'GitHub Actions',
@@ -166,7 +166,7 @@ test('PR - with missing event.json file path', (t) => {
166166
build: '1246789',
167167
branch: undefined,
168168
isPr: true,
169-
prBranch: 'pr-branch',
169+
prBranch: 'refs/pull/10/merge',
170170
pr: undefined,
171171
root: '/workspace',
172172
slug: 'owner/repo',
@@ -184,7 +184,7 @@ test('PR - with missing "pull_request" in event.json file', (t) => {
184184
env: {
185185
...env,
186186
GITHUB_EVENT_NAME: 'pull_request',
187-
GITHUB_REF: 'refs/heads/pr-branch',
187+
GITHUB_REF: 'refs/pull/10/merge',
188188
GITHUB_EVENT_PATH: eventFile,
189189
},
190190
}),
@@ -195,7 +195,7 @@ test('PR - with missing "pull_request" in event.json file', (t) => {
195195
build: '1246789',
196196
branch: undefined,
197197
isPr: true,
198-
prBranch: 'pr-branch',
198+
prBranch: 'refs/pull/10/merge',
199199
pr: undefined,
200200
root: '/workspace',
201201
slug: 'owner/repo',
@@ -213,7 +213,7 @@ test('PR - with missing "pull_request.base" in event.json file', (t) => {
213213
env: {
214214
...env,
215215
GITHUB_EVENT_NAME: 'pull_request',
216-
GITHUB_REF: 'refs/heads/pr-branch',
216+
GITHUB_REF: 'refs/pull/10/merge',
217217
GITHUB_EVENT_PATH: eventFile,
218218
},
219219
}),
@@ -224,7 +224,7 @@ test('PR - with missing "pull_request.base" in event.json file', (t) => {
224224
build: '1246789',
225225
branch: undefined,
226226
isPr: true,
227-
prBranch: 'pr-branch',
227+
prBranch: 'refs/pull/10/merge',
228228
pr: '10',
229229
root: '/workspace',
230230
slug: 'owner/repo',

0 commit comments

Comments
 (0)