Skip to content

Document an issue triage workflow for the repository #3394

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

Draft
wants to merge 10 commits into
base: main
Choose a base branch
from

Conversation

dehaansa
Copy link
Contributor

PR Description

In order to better manage the landscape of issues raised against the Alloy repository, I'd like to propose an issue triage workflow to help define the triage process. A more consistent triage process will make it easier for team members to step in and do a small amount of triage and leave the issue landscape in a better place than they found it. It should also enable us to identify long-term trends on issues.

@@ -0,0 +1,15 @@
name: Blank issue
Copy link
Contributor Author

Choose a reason for hiding this comment

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

This mimics the blank issue for github as well as possible while also adding the expected label.

@@ -12,7 +12,7 @@ jobs:
steps:
- uses: actions/stale@5bef64f19d7facfb25b37b414482c7164d639639 # v9.1.0
with:
days-before-stale: 30
days-before-stale: 90
Copy link
Contributor Author

Choose a reason for hiding this comment

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

I'm open to changing this back to 30, I wanted to focus on reversing the mechanism - all things need attention (triage) until they have been reviewed.

@dehaansa
Copy link
Contributor Author

I'm going to update templates to add the ability to select a component from a dropdown if relevant.

* These issues should retain the `needs-triage` label until the codeowner has responded
* Ready to implement/fix/document
* An issue is ready to implement or fix if the scope is well understood, and if it is an issue it should be replicatable
* These issues should be tagged `bug`, `enhancement`, `type/docs`, or `flaky-test`
Copy link
Contributor

Choose a reason for hiding this comment

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

Does the concept of "docs bug" or "docs enhancement" make sense?
i.e. Labels: bug type/docs.
Maybe this could be more general? Saying that each should have a "type" (bug or enhancement), an "area" (area/*), and any other optional labels

Does the process of going from triage to ready to implement essentially mean removing the needs-triage label? The assumption being all issues should have been given appropriate areas/categories as a part of triage.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I agree, I like the overall concept, but I think we should do those larger changes in a separate conversation.

I do think there's some updates to the wording that make sense based on this comment, too, will tinker.

There are a variety of other labels that can be applied to issues and pull requests to help provide context to the issue. Wherever possible, relevant labels should be applied.

* The `component-request` label can help identify requests for new components.
* The `os:windows` should be used when changes are relevant to the Windows OS.
Copy link
Contributor

Choose a reason for hiding this comment

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

We definitely have a few conventions label-naming-wise. What do you think about consolidating around slashes and kebab-case?

component/request or component/new✨
os/windows
status/keepalive
v2/breaking-change
help-wanted
good-first-issue

And probably other's I'm missing

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I like your overall ideas on label standardization, IMO that's not in the scope of this PR but I'm in favor of doing it. I'll leave existing ones as previously used in this PR, then we can update in a follow up as needed.

* Ready to implement/fix/document
* An issue is ready to implement or fix if the scope is well understood, and if it is an issue it should be replicatable
* These issues should be tagged `bug`, `enhancement`, `type/docs`, or `flaky-test`
* If the issue should be in the next release, it should be tagged `release-blocker`
Copy link
Contributor

Choose a reason for hiding this comment

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

release-blocker

This would be cool to build automation around if we don't already have it.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Definitely agree, I don't think we have it at the moment.

@jharvey10
Copy link
Contributor

jharvey10 commented May 6, 2025

Original Label New Mapping
area/pyroscope area/pyroscope
area/ui area/ui
area/prometheus area/prometheus
area/prometheus.exporter.apache area/prometheus.exporter.apache
[etc...]
backport release/v1.0 vv maybe overhaul these backport ones. the associated action is 3+ years old vv
backport release/v1.1
backport release/v1.2
backport release/v1.3
backport release/v1.4
backport release/v1.5
backport release/v1.6
backport release/v1.7
backport release/v1.8
backport
backport-failed
backport-to-agent:done
backport-to-agent:no
backport-to-agent
beyla area/beyla
bug type/bug
dependencies [remove. renovate doesn't label by default]
documentation [use type/docs or remove]
duplicate type/duplicate
enhancement type/enhancement
frontline [???]
frozen-due-to-age [remove. use needs-attention]
github_actions area/ci
go [remove. do language-specific labels provide us any benefit? as opposed to areas]
good first issue good-first-issue
help wanted help-wanted
javascript [remove. do language-specific labels provide us any benefit? as opposed to areas]
keepalive status/keepalive
needs-attention status/needs-attention
[new] status/needs-triage
os:windows os/windows
outdated-dependency [remove. either security or nothing]
pir-action-item type/pir-action-item [??]
proposal type/proposal
question type/question
security area/security
type/docs would love area/docs, but looks like this is a grafana convention, not an alloy one
type/syntax area/syntax
v2.0-breaking-change release/v2-breaking-change
[new] release/blocker
wontfix

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.

2 participants