From 892f4a12a0084464da137d25b1a027e4afb808bd Mon Sep 17 00:00:00 2001 From: Dmytro Pustovit Date: Tue, 4 May 2021 13:24:44 +0300 Subject: [PATCH] Chore: adds trusted bots to danger --- .dangerfile.js | 14 +++++++++++++- .eslintignore | 1 + 2 files changed, 14 insertions(+), 1 deletion(-) create mode 100644 .eslintignore diff --git a/.dangerfile.js b/.dangerfile.js index 93f76d7..de7b852 100644 --- a/.dangerfile.js +++ b/.dangerfile.js @@ -6,15 +6,27 @@ const src = danger.git.fileMatch('src/*'); const tests = danger.git.fileMatch('tests/*'); const system = danger.git.fileMatch('.*', '.*/**', 'LICENSE.md', 'package-lock.json', 'package.json'); const isOwner = danger.github.pr.user.login === danger.github.thisPR.owner; +const renovateBot = 29139614; +const TrustedBots = [ renovateBot ]; +// const isBot = danger.github.pr.user.type === 'Bot'; +const isTrustedBot = TrustedBots.includes(danger.github.pr.user.id); const modifiedList = danger.git.modified_files.join('\n\n- '); export default async function () { message(`Changed Files in this PR:\n\n- ${modifiedList}`); + const { data: contributors } = await danger.github.api.repos.listContributors(danger.github.thisPR); + const contributor = contributors.find(c => c.login === danger.github.pr.user.login); + + if (contributor) { + message(`${contributor} login already contributed ${contributor.contributions} times`); + } + if (system.modified && !isOwner) { const files = system.getKeyedPaths().modified; + const level = (contributor || isTrustedBot) ? warn : fail; - fail(`Only owner can change system files [${files.join(', ')}], please provide issue instead`, files[0]); + level(`Only owner can change system files [${files.join(', ')}], please provide issue instead`, files[0]); } if (src.modified && !tests.modified) { diff --git a/.eslintignore b/.eslintignore new file mode 100644 index 0000000..ad6f0a7 --- /dev/null +++ b/.eslintignore @@ -0,0 +1 @@ +!.dangerfile.js \ No newline at end of file