mirror of
https://github.com/wagoid/commitlint-github-action.git
synced 2025-11-07 08:06:54 +00:00
fix: fixed logic in push event API request to only get commits from before to after event
This commit is contained in:
parent
9e285754b1
commit
af788c8486
3 changed files with 309 additions and 93 deletions
|
|
@ -22,13 +22,22 @@ const getCommitDepth = () => {
|
||||||
return Number.isNaN(commitDepth) ? null : Math.max(commitDepth, 0)
|
return Number.isNaN(commitDepth) ? null : Math.max(commitDepth, 0)
|
||||||
}
|
}
|
||||||
|
|
||||||
const getPushEventCommits = () => {
|
const getPushEventCommits = async () => {
|
||||||
const mappedCommits = eventContext.payload.commits.map((commit) => ({
|
const octokit = getOctokit(getInput('token'))
|
||||||
message: commit.message,
|
const { owner, repo } = eventContext.issue
|
||||||
hash: commit.id,
|
const { before, after } = eventContext.payload
|
||||||
}))
|
const { data: comparison } = await octokit.rest.repos.compareCommits({
|
||||||
|
owner,
|
||||||
|
repo,
|
||||||
|
head: after,
|
||||||
|
base: before,
|
||||||
|
per_page: 100,
|
||||||
|
})
|
||||||
|
|
||||||
return mappedCommits
|
return comparison.commits.map((commit) => ({
|
||||||
|
message: commit.commit.message,
|
||||||
|
hash: commit.sha,
|
||||||
|
}))
|
||||||
}
|
}
|
||||||
|
|
||||||
const getPullRequestEventCommits = async () => {
|
const getPullRequestEventCommits = async () => {
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,8 @@ const {
|
||||||
|
|
||||||
const initialEnv = { ...process.env }
|
const initialEnv = { ...process.env }
|
||||||
|
|
||||||
const mockListCommits = td.func('listCommits')
|
const mockListPullCommits = td.func('listCommits')
|
||||||
|
const mockCompareCommits = td.func('compareCommits')
|
||||||
|
|
||||||
const mockCore = td.object(['getInput', 'setFailed', 'setOutput'])
|
const mockCore = td.object(['getInput', 'setFailed', 'setOutput'])
|
||||||
|
|
||||||
|
|
@ -30,7 +31,10 @@ jest.unstable_mockModule('@actions/github', () => {
|
||||||
constructor() {
|
constructor() {
|
||||||
this.rest = {
|
this.rest = {
|
||||||
pulls: {
|
pulls: {
|
||||||
listCommits: mockListCommits,
|
listCommits: mockListPullCommits,
|
||||||
|
},
|
||||||
|
repos: {
|
||||||
|
compareCommits: mockCompareCommits,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -81,6 +85,19 @@ describe('Commit Linter action', () => {
|
||||||
],
|
],
|
||||||
})
|
})
|
||||||
updatePushEnvVars(cwd)
|
updatePushEnvVars(cwd)
|
||||||
|
td.when(
|
||||||
|
mockCompareCommits({
|
||||||
|
owner: 'wagoid',
|
||||||
|
repo: 'commitlint-github-action',
|
||||||
|
per_page: 100,
|
||||||
|
base: 'bbbbb',
|
||||||
|
head: 'aaaaa',
|
||||||
|
}),
|
||||||
|
).thenResolve({
|
||||||
|
data: {
|
||||||
|
commits: [buildResponseCommit('wrong-message', 'wrong message')],
|
||||||
|
},
|
||||||
|
})
|
||||||
td.replace(process, 'cwd', () => cwd)
|
td.replace(process, 'cwd', () => cwd)
|
||||||
|
|
||||||
await runAction()
|
await runAction()
|
||||||
|
|
@ -111,6 +128,19 @@ describe('Commit Linter action', () => {
|
||||||
],
|
],
|
||||||
})
|
})
|
||||||
updatePushEnvVars(cwd)
|
updatePushEnvVars(cwd)
|
||||||
|
td.when(
|
||||||
|
mockCompareCommits({
|
||||||
|
owner: 'wagoid',
|
||||||
|
repo: 'commitlint-github-action',
|
||||||
|
per_page: 100,
|
||||||
|
base: 'bbbbb',
|
||||||
|
head: 'aaaaa',
|
||||||
|
}),
|
||||||
|
).thenResolve({
|
||||||
|
data: {
|
||||||
|
commits: [buildResponseCommit('wrong-message', 'wrong message')],
|
||||||
|
},
|
||||||
|
})
|
||||||
td.replace(process, 'cwd', () => cwd)
|
td.replace(process, 'cwd', () => cwd)
|
||||||
|
|
||||||
await runAction()
|
await runAction()
|
||||||
|
|
@ -129,6 +159,20 @@ describe('Commit Linter action', () => {
|
||||||
],
|
],
|
||||||
})
|
})
|
||||||
updatePushEnvVars(cwd)
|
updatePushEnvVars(cwd)
|
||||||
|
td.when(
|
||||||
|
mockCompareCommits({
|
||||||
|
owner: 'wagoid',
|
||||||
|
repo: 'commitlint-github-action',
|
||||||
|
per_page: 100,
|
||||||
|
base: 'bbbbb',
|
||||||
|
head: 'aaaaa',
|
||||||
|
}),
|
||||||
|
).thenResolve({
|
||||||
|
data: {
|
||||||
|
commits: [buildResponseCommit('wrong-message', 'wrong message')],
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
td.replace(process, 'cwd', () => cwd)
|
td.replace(process, 'cwd', () => cwd)
|
||||||
|
|
||||||
await runAction()
|
await runAction()
|
||||||
|
|
@ -140,17 +184,23 @@ describe('Commit Linter action', () => {
|
||||||
|
|
||||||
it('should fail for push range with wrong messages', async () => {
|
it('should fail for push range with wrong messages', async () => {
|
||||||
cwd = await git.bootstrap('fixtures/conventional', process.cwd())
|
cwd = await git.bootstrap('fixtures/conventional', process.cwd())
|
||||||
await createPushEventPayload(cwd, {
|
await createPushEventPayload(cwd)
|
||||||
commits: [
|
updatePushEnvVars(cwd)
|
||||||
{
|
td.when(
|
||||||
id: 'wrong-message-1',
|
mockCompareCommits({
|
||||||
message: 'wrong message 1',
|
owner: 'wagoid',
|
||||||
},
|
repo: 'commitlint-github-action',
|
||||||
{
|
per_page: 100,
|
||||||
id: 'wrong-message-2',
|
base: 'bbbbb',
|
||||||
message: 'wrong message 2',
|
head: 'aaaaa',
|
||||||
},
|
}),
|
||||||
],
|
).thenResolve({
|
||||||
|
data: {
|
||||||
|
commits: [
|
||||||
|
buildResponseCommit('wrong-message-1', 'wrong message 1'),
|
||||||
|
buildResponseCommit('wrong-message-2', 'wrong message 2'),
|
||||||
|
],
|
||||||
|
},
|
||||||
})
|
})
|
||||||
updatePushEnvVars(cwd)
|
updatePushEnvVars(cwd)
|
||||||
td.replace(process, 'cwd', () => cwd)
|
td.replace(process, 'cwd', () => cwd)
|
||||||
|
|
@ -163,17 +213,23 @@ describe('Commit Linter action', () => {
|
||||||
it('should pass for push range with wrong messages with failOnErrors set to false', async () => {
|
it('should pass for push range with wrong messages with failOnErrors set to false', async () => {
|
||||||
td.when(mockCore.getInput('failOnErrors')).thenReturn('false')
|
td.when(mockCore.getInput('failOnErrors')).thenReturn('false')
|
||||||
cwd = await git.bootstrap('fixtures/conventional', process.cwd())
|
cwd = await git.bootstrap('fixtures/conventional', process.cwd())
|
||||||
await createPushEventPayload(cwd, {
|
await createPushEventPayload(cwd)
|
||||||
commits: [
|
updatePushEnvVars(cwd)
|
||||||
{
|
td.when(
|
||||||
id: 'wrong-message-1',
|
mockCompareCommits({
|
||||||
message: 'wrong message 1',
|
owner: 'wagoid',
|
||||||
},
|
repo: 'commitlint-github-action',
|
||||||
{
|
per_page: 100,
|
||||||
id: 'wrong-message-2',
|
base: 'bbbbb',
|
||||||
message: 'wrong message 2',
|
head: 'aaaaa',
|
||||||
},
|
}),
|
||||||
],
|
).thenResolve({
|
||||||
|
data: {
|
||||||
|
commits: [
|
||||||
|
buildResponseCommit('wrong-message-1', 'wrong message 1'),
|
||||||
|
buildResponseCommit('wrong-message-2', 'wrong message 2'),
|
||||||
|
],
|
||||||
|
},
|
||||||
})
|
})
|
||||||
updatePushEnvVars(cwd)
|
updatePushEnvVars(cwd)
|
||||||
td.replace(process, 'cwd', () => cwd)
|
td.replace(process, 'cwd', () => cwd)
|
||||||
|
|
@ -190,17 +246,23 @@ describe('Commit Linter action', () => {
|
||||||
it('should pass for push range with correct messages with failOnErrors set to false', async () => {
|
it('should pass for push range with correct messages with failOnErrors set to false', async () => {
|
||||||
td.when(mockCore.getInput('failOnErrors')).thenReturn('false')
|
td.when(mockCore.getInput('failOnErrors')).thenReturn('false')
|
||||||
cwd = await git.bootstrap('fixtures/conventional', process.cwd())
|
cwd = await git.bootstrap('fixtures/conventional', process.cwd())
|
||||||
await createPushEventPayload(cwd, {
|
await createPushEventPayload(cwd)
|
||||||
commits: [
|
updatePushEnvVars(cwd)
|
||||||
{
|
td.when(
|
||||||
id: 'correct-message-1',
|
mockCompareCommits({
|
||||||
message: 'chore: correct message 1',
|
owner: 'wagoid',
|
||||||
},
|
repo: 'commitlint-github-action',
|
||||||
{
|
per_page: 100,
|
||||||
id: 'correct-message-2',
|
base: 'bbbbb',
|
||||||
message: 'chore: correct message 2',
|
head: 'aaaaa',
|
||||||
},
|
}),
|
||||||
],
|
).thenResolve({
|
||||||
|
data: {
|
||||||
|
commits: [
|
||||||
|
buildResponseCommit('correct-message-1', 'chore: correct message 1'),
|
||||||
|
buildResponseCommit('correct-message-2', 'chore: correct message 2'),
|
||||||
|
],
|
||||||
|
},
|
||||||
})
|
})
|
||||||
updatePushEnvVars(cwd)
|
updatePushEnvVars(cwd)
|
||||||
td.replace(process, 'cwd', () => cwd)
|
td.replace(process, 'cwd', () => cwd)
|
||||||
|
|
@ -214,17 +276,23 @@ describe('Commit Linter action', () => {
|
||||||
|
|
||||||
it('should pass for push range with correct messages', async () => {
|
it('should pass for push range with correct messages', async () => {
|
||||||
cwd = await git.bootstrap('fixtures/conventional', process.cwd())
|
cwd = await git.bootstrap('fixtures/conventional', process.cwd())
|
||||||
await createPushEventPayload(cwd, {
|
await createPushEventPayload(cwd)
|
||||||
commits: [
|
updatePushEnvVars(cwd)
|
||||||
{
|
td.when(
|
||||||
id: 'correct-message-1',
|
mockCompareCommits({
|
||||||
message: 'chore: correct message 1',
|
owner: 'wagoid',
|
||||||
},
|
repo: 'commitlint-github-action',
|
||||||
{
|
per_page: 100,
|
||||||
id: 'correct-message-2',
|
base: 'bbbbb',
|
||||||
message: 'chore: correct message 2',
|
head: 'aaaaa',
|
||||||
},
|
}),
|
||||||
],
|
).thenResolve({
|
||||||
|
data: {
|
||||||
|
commits: [
|
||||||
|
buildResponseCommit('correct-message-1', 'chore: correct message 1'),
|
||||||
|
buildResponseCommit('correct-message-2', 'chore: correct message 2'),
|
||||||
|
],
|
||||||
|
},
|
||||||
})
|
})
|
||||||
updatePushEnvVars(cwd)
|
updatePushEnvVars(cwd)
|
||||||
td.replace(process, 'cwd', () => cwd)
|
td.replace(process, 'cwd', () => cwd)
|
||||||
|
|
@ -241,12 +309,25 @@ describe('Commit Linter action', () => {
|
||||||
td.when(mockCore.getInput('configFile')).thenReturn(
|
td.when(mockCore.getInput('configFile')).thenReturn(
|
||||||
'./commitlint.config.yml',
|
'./commitlint.config.yml',
|
||||||
)
|
)
|
||||||
await createPushEventPayload(cwd, {
|
await createPushEventPayload(cwd)
|
||||||
commits: [
|
updatePushEnvVars(cwd)
|
||||||
{
|
td.when(
|
||||||
message: 'chore(wrong): not including package scope',
|
mockCompareCommits({
|
||||||
},
|
owner: 'wagoid',
|
||||||
],
|
repo: 'commitlint-github-action',
|
||||||
|
per_page: 100,
|
||||||
|
base: 'bbbbb',
|
||||||
|
head: 'aaaaa',
|
||||||
|
}),
|
||||||
|
).thenResolve({
|
||||||
|
data: {
|
||||||
|
commits: [
|
||||||
|
buildResponseCommit(
|
||||||
|
'correct-message',
|
||||||
|
'chore(wrong): not including package scope',
|
||||||
|
),
|
||||||
|
],
|
||||||
|
},
|
||||||
})
|
})
|
||||||
updatePushEnvVars(cwd)
|
updatePushEnvVars(cwd)
|
||||||
td.replace(process, 'cwd', () => cwd)
|
td.replace(process, 'cwd', () => cwd)
|
||||||
|
|
@ -263,13 +344,25 @@ describe('Commit Linter action', () => {
|
||||||
td.when(mockCore.getInput('configFile')).thenReturn(
|
td.when(mockCore.getInput('configFile')).thenReturn(
|
||||||
'./commitlint.config.yml',
|
'./commitlint.config.yml',
|
||||||
)
|
)
|
||||||
await createPushEventPayload(cwd, {
|
await createPushEventPayload(cwd)
|
||||||
commits: [
|
updatePushEnvVars(cwd)
|
||||||
{
|
td.when(
|
||||||
id: 'correct-message',
|
mockCompareCommits({
|
||||||
message: 'chore(second-package): this works',
|
owner: 'wagoid',
|
||||||
},
|
repo: 'commitlint-github-action',
|
||||||
],
|
per_page: 100,
|
||||||
|
base: 'bbbbb',
|
||||||
|
head: 'aaaaa',
|
||||||
|
}),
|
||||||
|
).thenResolve({
|
||||||
|
data: {
|
||||||
|
commits: [
|
||||||
|
buildResponseCommit(
|
||||||
|
'correct-message',
|
||||||
|
'chore(second-package): this works',
|
||||||
|
),
|
||||||
|
],
|
||||||
|
},
|
||||||
})
|
})
|
||||||
updatePushEnvVars(cwd)
|
updatePushEnvVars(cwd)
|
||||||
td.replace(process, 'cwd', () => cwd)
|
td.replace(process, 'cwd', () => cwd)
|
||||||
|
|
@ -285,13 +378,24 @@ describe('Commit Linter action', () => {
|
||||||
td.when(mockCore.getInput('configFile')).thenReturn(
|
td.when(mockCore.getInput('configFile')).thenReturn(
|
||||||
'./commitlint.config.mjs',
|
'./commitlint.config.mjs',
|
||||||
)
|
)
|
||||||
await createPushEventPayload(cwd, {
|
await createPushEventPayload(cwd)
|
||||||
commits: [
|
td.when(
|
||||||
{
|
mockCompareCommits({
|
||||||
id: 'wrong-message',
|
owner: 'wagoid',
|
||||||
message: 'ib-21212121212121: without jira ticket',
|
repo: 'commitlint-github-action',
|
||||||
},
|
per_page: 100,
|
||||||
],
|
base: 'bbbbb',
|
||||||
|
head: 'aaaaa',
|
||||||
|
}),
|
||||||
|
).thenResolve({
|
||||||
|
data: {
|
||||||
|
commits: [
|
||||||
|
buildResponseCommit(
|
||||||
|
'wrong-message',
|
||||||
|
'ib-21212121212121: without jira ticket',
|
||||||
|
),
|
||||||
|
],
|
||||||
|
},
|
||||||
})
|
})
|
||||||
updatePushEnvVars(cwd)
|
updatePushEnvVars(cwd)
|
||||||
td.replace(process, 'cwd', () => cwd)
|
td.replace(process, 'cwd', () => cwd)
|
||||||
|
|
@ -325,8 +429,19 @@ describe('Commit Linter action', () => {
|
||||||
'./commitlint.config.mjs',
|
'./commitlint.config.mjs',
|
||||||
)
|
)
|
||||||
cwd = await git.bootstrap('fixtures/conventional', process.cwd())
|
cwd = await git.bootstrap('fixtures/conventional', process.cwd())
|
||||||
await createPushEventPayload(cwd, {})
|
await createPushEventPayload(cwd, { commits: [] }, 'bbbbb', 'aaaaa')
|
||||||
updatePushEnvVars(cwd)
|
updatePushEnvVars(cwd)
|
||||||
|
td.when(
|
||||||
|
mockCompareCommits({
|
||||||
|
owner: 'wagoid',
|
||||||
|
repo: 'commitlint-github-action',
|
||||||
|
head: 'aaaaa',
|
||||||
|
base: 'bbbbb',
|
||||||
|
per_page: 100,
|
||||||
|
}),
|
||||||
|
).thenResolve({
|
||||||
|
data: { commits: [] },
|
||||||
|
})
|
||||||
td.replace(process, 'cwd', () => cwd)
|
td.replace(process, 'cwd', () => cwd)
|
||||||
td.replace(console, 'log')
|
td.replace(console, 'log')
|
||||||
|
|
||||||
|
|
@ -354,7 +469,7 @@ describe('Commit Linter action', () => {
|
||||||
await createPullRequestEventPayload(cwd)
|
await createPullRequestEventPayload(cwd)
|
||||||
updatePullRequestEnvVars(cwd, { eventName })
|
updatePullRequestEnvVars(cwd, { eventName })
|
||||||
td.when(
|
td.when(
|
||||||
mockListCommits({
|
mockListPullCommits({
|
||||||
owner: 'wagoid',
|
owner: 'wagoid',
|
||||||
repo: 'commitlint-github-action',
|
repo: 'commitlint-github-action',
|
||||||
pull_number: '1',
|
pull_number: '1',
|
||||||
|
|
@ -420,7 +535,7 @@ describe('Commit Linter action', () => {
|
||||||
await createPullRequestEventPayload(cwd)
|
await createPullRequestEventPayload(cwd)
|
||||||
updatePullRequestEnvVars(cwd)
|
updatePullRequestEnvVars(cwd)
|
||||||
td.when(
|
td.when(
|
||||||
mockListCommits({
|
mockListPullCommits({
|
||||||
owner: 'wagoid',
|
owner: 'wagoid',
|
||||||
repo: 'commitlint-github-action',
|
repo: 'commitlint-github-action',
|
||||||
pull_number: '1',
|
pull_number: '1',
|
||||||
|
|
@ -457,6 +572,17 @@ describe('Commit Linter action', () => {
|
||||||
cwd = await git.bootstrap('fixtures/conventional', process.cwd())
|
cwd = await git.bootstrap('fixtures/conventional', process.cwd())
|
||||||
await createPushEventPayload(cwd, { commits: [commit] })
|
await createPushEventPayload(cwd, { commits: [commit] })
|
||||||
updatePushEnvVars(cwd)
|
updatePushEnvVars(cwd)
|
||||||
|
td.when(
|
||||||
|
mockCompareCommits({
|
||||||
|
owner: 'wagoid',
|
||||||
|
repo: 'commitlint-github-action',
|
||||||
|
head: 'aaaaa',
|
||||||
|
base: 'bbbbb',
|
||||||
|
per_page: 100,
|
||||||
|
}),
|
||||||
|
).thenResolve({
|
||||||
|
data: { commits: [buildResponseCommit(commit.id, commit.message)] },
|
||||||
|
})
|
||||||
td.replace(process, 'cwd', () => cwd)
|
td.replace(process, 'cwd', () => cwd)
|
||||||
td.replace(console, 'log')
|
td.replace(console, 'log')
|
||||||
})
|
})
|
||||||
|
|
@ -507,6 +633,25 @@ describe('Commit Linter action', () => {
|
||||||
await createPushEventPayload(cwd, {
|
await createPushEventPayload(cwd, {
|
||||||
commits: [commitWithWarning, correctCommit],
|
commits: [commitWithWarning, correctCommit],
|
||||||
})
|
})
|
||||||
|
td.when(
|
||||||
|
mockCompareCommits({
|
||||||
|
owner: 'wagoid',
|
||||||
|
repo: 'commitlint-github-action',
|
||||||
|
per_page: 100,
|
||||||
|
base: 'bbbbb',
|
||||||
|
head: 'aaaaa',
|
||||||
|
}),
|
||||||
|
).thenResolve({
|
||||||
|
data: {
|
||||||
|
commits: [
|
||||||
|
buildResponseCommit(
|
||||||
|
commitWithWarning.id,
|
||||||
|
commitWithWarning.message,
|
||||||
|
),
|
||||||
|
buildResponseCommit(correctCommit.id, correctCommit.message),
|
||||||
|
],
|
||||||
|
},
|
||||||
|
})
|
||||||
updatePushEnvVars(cwd)
|
updatePushEnvVars(cwd)
|
||||||
td.replace(process, 'cwd', () => cwd)
|
td.replace(process, 'cwd', () => cwd)
|
||||||
td.replace(console, 'log')
|
td.replace(console, 'log')
|
||||||
|
|
@ -580,6 +725,26 @@ describe('Commit Linter action', () => {
|
||||||
await createPushEventPayload(cwd, {
|
await createPushEventPayload(cwd, {
|
||||||
commits: [wrongCommit, commitWithWarning],
|
commits: [wrongCommit, commitWithWarning],
|
||||||
})
|
})
|
||||||
|
td.when(
|
||||||
|
mockCompareCommits({
|
||||||
|
owner: 'wagoid',
|
||||||
|
repo: 'commitlint-github-action',
|
||||||
|
per_page: 100,
|
||||||
|
base: 'bbbbb',
|
||||||
|
head: 'aaaaa',
|
||||||
|
}),
|
||||||
|
).thenResolve({
|
||||||
|
data: {
|
||||||
|
commits: [
|
||||||
|
buildResponseCommit(wrongCommit.id, wrongCommit.message),
|
||||||
|
buildResponseCommit(
|
||||||
|
commitWithWarning.id,
|
||||||
|
commitWithWarning.message,
|
||||||
|
),
|
||||||
|
],
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
updatePushEnvVars(cwd)
|
updatePushEnvVars(cwd)
|
||||||
td.replace(process, 'cwd', () => cwd)
|
td.replace(process, 'cwd', () => cwd)
|
||||||
td.replace(console, 'log')
|
td.replace(console, 'log')
|
||||||
|
|
@ -635,14 +800,24 @@ describe('Commit Linter action', () => {
|
||||||
describe('when commit contains required signed-off-by message', () => {
|
describe('when commit contains required signed-off-by message', () => {
|
||||||
beforeEach(async () => {
|
beforeEach(async () => {
|
||||||
cwd = await git.bootstrap('fixtures/signed-off-by', process.cwd())
|
cwd = await git.bootstrap('fixtures/signed-off-by', process.cwd())
|
||||||
await createPushEventPayload(cwd, {
|
await createPushEventPayload(cwd)
|
||||||
commits: [
|
td.when(
|
||||||
{
|
mockCompareCommits({
|
||||||
id: 'correct-commit',
|
owner: 'wagoid',
|
||||||
message:
|
repo: 'commitlint-github-action',
|
||||||
|
per_page: 100,
|
||||||
|
base: 'bbbbb',
|
||||||
|
head: 'aaaaa',
|
||||||
|
}),
|
||||||
|
).thenResolve({
|
||||||
|
data: {
|
||||||
|
commits: [
|
||||||
|
buildResponseCommit(
|
||||||
|
'correct-commit',
|
||||||
'chore: correct message\n\nsome context without leading blank line.\n\nSigned-off-by: John Doe <john.doe@example.com>',
|
'chore: correct message\n\nsome context without leading blank line.\n\nSigned-off-by: John Doe <john.doe@example.com>',
|
||||||
},
|
),
|
||||||
],
|
],
|
||||||
|
},
|
||||||
})
|
})
|
||||||
updatePushEnvVars(cwd)
|
updatePushEnvVars(cwd)
|
||||||
td.replace(process, 'cwd', () => cwd)
|
td.replace(process, 'cwd', () => cwd)
|
||||||
|
|
@ -660,13 +835,19 @@ describe('Commit Linter action', () => {
|
||||||
describe('when a different helpUrl is provided in the config', () => {
|
describe('when a different helpUrl is provided in the config', () => {
|
||||||
beforeEach(async () => {
|
beforeEach(async () => {
|
||||||
cwd = await git.bootstrap('fixtures/custom-help-url', process.cwd())
|
cwd = await git.bootstrap('fixtures/custom-help-url', process.cwd())
|
||||||
await createPushEventPayload(cwd, {
|
await createPushEventPayload(cwd)
|
||||||
commits: [
|
td.when(
|
||||||
{
|
mockCompareCommits({
|
||||||
id: 'wrong-commit',
|
owner: 'wagoid',
|
||||||
message: 'wrong message',
|
repo: 'commitlint-github-action',
|
||||||
},
|
per_page: 100,
|
||||||
],
|
base: 'bbbbb',
|
||||||
|
head: 'aaaaa',
|
||||||
|
}),
|
||||||
|
).thenResolve({
|
||||||
|
data: {
|
||||||
|
commits: [buildResponseCommit('wrong-commit', 'wrong message')],
|
||||||
|
},
|
||||||
})
|
})
|
||||||
updatePushEnvVars(cwd)
|
updatePushEnvVars(cwd)
|
||||||
td.replace(process, 'cwd', () => cwd)
|
td.replace(process, 'cwd', () => cwd)
|
||||||
|
|
@ -698,6 +879,22 @@ describe('Commit Linter action', () => {
|
||||||
],
|
],
|
||||||
})
|
})
|
||||||
updatePushEnvVars(cwd)
|
updatePushEnvVars(cwd)
|
||||||
|
td.when(
|
||||||
|
mockCompareCommits({
|
||||||
|
owner: 'wagoid',
|
||||||
|
repo: 'commitlint-github-action',
|
||||||
|
per_page: 100,
|
||||||
|
base: 'bbbbb',
|
||||||
|
head: 'aaaaa',
|
||||||
|
}),
|
||||||
|
).thenResolve({
|
||||||
|
data: {
|
||||||
|
commits: [
|
||||||
|
buildResponseCommit('correct-commit', 'chore: correct message 2'),
|
||||||
|
buildResponseCommit(incorrectCommit.id, incorrectCommit.message),
|
||||||
|
],
|
||||||
|
},
|
||||||
|
})
|
||||||
td.replace(process, 'cwd', () => cwd)
|
td.replace(process, 'cwd', () => cwd)
|
||||||
td.replace(console, 'log')
|
td.replace(console, 'log')
|
||||||
})
|
})
|
||||||
|
|
|
||||||
|
|
@ -19,16 +19,26 @@ export const updatePushEnvVars = (cwd) => {
|
||||||
|
|
||||||
export const createPushEventPayload = async (
|
export const createPushEventPayload = async (
|
||||||
cwd,
|
cwd,
|
||||||
{ forced = false, headCommit = null, commits = [] },
|
commits = null,
|
||||||
|
before = null,
|
||||||
|
after = null,
|
||||||
) => {
|
) => {
|
||||||
const payload = {
|
const payload = {
|
||||||
forced,
|
forced: false,
|
||||||
head_commit: headCommit,
|
head_commit: null,
|
||||||
commits,
|
before: before || 'bbbbb',
|
||||||
|
after: after || 'aaaaa',
|
||||||
|
commits: commits || [
|
||||||
|
{
|
||||||
|
id: 'ignored',
|
||||||
|
message: 'but needed for triggering',
|
||||||
|
},
|
||||||
|
],
|
||||||
}
|
}
|
||||||
const eventPath = path.join(cwd, 'pushEventPayload.json')
|
const eventPath = path.join(cwd, 'pushEventPayload.json')
|
||||||
|
|
||||||
updateEnvVars({ GITHUB_EVENT_PATH: eventPath })
|
updateEnvVars({ GITHUB_EVENT_PATH: eventPath })
|
||||||
|
updateEnvVars({ GITHUB_REPOSITORY: 'wagoid/commitlint-github-action' })
|
||||||
await writeFile(eventPath, JSON.stringify(payload), 'utf8')
|
await writeFile(eventPath, JSON.stringify(payload), 'utf8')
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue