tokio-rs / tokio

A runtime for writing reliable asynchronous applications with Rust. Provides I/O, networking, scheduling, timers, ...
https://tokio.rs
MIT License
27.05k stars 2.49k forks source link

chore: automate issue/PR workflow w/ actions & project #2712

Open carllerche opened 4 years ago

carllerche commented 4 years ago

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 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.

carllerche commented 4 years ago

Also, interesting to note that the issue has not automatically been added to the project.