Do not require a changelog file for PR created by Dependabot.

This commit is contained in:
Benoit Marty 2022-07-29 15:18:04 +02:00
parent c41f0dd0cf
commit d60695806f
1 changed files with 25 additions and 15 deletions

View File

@ -8,6 +8,8 @@ const {danger, warn} = require('danger')
// warn(JSON.stringify(danger)) // warn(JSON.stringify(danger))
const pr = danger.github.pr const pr = danger.github.pr
// User who has created the PR.
const user = pr.user.login
const modified = danger.git.modified_files const modified = danger.git.modified_files
const created = danger.git.created_files const created = danger.git.created_files
let editedFiles = [...modified, ...created] let editedFiles = [...modified, ...created]
@ -23,21 +25,29 @@ if (editedFiles.length > 50) {
} }
// Request a changelog for each PR // Request a changelog for each PR
let changelogFiles = editedFiles.filter(file => file.startsWith("changelog.d/")) const changelogAllowList = [
"dependabot[bot]",
]
if (changelogFiles.length == 0) { let requiresChangelog = !changelogAllowList.includes(user)
warn("Please add a changelog. See instructions [here](https://github.com/vector-im/element-android/blob/develop/CONTRIBUTING.md#changelog)")
} else { if (requiresChangelog) {
const validTowncrierExtensions = [ let changelogFiles = editedFiles.filter(file => file.startsWith("changelog.d/"))
"bugfix",
"doc", if (changelogFiles.length == 0) {
"feature", warn("Please add a changelog. See instructions [here](https://github.com/vector-im/element-android/blob/develop/CONTRIBUTING.md#changelog)")
"misc", } else {
"sdk", const validTowncrierExtensions = [
"wip", "bugfix",
] "doc",
if (!changelogFiles.every(file => validTowncrierExtensions.includes(file.split(".").pop()))) { "feature",
fail("Invalid extension for changelog. See instructions [here](https://github.com/vector-im/element-android/blob/develop/CONTRIBUTING.md#changelog)") "misc",
"sdk",
"wip",
]
if (!changelogFiles.every(file => validTowncrierExtensions.includes(file.split(".").pop()))) {
fail("Invalid extension for changelog. See instructions [here](https://github.com/vector-im/element-android/blob/develop/CONTRIBUTING.md#changelog)")
}
} }
} }
@ -66,7 +76,7 @@ const allowList = [
"yostyle", "yostyle",
] ]
let requiresSignOff = !allowList.includes(pr.user.login) let requiresSignOff = !allowList.includes(user)
if (requiresSignOff) { if (requiresSignOff) {
let hasPRBodySignOff = pr.body.includes(signOff) let hasPRBodySignOff = pr.body.includes(signOff)