5
0
Fork 0
mirror of https://github.com/wagoid/commitlint-github-action.git synced 2025-11-07 16:06:56 +00:00

feat: add support for pull_request_target event

Previously, the action was treating pull_request_target event as a regular push,
which was causing some issues.
This commit is contained in:
wagoid 2021-04-05 09:08:06 -03:00
parent ab798dde93
commit de51303046
3 changed files with 71 additions and 61 deletions

View file

@ -9,6 +9,8 @@ const gitCommits = require('./gitCommits')
const generateOutputs = require('./generateOutputs') const generateOutputs = require('./generateOutputs')
const pullRequestEvent = 'pull_request' const pullRequestEvent = 'pull_request'
const pullRequestTargetEvent = 'pull_request_target'
const pullRequestEvents = [pullRequestEvent, pullRequestTargetEvent]
const { GITHUB_EVENT_NAME, GITHUB_SHA } = process.env const { GITHUB_EVENT_NAME, GITHUB_SHA } = process.env
@ -45,7 +47,8 @@ const getRangeForPushEvent = () => {
} }
const getRangeForEvent = async () => { const getRangeForEvent = async () => {
if (GITHUB_EVENT_NAME !== pullRequestEvent) return getRangeForPushEvent() if (!pullRequestEvents.includes(GITHUB_EVENT_NAME))
return getRangeForPushEvent()
const octokit = github.getOctokit(core.getInput('token')) const octokit = github.getOctokit(core.getInput('token'))
const { owner, repo, number } = eventContext.issue const { owner, repo, number } = eventContext.issue

View file

@ -261,20 +261,24 @@ describe('Commit Linter action', () => {
td.verify(core.setFailed(contains('wrong commit from another branch'))) td.verify(core.setFailed(contains('wrong commit from another branch')))
}) })
describe('when there are multiple commits failing in the pull request', () => { describe.each(['pull_request', 'pull_request_target'])(
'when there are multiple commits failing in the %s event',
(eventName) => {
let expectedResultsOutput let expectedResultsOutput
const firstMessage = 'wrong message 1' const firstMessage = 'wrong message 1'
const secondMessage = 'wrong message 2' const secondMessage = 'wrong message 2'
beforeEach(async () => { beforeEach(async () => {
cwd = await git.bootstrap('fixtures/conventional') cwd = await git.bootstrap('fixtures/conventional')
td.when(core.getInput('configFile')).thenReturn('./commitlint.config.js') td.when(core.getInput('configFile')).thenReturn(
'./commitlint.config.js',
)
await gitEmptyCommit(cwd, 'message from before push') await gitEmptyCommit(cwd, 'message from before push')
await gitEmptyCommit(cwd, firstMessage) await gitEmptyCommit(cwd, firstMessage)
await gitEmptyCommit(cwd, secondMessage) await gitEmptyCommit(cwd, secondMessage)
await createPullRequestEventPayload(cwd) await createPullRequestEventPayload(cwd)
const [, first, to] = await getCommitHashes(cwd) const [, first, to] = await getCommitHashes(cwd)
updatePullRequestEnvVars(cwd, to) updatePullRequestEnvVars(cwd, to, { eventName })
td.when( td.when(
listCommits({ listCommits({
owner: 'wagoid', owner: 'wagoid',
@ -329,7 +333,8 @@ describe('Commit Linter action', () => {
td.verify(core.setOutput(resultsOutputId, expectedResultsOutput)) td.verify(core.setOutput(resultsOutputId, expectedResultsOutput))
}) })
}) },
)
describe('when it fails to fetch commits', () => { describe('when it fails to fetch commits', () => {
beforeEach(async () => { beforeEach(async () => {

View file

@ -66,10 +66,12 @@ exports.createPullRequestEventPayload = async (cwd) => {
await writeFile(eventPath, JSON.stringify(payload), 'utf8') await writeFile(eventPath, JSON.stringify(payload), 'utf8')
} }
exports.updatePullRequestEnvVars = (cwd, to) => { exports.updatePullRequestEnvVars = (cwd, to, options = {}) => {
const { eventName = 'pull_request' } = options
updateEnvVars({ updateEnvVars({
GITHUB_WORKSPACE: cwd, GITHUB_WORKSPACE: cwd,
GITHUB_EVENT_NAME: 'pull_request', GITHUB_EVENT_NAME: eventName,
GITHUB_SHA: to, GITHUB_SHA: to,
}) })
} }