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

Actions: Add workflow for marking stale questions #5659

Merged
merged 2 commits into from
Apr 14, 2021

Conversation

aeisenberg
Copy link
Contributor

This PR adds a workflow for marking and closing issues as stale. Issues must be labeled as question. PRs are never marked as stale.

@aeisenberg aeisenberg requested a review from adityasharad April 12, 2021 18:49
@aeisenberg
Copy link
Contributor Author

I've set the debug-only flag to true, but looks like debug info is not being displayed. I think we need to set ACTIONS_STEP_DEBUG as a repo secret. Can someone with access set this secret and re-run the workflow?

Copy link
Collaborator

@adityasharad adityasharad left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks reasonable, a few suggestions.

.github/workflows/close-stale.yml Outdated Show resolved Hide resolved
.github/workflows/close-stale.yml Outdated Show resolved Hide resolved
Comment on lines 5 to 7
pull_request:
paths:
- codeql/.github/workflows/close-stale.yml
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we can drop the pull_request trigger and just do testing via workflow_dispatch on branches.

Suggested change
pull_request:
paths:
- codeql/.github/workflows/close-stale.yml

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

path is incorrect also. I need to have this run once before it appears as an option for workflow_dispatch. I'll remove it later.

.github/workflows/close-stale.yml Show resolved Hide resolved
@adityasharad
Copy link
Collaborator

Added ACTIONS_STEP_DEBUG=true. Go ahead and rerun the workflow.

@aeisenberg
Copy link
Contributor Author

Currently, the workflow will mark 120 issues as stale. I spot checked a few of them and they all do seem legitimately stale.

@aeisenberg
Copy link
Contributor Author

I think this looks good. I see no problem running against all historic issues. Here are the issues that would have been closed. I'll make sure no other committers have an issue with this, before merging.

This PR adds a workflow for marking and closing issues as stale. Issues must be labeled as _question_. PRs are never marked as stale.
@aeisenberg aeisenberg force-pushed the aeisenberg/mark-as-stale branch from 59dd770 to e0fcb15 Compare April 12, 2021 20:06
@geoffw0
Copy link
Contributor

geoffw0 commented Apr 13, 2021

Just scanned through the list above, looking mostly for C++ issues. They're certainly stale, most are questions, but there are a significant number of mislabeled suggestions (perhaps the correct label for these is not obvious?). Having something remind us to deal with these seems like a good idea. I would want a notification before any automatic closure (I get the impression the PR does this).

What's the minimum I'll need to do to prevent something from being closed? Will assigning it or changing labels work, or do I need to comment?


I've just dealt with:

Update: and the CPP team has decided:


These look worthy of our attention, any volunteers?

@aeisenberg
Copy link
Contributor Author

Thanks for going through the open issues. Now that we have the first responder rotation, I expect that we won't have any more of these mislabeled issues.

I would want a notification before any automatic closure (I get the impression the PR does this).

Yes. There are two steps. The first is marking the issue as stale, which adds the label as well as a comment. The second step is to close the issue 7 days later.

What's the minimum I'll need to do to prevent something from being closed? Will assigning it or changing labels work, or do I need to comment?

Either comment or remove the the stale label.

@geoffw0
Copy link
Contributor

geoffw0 commented Apr 13, 2021

Sounds great. 👍

adityasharad
adityasharad previously approved these changes Apr 14, 2021
@aeisenberg aeisenberg merged commit 56ba0f0 into main Apr 14, 2021
@aeisenberg aeisenberg deleted the aeisenberg/mark-as-stale branch April 14, 2021 15:37
@Marcono1234
Copy link
Contributor

What was the intention of adding this workflow? Was it in general the too high volume of issues, or was it that there were too many issues on which the reporter never responded back?
If the intention was to close issues without reporter response, then this workflow is in my opinion too destructive. A similar situation occurred in https://github.com/actions/stale and https://github.com/actions/starter-workflows, though they let it run for pull requests, and to be fair apparently had / have a bigger spam problem than this repository. In the end the bot closed a bunch of legit issues, where the maintainers never even responded in the first place, or where the reporter was waiting for the response of a maintainer.
And it looks like the same is happening here now, of the 15 issues currently labeled as stale, #5441 seems to be the only one where you are actually waiting for the response of the reporter. In all other cases there has either been no interaction at all from you maintainers, or you told them that the topic will be discussed internally. I am not trying to blame you for not interacting with the issues, especially since I may be one of the major creators of issues, though on the other hand I am not very keen on having to comment every 14 - 21 days on my issues just to keep them open. And also there are good issues / feature requests (for which I am not the author) which would be closed as well.

If your intention is really only to resolve issues without reponse from the reporter, maybe it would be better to introduce an awaiting-response label or similar which you add after expecting a response from the reporter, and then only have the bot run for issues with this label; possibly also with a bot removing the label automatically if there has been any non-bot activity.

@aeisenberg
Copy link
Contributor Author

aeisenberg commented Apr 14, 2021

Thanks for asking about this change. We've had a first responder rotation for the past couple of months. Each week one developer on our team becomes the point-person for answering questions (or forwarding to the proper team). The goal with this change is to make it clear what issues are currently unanswered or awaiting response.

Though, going through some more of the stale issues now, I see that some of them are incorrectly labeled as questions. This stale process only runs for questions (not bugs or enhancements). Part of the first-responder's job is to properly triage these new issues. Now that we have this automated process we need to be more precise about questions (relabeling and forwarding as appropriate).

Perhaps, as you suggest, we should be adding an awaiting-response label and running the stale process off of that. We keep track of this internally, but it's not visible to the public.

@aschackmull
Copy link
Contributor

aschackmull commented Apr 15, 2021

@aeisenberg There are a number of issues (a bunch of which was opened by @Marcono1234) that I'd like to keep around without having to interact with them every 14-21 days just to keep them open. A bunch of these are backlogged in the Java team and we haven't yet had the capacity to triage them, so we can't really say whether they are best labelled as bugs or enhancements (or indeed whether some of them might be closable as wont-fix). How do you suggest we best keep them around? Simply remove the question label? (Leaving them perhaps with no labels at all).

@leonard84
Copy link

If you are using such an workflow, then you should improve the available templates, e.g., introduce a bug report template and so on. Because right now, everything that is not a false positive or vulnerability gets labeled as question, even if it is a bug report.

Perhaps, as you suggest, we should be adding an awaiting-response label and running the stale process off of that.

Sound like a good idea.

@aeisenberg
Copy link
Contributor Author

aeisenberg commented Apr 15, 2021

See here #5689. Only apply staleness to issues awaiting-repsonse.

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

Successfully merging this pull request may close these issues.

6 participants