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

Issue management docs, auto-close and triage comment workflow (Lombiq Technologies: OCORE-161) #15820

Merged
merged 25 commits into from
May 23, 2024
Merged
Show file tree
Hide file tree
Changes from 12 commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
6b64996
Typo
Piedone Apr 24, 2024
664db8d
Merge remote-tracking branch 'official/main' into issue/OCORE-161
Piedone Apr 24, 2024
b8d077d
Closing stale issues automatically too
Piedone Apr 24, 2024
6b6fa10
Disabling blank issues
Piedone Apr 24, 2024
4cfd36a
Adding issue management docs
Piedone Apr 24, 2024
24389e6
Linking issue management docs from issue templates
Piedone Apr 24, 2024
9391ee2
Adding workflow to comment on milestone change
Piedone Apr 24, 2024
99cb59e
Removing trailing space
Piedone Apr 24, 2024
634f3c0
Referring to documentation issues
Piedone Apr 25, 2024
7458dc9
Add close issue message too
Piedone Apr 25, 2024
e5f8928
Adjust triage issue message so it's suitable also when the milestone …
Piedone Apr 25, 2024
98e2482
Change feedback request label to what we use already
Piedone Apr 25, 2024
9d30914
Grammar
Piedone Apr 25, 2024
b02502e
Grammar
Piedone Apr 25, 2024
11a4fef
End of file line break
Piedone Apr 25, 2024
26ac0f6
Grammar
Piedone Apr 25, 2024
1bf3c71
Adding notes about issue labels
Piedone Apr 25, 2024
0a7223a
Grammar
Piedone Apr 25, 2024
045f859
Note about converting issues to discussions
Piedone Apr 25, 2024
8a38537
Adding note about changing issue and PR titles
Piedone Apr 26, 2024
ada1b47
Only run workflow for open issues
Piedone Apr 26, 2024
f2cc0b1
Merge remote-tracking branch 'official/main' into issue/OCORE-161
Piedone Apr 28, 2024
4d60a96
Merge remote-tracking branch 'official/main' into issue/OCORE-161
Piedone May 13, 2024
0419f81
Merge remote-tracking branch 'origin/main' into issue/OCORE-161
Piedone May 20, 2024
a8ceaa0
Grammar
Piedone May 23, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ labels: 'bug :bug:'
assignees: ''

---
<!-- Please also see the docs on how we manage issues: https://docs.orchardcore.net/en/latest/docs/guides/contributing/managing-issues/. -->

### Describe the bug

Expand Down
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
blank_issues_enabled: true
blank_issues_enabled: false
Copy link
Member Author

@Piedone Piedone Apr 24, 2024

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?

contact_links:
- name: Discussions
url: https://github.com/OrchardCMS/OrchardCore/discussions/new
Expand Down
1 change: 1 addition & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ labels: enhancement
assignees: ''

---
<!-- Please also see the docs on how we manage issues: https://docs.orchardcore.net/en/latest/docs/guides/contributing/managing-issues/. -->

### Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is.
Expand Down
26 changes: 0 additions & 26 deletions .github/workflows/close_stale_prs.yml

This file was deleted.

34 changes: 34 additions & 0 deletions .github/workflows/close_stale_prs_issues.yml
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.
31 changes: 31 additions & 0 deletions .github/workflows/comment_issue_on_triage.yml
Copy link
Member Author

Choose a reason for hiding this comment

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

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/).
4 changes: 3 additions & 1 deletion .github/workflows/first_time_contributor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,4 +28,6 @@ jobs:
FIRST_PR_MERGED_COMMENT: >
Congratulations on your first PR merge! 🎉 Thank you for your contribution! We're looking forward to welcome
Piedone marked this conversation as resolved.
Show resolved Hide resolved
other contributions of yours in the future. @all-contributors please add @{{ author }} for code.
STAR_MESSAGE: If you like Orchard Core, please star our repo and join our [community channels ](https://github.com/OrchardCMS/OrchardCore/?tab=readme-ov-file#get-in-touch)
STAR_MESSAGE: >
If you like Orchard Core, please star our repo and join our
[community channels](https://github.com/OrchardCMS/OrchardCore/?tab=readme-ov-file#get-in-touch).
1 change: 1 addition & 0 deletions mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,7 @@ nav:
- Create a Liquid Widget: docs/guides/create-liquid-widget/README.md
- Query Content Items Based on Taxonomy: docs/guides/query-content-items-based-on-taxonomy/README.md
- Contributing:
- Opening and managing issues: docs/guides/contributing/managing-issues.md
- Contributing to Orchard Core: docs/guides/contributing/README.md
- Contributing code: docs/guides/contributing/contributing-code.md
- Contributing documentation: docs/guides/contributing/contributing-documentation.md
Expand Down
1 change: 1 addition & 0 deletions src/docs/guides/contributing/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ First of all, thank you for thinking about contributing to Orchard Core!

One of the easiest ways to contribute is to participate in discussions under [GitHub issues](https://github.com/OrchardCMS/OrchardCore/issues). You can also contribute by submitting pull requests with code changes, reviewing pull requests by others, assisting other community members on the [discussion board](https://github.com/OrchardCMS/OrchardCore/discussions), [evangelizing Orchard Core](https://github.com/Lombiq/Orchard-Ambassadors-Toolbox) in your own communities, or help organizing events.

- [Opening and managing issues](managing-issues.md)
- [Contributing code](contributing-code.md)
- [Contributing documentation](contributing-documentation.md)
- [Reviewing pull requests](reviewing-pull-requests.md)
Expand Down
3 changes: 2 additions & 1 deletion src/docs/guides/contributing/contributing-code.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,10 @@ First, clone the repository using the command `git clone https://github.com/Orch

We warmly welcome fixes and features! Here are some resources to help you get started on how to contribute code:

- Check out [the issue tracker](https://github.com/OrchardCMS/OrchardCore/issues) for open bug reports and feature requests. Prefer to select issues [scheduled for the upcoming release](https://github.com/OrchardCMS/OrchardCore/milestones). You can [sort issues by most commented](https://github.com/OrchardCMS/OrchardCore/issues?q=is%3Aissue+is%3Aopen+sort%3Acomments-desc) and [most thumbs up](https://github.com/OrchardCMS/OrchardCore/issues?q=is%3Aissue+is%3Aopen+sort%3Areactions-%2B1-desc) (as well as other reactions similarly). These correlate with popularity, i.e. we can see what the community most wants.
- Check out [the issue tracker](https://github.com/OrchardCMS/OrchardCore/issues) for open bug reports and feature requests. Prefer to select issues [scheduled for the upcoming release](https://github.com/OrchardCMS/OrchardCore/milestones) (see the [issue management docs](managing-issues.md#issue-milestones) on what the milestones mean). You can [sort issues by most commented](https://github.com/OrchardCMS/OrchardCore/issues?q=is%3Aissue+is%3Aopen+sort%3Acomments-desc) and [most thumbs up](https://github.com/OrchardCMS/OrchardCore/issues?q=is%3Aissue+is%3Aopen+sort%3Areactions-%2B1-desc) (as well as other reactions similarly). These correlate with popularity, i.e. we can see what the community most wants.
- ["Good first issue" issues](https://github.com/OrchardCMS/OrchardCore/labels/good%20first%20issue): We think these are a good for newcomers.
- ["Help wanted" issues](https://github.com/OrchardCMS/OrchardCore/labels/help%20wanted): These issues are up for grabs. Comment on an issue if you want to create a fix.
- [Documentation issues](https://github.com/OrchardCMS/OrchardCore/labels/documentation) are quite suitable for newcomers too. See the [docs on contributing documentation](contributing-documentation.md).

## Identifying the scale

Expand Down
3 changes: 3 additions & 0 deletions src/docs/guides/contributing/contributing-documentation.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,9 @@ The [Orchard Core documentation site](https://docs.orchardcore.net/) is built wi
!!! info
Are you looking for information on contributing code? Head over to [here](contributing-code.md) instead.

!!! tip
If you're looking for ideas on what to improve in the Orchard Core documentation, check out the [documentation issues](https://github.com/OrchardCMS/OrchardCore/labels/documentation).

## Editing documentation pages

First, clone the repository using the command `git clone https://github.com/OrchardCMS/OrchardCore.git` and checkout the `main` branch. You can find the documentation files under the `src/docs` folder.
Expand Down
36 changes: 36 additions & 0 deletions src/docs/guides/contributing/managing-issues.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# 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 contribution too, so let's see some tips on that!
Piedone marked this conversation as resolved.
Show resolved Hide resolved

## How to open an issue

If you found 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).
Piedone marked this conversation as resolved.
Show resolved Hide resolved

- 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 opened an issue
Piedone marked this conversation as resolved.
Show resolved Hide resolved

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
Copy link
Member Author

Choose a reason for hiding this comment

The 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 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:

- 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).
- 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.
Piedone marked this conversation as resolved.
Show resolved Hide resolved