mirror of
https://github.com/wagoid/commitlint-github-action.git
synced 2025-11-07 08:06:54 +00:00
Merge pull request #15 from wagoid/fix/also-check-range-of-commits-for-push-events
fix: also check range of commits for push events
This commit is contained in:
commit
7637484297
5 changed files with 1440 additions and 1420 deletions
3
.github/workflows/commitlint.yml
vendored
3
.github/workflows/commitlint.yml
vendored
|
|
@ -9,6 +9,7 @@ jobs:
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v1
|
- uses: actions/checkout@v1
|
||||||
- run: sed -i -E "s/([']docker:.+)/Dockerfile/" ./action.yml
|
- run: sed -i -E "s/([']docker:.+)/Dockerfile/" ./action.yml
|
||||||
|
- run: echo -n "" > .dockerignore
|
||||||
- uses: ./
|
- uses: ./
|
||||||
commitlint-with-yml-file:
|
commitlint-with-yml-file:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
@ -17,6 +18,7 @@ jobs:
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v1
|
- uses: actions/checkout@v1
|
||||||
- run: sed -i -E "s/([']docker:.+)/Dockerfile/" ./action.yml
|
- run: sed -i -E "s/([']docker:.+)/Dockerfile/" ./action.yml
|
||||||
|
- run: echo -n '' > .dockerignore
|
||||||
- uses: ./
|
- uses: ./
|
||||||
with:
|
with:
|
||||||
configFile: './.commitlintrc.yml'
|
configFile: './.commitlintrc.yml'
|
||||||
|
|
@ -27,6 +29,7 @@ jobs:
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v1
|
- uses: actions/checkout@v1
|
||||||
- run: sed -i -E "s/([']docker:.+)/Dockerfile/" ./action.yml
|
- run: sed -i -E "s/([']docker:.+)/Dockerfile/" ./action.yml
|
||||||
|
- run: echo -n '' > .dockerignore
|
||||||
- uses: ./
|
- uses: ./
|
||||||
with:
|
with:
|
||||||
configFile: './.commitlintrc-with-lerna-scopes.yml'
|
configFile: './.commitlintrc-with-lerna-scopes.yml'
|
||||||
|
|
|
||||||
1
.github/workflows/test.yml
vendored
1
.github/workflows/test.yml
vendored
|
|
@ -9,4 +9,5 @@ jobs:
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v1
|
- uses: actions/checkout@v1
|
||||||
- run: sed -i -E "s/([']docker:.+)/Dockerfile/" ./action.yml
|
- run: sed -i -E "s/([']docker:.+)/Dockerfile/" ./action.yml
|
||||||
|
- run: echo -n '' > .dockerignore
|
||||||
- uses: ./
|
- uses: ./
|
||||||
|
|
|
||||||
2823
package-lock.json
generated
2823
package-lock.json
generated
File diff suppressed because it is too large
Load diff
|
|
@ -16,7 +16,6 @@
|
||||||
"homepage": "https://github.com/wagoid/commitlint-github-action",
|
"homepage": "https://github.com/wagoid/commitlint-github-action",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@actions/core": "1.1.1",
|
"@actions/core": "1.1.1",
|
||||||
"@actions/exec": "1.0.1",
|
|
||||||
"@actions/github": "1.1.0",
|
"@actions/github": "1.1.0",
|
||||||
"@commitlint/config-angular": "8.2.0",
|
"@commitlint/config-angular": "8.2.0",
|
||||||
"@commitlint/config-conventional": "8.2.0",
|
"@commitlint/config-conventional": "8.2.0",
|
||||||
|
|
|
||||||
32
run.js
32
run.js
|
|
@ -2,7 +2,6 @@ const { existsSync } = require('fs')
|
||||||
const { resolve } = require('path')
|
const { resolve } = require('path')
|
||||||
const core = require('@actions/core')
|
const core = require('@actions/core')
|
||||||
const github = require('@actions/github')
|
const github = require('@actions/github')
|
||||||
const exec = require('@actions/exec')
|
|
||||||
const lint = require('@commitlint/lint')
|
const lint = require('@commitlint/lint')
|
||||||
const { format } = require('@commitlint/format')
|
const { format } = require('@commitlint/format')
|
||||||
const load = require('@commitlint/load')
|
const load = require('@commitlint/load')
|
||||||
|
|
@ -17,11 +16,34 @@ const configPath = resolve(
|
||||||
core.getInput('configFile'),
|
core.getInput('configFile'),
|
||||||
)
|
)
|
||||||
|
|
||||||
const getRangeFromPullRequest = async () => {
|
const { context: eventContext } = github
|
||||||
if (GITHUB_EVENT_NAME !== pullRequestEvent) return [null, GITHUB_SHA]
|
|
||||||
|
const gitEmptySha = '0000000000000000000000000000000000000000'
|
||||||
|
|
||||||
|
const getRangeForPushEvent = () => {
|
||||||
|
let from = eventContext.payload.before
|
||||||
|
const to = GITHUB_SHA
|
||||||
|
|
||||||
|
if (eventContext.payload.forced) {
|
||||||
|
// When a commit is forced, "before" field from the push event data may point to a commit that doesn't exist
|
||||||
|
console.warn(
|
||||||
|
'Commit was forced, checking only the latest commit from push instead of a range of commit messages',
|
||||||
|
)
|
||||||
|
from = null
|
||||||
|
}
|
||||||
|
|
||||||
|
if (from === gitEmptySha) {
|
||||||
|
from = null
|
||||||
|
}
|
||||||
|
|
||||||
|
return [from, to]
|
||||||
|
}
|
||||||
|
|
||||||
|
const getRangeForEvent = async () => {
|
||||||
|
if (GITHUB_EVENT_NAME !== pullRequestEvent) return getRangeForPushEvent()
|
||||||
|
|
||||||
const octokit = new github.GitHub(GITHUB_TOKEN)
|
const octokit = new github.GitHub(GITHUB_TOKEN)
|
||||||
const { owner, repo, number } = github.context.issue
|
const { owner, repo, number } = eventContext.issue
|
||||||
const { data: commits } = await octokit.pulls.listCommits({
|
const { data: commits } = await octokit.pulls.listCommits({
|
||||||
owner,
|
owner,
|
||||||
repo,
|
repo,
|
||||||
|
|
@ -91,7 +113,7 @@ const exitWithMessage = message => error => {
|
||||||
}
|
}
|
||||||
|
|
||||||
const main = () =>
|
const main = () =>
|
||||||
getRangeFromPullRequest()
|
getRangeForEvent()
|
||||||
.catch(
|
.catch(
|
||||||
exitWithMessage("error trying to get list of pull request's commits"),
|
exitWithMessage("error trying to get list of pull request's commits"),
|
||||||
)
|
)
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue