Skip to content

PR and issue management

Ben McMorran edited this page Jan 13, 2022 · 5 revisions

PRs are reviewed at least weekly. We currently don't get a large number of PRs, so the review process is not automated. Simply look at the list of active PRs, merge what's ready, and leave feedback where changes are needed. If any changes require a broader design discussion, feel free to loop in others from the team.

When merging PRs, label related issues with the fixed-pending-release label and and leave comments explaining that a fix for the issue will be included in the next release of the extension. If you want additional testing of the fix, include a link to the VSIX produced by the CI builds. Automation will automatically close fixed-pending-release issues the next time a release is tagged.

Issues are triaged at least weekly following this workflow. The goal is to keep the list of active issues short, actionable, and easy to query.

  1. Query for all issues with the needs-more-info label. These are existing issues that require more information from the creator to be actionable.
    • If the creator has responded to the request for information, remove the needs-more-info label and follow the triage process in step 2.
    • If the creator has not responded, leave the issue as-is. Automation will eventually close the issue if there is no response.
  2. Query for all issues with the triage label. These are new issues that have not yet been triaged.
    • If the issue is a duplicate, has already been fixed, or will never be actionable or fixed, close the issue and leave a comment explaining why it was closed.
    • If the issue is not actionable because it's missing details like repro steps, ask the creator for the relevant details, remove the triage label, and add the needs-more-info label.
    • If the issue is actionable, simply remove the triage label. If there is additional context that would be helpful for the creator, like a workaround or related issue, feel free to leave a comment.

A few bits of automation powered by GitHub Actions help support this workflow.

  • Every time an issue is opened, the triage label is added to the issue.
  • Every time an issue is closed, the triage and needs-more-info labels, if present, are removed.
  • Issues with the needs-more-info label are evaluated hourly for staleness. If the issue has been inactive for 30 days, a reminder comment is added and the stale label is added. If the issue is inactive for another 7 days, a closed comment is added, the issue is closed, and the stale label is removed.
  • Issues with the fixed-pending-release label are closed when a release tag is pushed. A comment is added explaining that the fix is now available on in the extension marketplace.
Clone this wiki locally