diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index 06db2a24..7a025c0f 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -1,6 +1,6 @@ name: Bug Report description: File a bug report -labels: [bug] +labels: ['bug', 'triage'] body: - type: input id: plugin_version diff --git a/.github/ISSUE_TEMPLATE/propose_new_rule.yml b/.github/ISSUE_TEMPLATE/propose_new_rule.yml index 95a0ee15..8205d7d4 100644 --- a/.github/ISSUE_TEMPLATE/propose_new_rule.yml +++ b/.github/ISSUE_TEMPLATE/propose_new_rule.yml @@ -1,6 +1,6 @@ name: Propose a new rule description: Propose a new rule for the eslint-plugin-testing-library. -labels: [new rule] +labels: ['new rule', 'triage'] body: - type: input id: name_for_new_rule diff --git a/.github/ISSUE_TEMPLATE/request_general_change.yml b/.github/ISSUE_TEMPLATE/request_general_change.yml index 3cf1b3e4..beebe0a6 100644 --- a/.github/ISSUE_TEMPLATE/request_general_change.yml +++ b/.github/ISSUE_TEMPLATE/request_general_change.yml @@ -1,6 +1,6 @@ name: Request a general change description: Request a general change for the eslint-plugin-testing-library. -labels: [enhancement] +labels: ['enhancement', 'triage'] body: - type: input id: plugin_version diff --git a/.github/ISSUE_TEMPLATE/request_rule_change.yml b/.github/ISSUE_TEMPLATE/request_rule_change.yml index 81081560..e3f8a27b 100644 --- a/.github/ISSUE_TEMPLATE/request_rule_change.yml +++ b/.github/ISSUE_TEMPLATE/request_rule_change.yml @@ -1,6 +1,6 @@ name: Request a rule change description: Request a rule change for the eslint-plugin-testing-library. -labels: [enhancement] +labels: ['enhancement', 'triage'] body: - type: input id: what_rule_do_you_want_to_change diff --git a/.github/stale.yml b/.github/stale.yml index c9714211..a292650c 100644 --- a/.github/stale.yml +++ b/.github/stale.yml @@ -2,11 +2,17 @@ daysUntilStale: 60 # Number of days of inactivity before a stale issue is closed daysUntilClose: 7 +# Only issues or pull requests with all of these labels are checked if stale +onlyLabels: + - 'awaiting response' + - 'new rule' + - enhancement + - invalid # Issues with these labels will never be considered stale exemptLabels: - pinned - security - - bug + - triage # Label to use when marking an issue as stale staleLabel: wontfix # Comment to post when marking an issue as stale. Set to `false` to disable diff --git a/MAINTAINERS.md b/MAINTAINERS.md new file mode 100644 index 00000000..302b3cd7 --- /dev/null +++ b/MAINTAINERS.md @@ -0,0 +1,46 @@ +This document outlines some processes that the maintainers should stick to. + +## Issues Process + +There are 3 types of issues that can be created: + +- `"bug"` +- `"new rule"` +- `"enhancement"` + +### Triage + +The triage process is basically making sure that the issue is correctly reported (and ask for more info if not), and categorize it correctly if it belongs to a different type than initially assigned. + +- When a new issue is created, they'll include a `"triage"` label +- If the issue is correctly reported, please remove the `"triage"` label, so we know is valid and ready to be tackled +- If the issue is **not** correctly reported, please ask for more details and add the `"awaiting response"` label, so we know more info has been requested to the author +- If the issue belong to an incorrect category, please update the labels to put it in the right category +- If the issue is duplicated, please close it including a comment with a link to the duplicating issue + +## Pull Requests Process + +### Main PR workflow + +_TODO: pending to describe the main PR process_ + +### Contributors + +When the PR gets merged, please check if the author of the PR or the closed issue (if any) should be added or updated in the [Contributors section](https://github.com/testing-library/eslint-plugin-testing-library#contributors-). + +If so, you can ask the [`@all-contributors` bot to add a contributor](https://allcontributors.org/docs/en/bot/usage) in a comment of the merged PR (this works for both adding and updating). Remember to check the [Contribution Types table](https://allcontributors.org/docs/en/emoji-key) to decide which sort of contribution should be assigned. + +## Stale bot + +This repo uses [probot-stale](https://github.com/probot/stale) to close abandoned issues and PRs after a period of inactivity. + +They'll be considered inactive if they match all the following conditions: + +- they have been 60 days inactive +- they have at least one of the following labels: + - `"awaiting response"`: we are waiting for more details but the author didn't react + - `"new rule"`: there is a proposal for a new rule that no one could handle + - `"enhancement"`: there is a proposal for an enhancement that no one could handle + - `"invalid"`: something is wrong with the issue/PR and the author didn't take care of it + +When flagged as a stale issue or PR, they'll be definitely closed after 7 more days of inactivity. Issues and PRs with the following labels are excluded: `"pinned"`, `"security"`, and "`triage"`. Use the first one if you need to exclude an issue or PR from being closed for whatever reason even if the inactive criteria is matched.