Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Marvin for issues #103

Open
Ekleog opened this issue Dec 8, 2020 · 1 comment
Open

Marvin for issues #103

Ekleog opened this issue Dec 8, 2020 · 1 comment

Comments

@Ekleog
Copy link

Ekleog commented Dec 8, 2020

Hey!

This is again an idea that can safely be postponed to after marvin with its current feature set lands.

I'm thinking, something similar to marvin would probably make sense too for issues too? With a state graph that'd look like:

  • needs_feedback: can become needs_more_details or needs_pr
  • needs_more_details: can become needs_feedback
  • needs_pr: equivalent of needs_merger, can become needs_more_details or has_pr
  • has_pr: can become needs_more_details, needs_feedback or needs_pr

What do you think? There'd basically be three roles:

  1. reporting issues: equivalent of PR author for PRs
  2. giving feedback, asking for more details or a reproducer: equivalent of PR reviewer in the current system
  3. creating a PR for solving an issue: equivalent of PR merger in the current system

The allowed transitions are:

  • needs_feedback -> needs_more_details or needs_pr: can be done only by “issue reviewers” (role 2)
  • needs_more_details -> needs_feedback: can be done by anyone (to avoid an unresponsive issue opener to block other people concerned with the issue from getting resolution)
  • needs_pr -> needs_more_details: can be done by PR creators (role 3) (closing the issue is done by just having “closes #issuenumber” in the created PR)
  • has_pr -> needs_more_details: can be done by roles 2 and 3
  • has_pr -> needs_feedback: can be done by anyone (eg. if the PR doesn't actually solve the issue)
  • has_pr -> needs_pr: probably should eventually be done automatically if the PR is closed, though in a first time this should probably be manual.

(I originally added a thing for “needs_reproducer,” and then decided it was not worth the complexity increase in the state transition graph)

Note that this would probably requires a special handling system for darwin-specific things, as I don't expect people can make PRs for darwin without having a darwin system themselves.

And then marvin could become like stale bot but better, by “stale”-ing only issues that are being blocked on needs_more_details as this is the only state in which it makes sense to stale issues.

What do you think?

(Again, this is exploratory only, I definitely believe there's strong value in marvin as it currently is, just taking advantage of the bugtracker to track ideas for future long-term improvements)

@timokau
Copy link
Owner

timokau commented Dec 8, 2020

Yes, I agree that this might make sense in the future. It could also potentially do things like pinging maintainers of relevant packages.

That said, I probably will not work on this in the foreseeable future. It could also be implemented as a separate bot. Before doing that, we should also look into "off the shelf" bots that might already cover some of the use cases.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants