diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index aba9581b7..1ca7ca42c 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -12,6 +12,10 @@ > Issue links go here +## Usage Example + +> Example of how to call it + ## Checklists ### Development diff --git a/dangerfile.ts b/dangerfile.ts index 2a2e5ec59..419dfef67 100644 --- a/dangerfile.ts +++ b/dangerfile.ts @@ -2,17 +2,23 @@ import collectCoverage, { ReportType } from '@instabug/danger-plugin-coverage'; import { danger, fail, schedule, warn } from 'danger'; const hasSourceChanges = danger.git.modified_files.some((file) => file.startsWith('src/')); +const hasModulesChanges = danger.git.modified_files.some((file) => file.startsWith('src/modules/')); const declaredTrivial = !hasSourceChanges || danger.github.issue.labels.some((label) => label.name === 'trivial'); -// Make sure PR has a description. +// Make sure PR has a description and ca;;ing example. async function hasDescription() { const linesOfCode = (await danger.git.linesOfCode()) ?? 0; const hasNoDiscription = danger.github.pr.body.includes('> Description goes here'); + const hasNoExample = danger.github.pr.body.includes('> Example of how to call it'); if (hasNoDiscription && linesOfCode > 10) { fail('Please provide a summary of the changes in the pull request description.'); } + if (hasNoExample && linesOfCode > 10 && hasModulesChanges) { + warn('Please provide example of how to call it.'); + } + if (!danger.git.modified_files.includes('CHANGELOG.md') && !declaredTrivial) { warn( 'You have not included a CHANGELOG entry! \nYou can find it at [CHANGELOG.md](https://github.com/Instabug/Instabug-React-Native/blob/master/CHANGELOG.md).',