I'm opening this to track discussion around automating the workflow of issues and PRs.
@Darksonn has started experimenting with using Github Projects to help manage open work. Playing around with it, I think there is potential to streamline our workflow. First, we need to define a workflow around projects.
As of now, the content of the issue is an attempt to write down the process @Darksonn has put together. We will update this description over time.
At a high level, there are a few states:
new: inbound issues / PRs that have not been triaged
stale: issues/PRs that have had work progress, but then stalled out.
icebox: Feature requests or other suggestions that have been made, but are not prioritized for work.
waiting-on-author: An issue/PR that is blocked on the author to provide more information or make changes to the PR.
waiting-on-review: A PR is waiting for a Tokio maintainer to provide a code review.
waiting-on-decision: An issue/PR is waiting for a Tokio maintainer to provide a decision on how to move forward.
Workflow
How to handle issues/PRs in the various states.
new
New issues/PRs need to be manually moved into another state.
stale
Issues/PRs that have been sitting in any other state for a fixed amount of time without any change are moved into the stale state. They get to sit here for a set amount of time (X days) until they are automatically closed. Anyone can bump the issue/PR to keep it open.
icebox
First, we can come up w/ a different name than "icebox".
These would be tagged feature-accepted and help-wanted and left for contributors to jump on if they want.
waiting-on-author
Issues/PRs in this state are blocked on the author to provide input. After a set number of days of inactivity, they get moved into the stale state.
Once the author pushes a new commit or provides an update, the issue can be moved to waiting-on-decision or waiting-on-review. Can this be automated?
waiting-on-review
PRs that have no reviews or have outstanding requested reviews are in this state. Once all requested reviews are approved and CI passes, the PR can be merged.
When a changes requested review is submitted, the PR transitions to the "waiting-on-author" state.
waiting-on-decision
Issues / PRs that are blocked on a Tokio maintainer providing a decision are in this state. Issues/PRs are manually moved from other states into this state.
I'm opening this to track discussion around automating the workflow of issues and PRs.
@Darksonn has started experimenting with using Github Projects to help manage open work. Playing around with it, I think there is potential to streamline our workflow. First, we need to define a workflow around projects.
As of now, the content of the issue is an attempt to write down the process @Darksonn has put together. We will update this description over time.
At a high level, there are a few states:
Workflow
How to handle issues/PRs in the various states.
new
New issues/PRs need to be manually moved into another state.
stale
Issues/PRs that have been sitting in any other state for a fixed amount of time without any change are moved into the stale state. They get to sit here for a set amount of time (X days) until they are automatically closed. Anyone can bump the issue/PR to keep it open.
icebox
First, we can come up w/ a different name than "icebox".
These would be tagged
feature-accepted
andhelp-wanted
and left for contributors to jump on if they want.waiting-on-author
Issues/PRs in this state are blocked on the author to provide input. After a set number of days of inactivity, they get moved into the stale state.
Once the author pushes a new commit or provides an update, the issue can be moved to
waiting-on-decision
orwaiting-on-review
. Can this be automated?waiting-on-review
PRs that have no reviews or have outstanding requested reviews are in this state. Once all requested reviews are approved and CI passes, the PR can be merged.
When a changes requested review is submitted, the PR transitions to the "waiting-on-author" state.
waiting-on-decision
Issues / PRs that are blocked on a Tokio maintainer providing a decision are in this state. Issues/PRs are manually moved from other states into this state.