-
Notifications
You must be signed in to change notification settings - Fork 2.4k
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
Issue management docs, auto-close and triage comment workflow (Lombiq Technologies: OCORE-161) #15820
Issue management docs, auto-close and triage comment workflow (Lombiq Technologies: OCORE-161) #15820
Changes from 19 commits
6b64996
664db8d
b8d077d
6b6fa10
4cfd36a
24389e6
9391ee2
99cb59e
634f3c0
7458dc9
e5f8928
98e2482
9d30914
b02502e
11a4fef
26ac0f6
1bf3c71
0a7223a
045f859
8a38537
ada1b47
f2cc0b1
4d60a96
0419f81
a8ceaa0
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
This file was deleted.
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
# Labels PRs without updates for 60 days as stale, then closes them 15 days later. | ||
# Labels issues that are labeled with "needs author feedback" without updates for 15 days as stale, then closes them 7 days later. | ||
name: Close Stale PRs and Issues | ||
|
||
on: | ||
schedule: | ||
# Every day at 1:39 AM UTC. A random time to avoid GitHub Actions being overloaded by scheduled workflows. | ||
- cron: '39 1 * * *' | ||
|
||
jobs: | ||
close-stale-prs-issues: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/stale@v9 | ||
with: | ||
stale-pr-message: > | ||
It seems that this pull request didn't really move for quite a while. Is this something you'd like to | ||
revisit any time soon or should we close? Please comment if you'd like to pick it up. | ||
stale-pr-label: stale | ||
# Close the PR 15 days after marking it as stale. | ||
days-before-pr-close: 15 | ||
close-pr-message: > | ||
Closing this pull request because it has been stale for very long. If you think this is still relevant, | ||
feel free to reopen it. | ||
stale-issue-message: > | ||
It seems that this issue didn't really move for quite a while. Is this something you'd like to revisit | ||
any time soon or should we close? Please reply. | ||
stale-issue-label: stale | ||
days-before-issue-stale: 15 | ||
days-before-issue-close: 7 | ||
only-issue-labels: needs author feedback | ||
close-issue-message: > | ||
Closing this issue because it has been stale for very long. If you think this is still relevant, | ||
feel free to reopen it. |
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This is how this looks like: https://github.com/Lombiq/OCORE-161-workflows-test/issues/3. |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
# Adds a comment on the issue when its milestone is set. | ||
name: Comment Issue on Triage | ||
|
||
on: | ||
issues: | ||
# Note that this is triggered also when the milestone changes. Preventing that would require jumping through a lot | ||
# of hoops, and that should be rare anyway. | ||
types: [milestoned] | ||
|
||
jobs: | ||
comment-issue-on-triage: | ||
runs-on: ubuntu-latest | ||
permissions: | ||
issues: write | ||
steps: | ||
- name: Add Comment | ||
run: gh issue comment "$NUMBER" --body "$BODY" | ||
env: | ||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
GH_REPO: ${{ github.repository }} | ||
NUMBER: ${{ github.event.issue.number }} | ||
# The double empty lines in the body are necessary; it'll show up as a single empty line in the comment. | ||
BODY: > | ||
We triaged this issue and set the milestone according to the priority we think is appropriate (see | ||
[the docs](https://docs.orchardcore.net/en/latest/docs/guides/contributing/managing-issues/) on how we | ||
triage and prioritize issues). | ||
|
||
|
||
This indicates when the core team may start working on it. However, if you'd like to contribute, we'd | ||
warmly welcome you to do that anytime. See our guide on contributions | ||
[here](https://docs.orchardcore.net/en/latest/docs/guides/contributing/). |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
# Opening and managing issues | ||
|
||
The [issue tracker on GitHub](https://github.com/OrchardCMS/OrchardCore/issues) is where we keep track of bug reports, feature requests, or items for other tasks. We ask you to choose a task from there when you [contribute](README.md), but opening an issue is a contribution too, so let's see some tips on that! | ||
|
||
## How to open an issue | ||
|
||
If you find a bug in Orchard Core, or have an idea for a new or improved feature, please open an issue [on GitHub](https://github.com/OrchardCMS/OrchardCore/issues/new/choose). | ||
|
||
- Please select the appropriate type, bug or feature request. This helps us assess your issue better! | ||
- Fill out the template, and please add as many details as possible. If you don't do this, then both you and another contributor will have to take time discussing what your issue is about. | ||
|
||
## What happens after you open an issue | ||
|
||
We triage issues every week on [the triage meeting](../../resources/meeting/README.md), as well as core contributors may comment on your issue before that. Please reply to any inquiries. | ||
|
||
Once your issue is triaged, one of the following things will happen: | ||
|
||
- A [milestone](https://github.com/OrchardCMS/OrchardCore/milestones) is assigned to it, see below. This means we think your issue is definitely worth addressing, thank you! | ||
- We close it. If your issue is a duplicate of an earlier one, is a report about a bug that's already fixed, or something that we don't think is a good match for Orchard Core, we'll close it with an explanation. This is not against you, it's just that we can't address all issues. Please don't hesitate to open new issues for other matters. | ||
Piedone marked this conversation as resolved.
Show resolved
Hide resolved
Piedone marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
## Issue milestones | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. We have these P0-P3 labels, I assume P0 meaning the most important and P3 the least important issues. A small fraction of the issues are marked as such, though. I'd just remove these and only use milestones. OK to remove them? |
||
|
||
This is what [issue milestones](https://github.com/OrchardCMS/OrchardCore/milestones) mean: | ||
|
||
- The next patch version (`1.2.something`, e.g. if the current version is `1.2.3`, then `1.2.4`) indicates the highest priority for serious regressions and other urgent bug fixes that we intend to fix ASAP and publish in a patch release. | ||
- The next minor version (`1.something`, e.g. `1.3` if the current version if `1.2.0`) is for less urgent bug fixes and feature requests that we still think should be addressed in the next planned release. Regressions since the last release found by those from the community who live on the edge and use the [preview releases](../../getting-started/preview-package-source.md) are marked as such too. | ||
- Some later minor version (literally `1.x` if the current version is `1.anything`) is for issues that we intend to address eventually, maybe. | ||
- The `backlog` milestone is for everything else that we think is a valid request, but we won't work on it any time soon. | ||
Piedone marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
## Managing issues as a core contributor | ||
|
||
Some tips on issue management: | ||
|
||
- An issue should be about a concrete task, some change in Orchard Core or how we run the project. If it's a question or discussion, then [convert it into a discussion](https://docs.github.com/en/discussions/managing-discussions-for-your-community/moderating-discussions#converting-an-issue-to-a-discussion). | ||
- Set the milestone according to the above logic, or close the issue with a comment elaborating the reason. | ||
- Add further labels for categorization (external contributors can't add labels). E.g.: | ||
- Add "good first issue" if the issue looks suitable for a novice contributor. | ||
- Add "perf" if it's about performance. | ||
- Add module/feature set-related labels, like "Media" or "OpenId". | ||
- Add "security" for security issues. | ||
Piedone marked this conversation as resolved.
Show resolved
Hide resolved
Piedone marked this conversation as resolved.
Show resolved
Hide resolved
|
||
- If you asked the author something and the issue should be closed if they don't reply, add the `needs author feedback` label. This will automatically mark the issue as stale after 15 days, and then close it after another 7. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There are almost 500 issues without labels, because we didn't enforce the very rudimentary task of making the author select if their issue is a bug or feature request. This makes managing those issues a lot harder.
I'd actually also enforce the templates too (like this one). Currently, you can just remove the template and write into the issue description whatever. This requires the one replying to the issue ask the same questions.
What do you think?