Overview
This guide covers the standard process SIGs should use to triage GitHub issues into their backlogs. Although the purpose of this guide is to set a standard process to be used across all SIGs, it is expected that SIGs will build off this guide where their triage process deviates. For example SIG/network needs to look at issues in other repositories, so their triage guide requires additional steps.
Please note the triage of pull requests is outside the scope of this guide.
Purpose
SIG issue triage is the process of reviewing issues that are newly assigned to your SIG, either declining or accepting them into your SIG’s backlog, and ensuring each accepted issue contains sufficient information for the community to take action on.
Meeting cadence
We recommend SIGs perform their triage at least once per week, at minimum. This is to ensure issues are reviewed in a timely manner.
SIG Triage should occur with the community present via a meeting in the SIG’s Discord voice channel. To schedule a meeting with your SIG, list the meeting on the O3DE Calendar. It is also recommended to post a reminder about the upcoming triage in the SIG’s Discord text channel the day before triage takes place.
For example:
"Hi all! We will be performing an issue triage today at [time]am PDT, [time]pm UTC until [time]am PDT, [time]pm UTC. Feel free to join and observe in the [sig-name] voice channel."
GitHub labels
GitHub uses labels to categorize issues. Only a subset of the labels in the O3DE repo are used during triage, as indicated in the “Process” section below. A full list of labels, and their definitions, can be found here.
Process
Filter the O3DE Backlog for issues that need a sig, by looking for the “needs-sig” label. Ensure any relevant items are assigned to your SIG.
- Encourage maintainers to regularly review the backlog of items so someone is always re-directing relevant issues to your SIG.
Filter the O3DE Backlog for open issues with the “needs-triage” label and your “sig/” label (e.g. open issues with the “needs-triage” and “sig/release” labels).
For each issue:
- Ensure the issue is appropriate for your SIG.
- If it is NOT appropriate for your SIG:
- Remove your “sig/” label, and add a comment to the issue indicating why it is not appropriate for your SIG.
- If the appropriate SIG is known, assign it to that SIG by applying the appropriate “sig/” label (e.g. sig/release, sig/core, sig/presentation, etc.). Otherwise, apply the “needs-sig” label (this will send the issue back for SIG assignment).
- Do NOT remove the “needs-triage” label.
- If it’s not appropriate for the repository, you can transfer the issue to another repo. For example, if a docs issue is filed against the code repo, then transfer the docs issue to o3de.org repo.
- Review the issue details and comments to determine if the issue should be declined or accepted into your SIG’s backlog, or if more information is required prior to making this determination.
- To accept an issue into your backlog
- Add the “triage/accepted” label to indicate the issue has been triaged and accepted into your backlog.
- Add a “feature/” label (e.g. feature/atom, feature/editor, feature/physics, etc.) to indicate the feature impacted.
- Add a “priority/” label (e.g. priority/minor, priority/major, etc.) to indicate the relative priority of the item with respect to other items in the backlog.
- (Optional) If the issue is a feature request, add a “feature-need/” label (e.g. feature-need/immediate, feature-need/important-soon, feature-need/important-longterm, etc.) to indicate the relative timeframe the SIG would like the feature to be delivered.
- If the issue is low complexity and a good issue for first time contributors, add the “good-first-issue” label.
- If your SIG would like help on this issue from a contributor, add the “help-wanted” label.
- If you are the only SIG impacted by the issue (if the only “sig/” label on the issue is for your SIG), or if you are the last SIG to triage the issue:
- Remove the “needs-triage” label.
- Otherwise, if another SIG is impacted by the issue:
- Work with the impacted SIGs to identify the owning SIG for the issue, this SIG should be the one to ultimately accept the item.
- DO NOT remove the “needs-triage” label or add “triage-accepted”, unless you have agreement from impacted SIGs or they have removed their “sig/” label from the issue.
- If you need information from other SIG(s) before acceptance - add a comment about what information is being sought and why, ensure the right SIG labels are assigned and wait for the other SIG(s) to complete their triage process.
- If impacted SIGs are ok for issue to be accepted, they should provide an acceptance comment and then are free to remove their SIG label from the issue (ensuring that at least one SIG is still assigned).
- If impacted SIGs have questions or challenges, they should provide a comment identifying their concerns or what information is required. Impacted SIGs should work with the owning SIG to find a resolution.
- Owning SIG should work proactively to reach cross-SIG agreement or identify next steps.
- If SIGs cannot reach an agreement on accepting an issue, then the TSC should be involved.
- To decline an issue:
- If the issue is for a “substantial” change that is not yet vetted through the RFC process (see RFC Process for additional information), decline it as follows:
- Add the “status/invalid” label.
- Add a comment similar to the following: “This issue is for a substantial change that should be vetted through the RFC process. Please open an RFC, link it to this issue, and then close this issue.”
- Assign the issue to the person who opened it.
- If the issue is a request for help, rather than an actual issue, decline it as follows:
- Add the “status/invalid” label.
- Add a comment similar to the following: “This is a request for help. Please convert this issue to a ‘Q&A’ Discussion instead.”
- Assign the issue to the person who opened it.
- Note: The issue will automatically close when it is converted to a Discussion.
- If the issue is an idea that requires additional opinion / further refinement before it can be considered, decline it as follows:
- Add the “status/invalid” label.
- Add a comment similar to the following: “This is an idea that needs requires additional opinion / further refinement before it can be considered. Please convert this issue to an ‘Ideas’ Discussion instead.”
- Assign the issue to the person who opened it.
- Note: The issue will automatically close when it is converted to a Discussion.
- If the issue is a duplicate, decline it as follows:
- Add the “status/duplicate” label.
- Add a comment which references the duplicate issue.
- Close the issue.
- If the issue is something your SIG does not want to pursue, decline it as follows:
- Add the “triage/declined” label.
- Add the “status/wont-do” label.
- Add a comment that politely indicates why the request will not be pursued by your SIG.
- If you are the only SIG impacted by the issue (i.e. if the only “sig/” label on the issue is for your SIG), or if you are the last SIG to triage the issue:
- Remove the “needs-triage” label.
- Close the issue.
- Otherwise, if another SIG is impacted by the issue and hasn’t completed triage:
- Do NOT remove the “needs-triage” label.
- Do NOT close the issue.
- Add a comment for the other SIGs indicating you have completed your triage, and they can remove the ‘needs-triage’ label and close the issue once they have completed their triage.
- To request additional information
- Do NOT remove the “needs-triage” label.
- Add the “triage/needs-information” label.
- Add a comment similar to the following: “The nature of this issue is not clear. Please add clarification.”
- Assign the issue to the person who opened it.
Issues requiring UX help
For issues that may need [SIG/ui-ux] help, please refer to their guide about getting UX assistance.
Updating this guide
Please update this guide with anything that is relevant to all SIGs. Expectation is that SIG Chair(s) or triage leaders will maintain this guide to ensure it stays relevant to common issue triage practices.