Merge pull request #6692 from vector-im/feature/bma/no_signoff_dependabot

No signoff, no changelog for dependabot's PR
This commit is contained in:
Adam Brown 2022-08-02 12:14:36 +01:00 committed by GitHub
commit 5d30026726
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 28 additions and 17 deletions

View File

@ -8,6 +8,8 @@ const {danger, warn} = require('danger')
// warn(JSON.stringify(danger))
const pr = danger.github.pr
// User who has created the PR.
const user = pr.user.login
const modified = danger.git.modified_files
const created = danger.git.created_files
let editedFiles = [...modified, ...created]
@ -19,25 +21,33 @@ if (pr.body.length == 0) {
// Warn when there is a big PR
if (editedFiles.length > 50) {
warn("This pull request seems relatively large. Please consider splitting it into multiple smaller ones.")
message("This pull request seems relatively large. Please consider splitting it into multiple smaller ones.")
}
// Request a changelog for each PR
let changelogFiles = editedFiles.filter(file => file.startsWith("changelog.d/"))
const changelogAllowList = [
"dependabot[bot]",
]
if (changelogFiles.length == 0) {
warn("Please add a changelog. See instructions [here](https://github.com/vector-im/element-android/blob/develop/CONTRIBUTING.md#changelog)")
} else {
const validTowncrierExtensions = [
"bugfix",
"doc",
"feature",
"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)")
let requiresChangelog = !changelogAllowList.includes(user)
if (requiresChangelog) {
let changelogFiles = editedFiles.filter(file => file.startsWith("changelog.d/"))
if (changelogFiles.length == 0) {
warn("Please add a changelog. See instructions [here](https://github.com/vector-im/element-android/blob/develop/CONTRIBUTING.md#changelog)")
} else {
const validTowncrierExtensions = [
"bugfix",
"doc",
"feature",
"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)")
}
}
}
@ -50,6 +60,7 @@ const allowList = [
"BillCarsonFr",
"bmarty",
"Claire1817",
"dependabot[bot]",
"ericdecanini",
"fedrunov",
"Florian14",
@ -65,7 +76,7 @@ const allowList = [
"yostyle",
]
let requiresSignOff = !allowList.includes(pr.user.login)
let requiresSignOff = !allowList.includes(user)
if (requiresSignOff) {
let hasPRBodySignOff = pr.body.includes(signOff)
@ -91,5 +102,5 @@ if (hasPngs) {
// Check for reviewers
if (pr.requested_reviewers.length == 0 && !pr.draft) {
fail("Please add a reviewer to your PR.")
warn("Please add a reviewer to your PR.")
}