From 25be3b7155e7e698fe044b154e1567f30a624d95 Mon Sep 17 00:00:00 2001 From: eric sciple Date: Tue, 21 Jan 2020 01:29:44 -0500 Subject: [PATCH 1/3] fix ref for pr closed event when a pr is merged --- src/input-helper.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/input-helper.ts b/src/input-helper.ts index 56b58f2ab..54339dab8 100644 --- a/src/input-helper.ts +++ b/src/input-helper.ts @@ -61,6 +61,12 @@ export function getInputs(): ISourceSettings { if (isWorkflowRepository) { result.ref = github.context.ref result.commit = github.context.sha + + // Some events have an unqualifed ref. For example when a PR is merged (pull_request closed event), + // the ref is unqualifed like "master" instead of "refs/heads/master". + if (result.commit && result.ref && !result.ref.startsWith('refs/')) { + result.ref = `refs/heads/${result.ref}` + } } if (!result.ref && !result.commit) { From 57c5af990532653232e92b6b76c17c70afc3e28d Mon Sep 17 00:00:00 2001 From: eric sciple Date: Tue, 21 Jan 2020 01:35:20 -0500 Subject: [PATCH 2/3] . --- dist/index.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/dist/index.js b/dist/index.js index 19191939c..c58ef35e3 100644 --- a/dist/index.js +++ b/dist/index.js @@ -12757,6 +12757,11 @@ function getInputs() { if (isWorkflowRepository) { result.ref = github.context.ref; result.commit = github.context.sha; + // Some events have an unqualifed ref. For example when a PR is merged (pull_request closed event), + // the ref is unqualifed like "master" instead of "refs/heads/master". + if (result.commit && result.ref && !result.ref.startsWith('refs/')) { + result.ref = `refs/heads/${result.ref}`; + } } if (!result.ref && !result.commit) { result.ref = 'refs/heads/master'; From 77544dd556db5e493c18f04a0017803d2538a992 Mon Sep 17 00:00:00 2001 From: eric sciple Date: Tue, 21 Jan 2020 01:45:59 -0500 Subject: [PATCH 3/3] . --- __test__/input-helper.test.ts | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/__test__/input-helper.test.ts b/__test__/input-helper.test.ts index ecd3cd1cc..778c6ebc3 100644 --- a/__test__/input-helper.test.ts +++ b/__test__/input-helper.test.ts @@ -75,6 +75,20 @@ describe('input-helper tests', () => { expect(settings.repositoryPath).toBe(gitHubWorkspace) }) + it('qualifies ref', () => { + let originalContext = mockGitHub.context + try { + mockGitHub.context = {...originalContext} // Shallow clone + mockGitHub.context.ref = 'some-unqualified-ref' + const settings: ISourceSettings = inputHelper.getInputs() + expect(settings).toBeTruthy() + expect(settings.commit).toBe('1234567890123456789012345678901234567890') + expect(settings.ref).toBe('refs/heads/some-unqualified-ref') + } finally { + mockGitHub.context = originalContext + } + }) + it('requires qualified repo', () => { inputs.repository = 'some-unqualified-repo' assert.throws(() => {