kubernetes / community

Kubernetes community content
Apache License 2.0
12k stars 5.17k forks source link

Request: Tool to scan OWNERS files for sig labels #6288

Closed mrbobbytables closed 2 years ago

mrbobbytables commented 2 years ago

A small script or program to scan a dir path for OWNERS files and report on any sig labels found within any ONWERS file it discovers.

This tool will serve 2 purposes: 1) Used to inform group leads of what areas of the codebase they own. The output could additionally be used to ensure sigs.yaml is kept up to date as well. (refs: #1913 #4125) 2) Provide a list to devstats so that they can track PRs and commits accurately. Devstats cannot associate labels with group owners in shared repos, but they can associate things PRs/Commits that touch file paths that it knows to associate with a specific group.


/sig contributor-experience /area devstats /area community-management

mrbobbytables commented 2 years ago

/help

k8s-ci-robot commented 2 years ago

@mrbobbytables: This request has been marked as needing help from a contributor.

Guidelines

Please ensure that the issue body includes answers to the following questions:

For more details on the requirements of such an issue, please see here and ensure that they are met.

If this request no longer meets these requirements, the label can be removed by commenting with the /remove-help command.

In response to [this](https://github.com/kubernetes/community/issues/6288): >/help Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md). If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository.
AvineshTripathi commented 2 years ago

Hey @mrbobbytables I along with @daemon1024 are working on #5425 so maybe we can help get this issue done too. Just want some guide how exactly do you want it to be

mrbobbytables commented 2 years ago

@AvineshTripathi sgtm! please feel free to self-assign. One thing - I would consider this a higher priority to complete than #5425 so that we can ensure devstats and sigs.yaml is up to date for the annual reports 👍

AvineshTripathi commented 2 years ago

Hey @mrbobbytables I have tried something and on running I am getting the following output :

sig-network/OWNERS
  - sig/network
sig-node/OWNERS
  - sig/node
sig-release/OWNERS
  - sig/release
sig-scalability/OWNERS
  - sig/scalability
sig-scalability/blogs/OWNERS
  - sig/scalability
sig-scalability/configs-and-limits/OWNERS
  - sig/scalability
sig-scalability/governance/OWNERS
  - sig/scalability
sig-scalability/processes/OWNERS
  - sig/scalability
sig-scalability/slos/OWNERS
  - sig/scalability
sig-scheduling/OWNERS
  - sig/scheduling
sig-security/OWNERS
  - sig/security
sig-service-catalog/OWNERS
  - sig/service-catalog
sig-storage/1.3-retrospective/OWNERS
  - sig/service-catalog
sig-storage/OWNERS
  - sig/storage
sig-testing/OWNERS
  - sig/testing
sig-ui/OWNERS
  - sig/ui
sig-usability/OWNERS
  - sig/usability
sig-windows/OWNERS
  - sig/windows
ug-big-data/OWNERS
  - ug/big-data
wg-api-expression/OWNERS
  - wg/api-expression
wg-data-protection/OWNERS
  - wg/data-protection
wg-iot-edge/OWNERS
  - wg/iot-edge
wg-multitenancy/OWNERS
  - wg/multitenancy
wg-policy/OWNERS
  - wg/policy

here for each owner file in repo the code is giving labels list

Plese tell if I am going in wrong direction also how I should proceed further

P.S : above output is just small part of entire output

mrbobbytables commented 2 years ago

I would change the output to be a csv if possible with file path as the first column and sig/wg labels the following columns. That should make it easy to work with the data. Other option might be to just dump a yaml that could easily be parsed by something else.

cc @cblecker @dims any thoughts?

AvineshTripathi commented 2 years ago

Hey @mrbobbytables I have done converting it into csv here is what it looks like : csvcrop

-> I have done the manual checking and I feel the code does checks every OWNERS file but still if there is any test I should do for confirmation let me know -> Completing this now what next ?

MadhavJivrajani commented 2 years ago

@AvineshTripathi is the initial PoC implementation commited somewhere? Asking since I can try and give early feedback on the implementation side of things and see how it can be tested out :)

AvineshTripathi commented 2 years ago

Hey @MadhavJivrajani I have kept in my k/Community clone. Here is the link to the code (link) would be happy to get review from you and also ignore the spell :smile:

MadhavJivrajani commented 2 years ago

Left a few comments here: https://github.com/AvineshTripathi/community/commit/aa817fac611d7a653274f83906aa4063ecc57fe1

AvineshTripathi commented 2 years ago

Hey @MadhavJivrajani I am stuck at a place doing the changes you sugested can you look at it link

dims commented 2 years ago

I've been able to automate this...

[dims@dims-m1-3971 09:21] ~/go/src/k8s.io/community ⟩ maintainers labels --help
print a list of OWNERS files for labels

Usage:
  maintainers labels [flags]

Flags:
  -h, --help            help for labels
      --output string   output file path (default "labels.csv")

sample output:

[dims@dims-m1-3971 09:21] ~/go/src/k8s.io/community ⟩ maintainers labels
Running script : 01-15-2022 09:21:09
area/cn-summit:
    /Users/dims/go/src/k8s.io/community/events/2020/07-contributor-summit/OWNERS
area/community-management:
    /Users/dims/go/src/k8s.io/community/communication/OWNERS
area/contributor-comms:
    /Users/dims/go/src/k8s.io/community/communication/marketing-team/OWNERS
area/contributor-guide:
    /Users/dims/go/src/k8s.io/community/contributors/guide/OWNERS
area/contributor-summit:
    /Users/dims/go/src/k8s.io/community/events/2020/03-contributor-summit/OWNERS
    /Users/dims/go/src/k8s.io/community/events/2020/07-contributor-summit/OWNERS
    /Users/dims/go/src/k8s.io/community/events/2020/11-contributor-summit/OWNERS
area/developer-guide:
    /Users/dims/go/src/k8s.io/community/contributors/devel/OWNERS
area/devstats:
    /Users/dims/go/src/k8s.io/community/sig-contributor-experience/devstats/OWNERS
area/eu-summit:
    /Users/dims/go/src/k8s.io/community/events/2020/03-contributor-summit/OWNERS
area/github-management:
    /Users/dims/go/src/k8s.io/community/github-management/OWNERS
area/mentorship-planning:
    /Users/dims/go/src/k8s.io/community/mentoring/OWNERS
    /Users/dims/go/src/k8s.io/community/mentoring/programs/contributor-workshop/OWNERS
area/na-summit:
    /Users/dims/go/src/k8s.io/community/events/2020/11-contributor-summit/OWNERS
area/slack-management:
    /Users/dims/go/src/k8s.io/community/communication/slack-config/OWNERS
committee-security-response:
    /Users/dims/go/src/k8s.io/community/committee-security-response/OWNERS
committee/conduct:
    /Users/dims/go/src/k8s.io/community/committee-code-of-conduct/OWNERS
committee/steering:
    /Users/dims/go/src/k8s.io/community/committee-steering/OWNERS
    /Users/dims/go/src/k8s.io/community/events/elections/2021/OWNERS
    /Users/dims/go/src/k8s.io/community/events/elections/OWNERS
sig/api-machinery:
    /Users/dims/go/src/k8s.io/community/contributors/devel/sig-api-machinery/OWNERS
    /Users/dims/go/src/k8s.io/community/sig-api-machinery/OWNERS
sig/apps:
    /Users/dims/go/src/k8s.io/community/sig-apps/OWNERS
sig/architecture:
    /Users/dims/go/src/k8s.io/community/communication/slack-config/sig-architecture/OWNERS
    /Users/dims/go/src/k8s.io/community/contributors/devel/sig-architecture/OWNERS
    /Users/dims/go/src/k8s.io/community/sig-architecture/OWNERS
sig/auth:
    /Users/dims/go/src/k8s.io/community/contributors/design-proposals/auth/OWNERS
    /Users/dims/go/src/k8s.io/community/sig-auth/OWNERS
sig/autoscaling:
    /Users/dims/go/src/k8s.io/community/sig-autoscaling/OWNERS
sig/cli:
    /Users/dims/go/src/k8s.io/community/sig-cli/OWNERS
sig/cloud-provider:
    /Users/dims/go/src/k8s.io/community/communication/slack-config/sig-cloud-provider/OWNERS
    /Users/dims/go/src/k8s.io/community/sig-cloud-provider/OWNERS
    /Users/dims/go/src/k8s.io/community/sig-cloud-provider/cloud-provider-extraction-migration/OWNERS
sig/cluster-lifecycle:
    /Users/dims/go/src/k8s.io/community/sig-cluster-lifecycle/OWNERS
sig/cluster-ops:
    /Users/dims/go/src/k8s.io/community/archive/sig-cluster-ops/OWNERS
sig/contributor-experience:
    /Users/dims/go/src/k8s.io/community/.github/OWNERS
    /Users/dims/go/src/k8s.io/community/communication/OWNERS
    /Users/dims/go/src/k8s.io/community/communication/marketing-team/OWNERS
    /Users/dims/go/src/k8s.io/community/contributors/guide/OWNERS
    /Users/dims/go/src/k8s.io/community/events/OWNERS
    /Users/dims/go/src/k8s.io/community/generator/OWNERS
    /Users/dims/go/src/k8s.io/community/github-management/OWNERS
    /Users/dims/go/src/k8s.io/community/hack/OWNERS
    /Users/dims/go/src/k8s.io/community/mentoring/OWNERS
    /Users/dims/go/src/k8s.io/community/mentoring/programs/contributor-workshop/OWNERS
    /Users/dims/go/src/k8s.io/community/sig-contributor-experience/OWNERS
    /Users/dims/go/src/k8s.io/community/sig-contributor-experience/devstats/OWNERS
sig/docs:
    /Users/dims/go/src/k8s.io/community/communication/slack-config/sig-docs/OWNERS
    /Users/dims/go/src/k8s.io/community/sig-docs/OWNERS
sig/instrumentation:
    /Users/dims/go/src/k8s.io/community/contributors/devel/sig-instrumentation/OWNERS
    /Users/dims/go/src/k8s.io/community/sig-instrumentation/OWNERS
sig/k8s-infra:
    /Users/dims/go/src/k8s.io/community/sig-k8s-infra/OWNERS
sig/multicluster:
    /Users/dims/go/src/k8s.io/community/sig-multicluster/OWNERS
sig/network:
    /Users/dims/go/src/k8s.io/community/communication/slack-config/sig-network/OWNERS
    /Users/dims/go/src/k8s.io/community/sig-network/OWNERS
sig/node:
    /Users/dims/go/src/k8s.io/community/contributors/devel/sig-node/OWNERS
    /Users/dims/go/src/k8s.io/community/sig-node/OWNERS
sig/pm:
    /Users/dims/go/src/k8s.io/community/archive/sig-pm/OWNERS
sig/release:
    /Users/dims/go/src/k8s.io/community/communication/slack-config/sig-release/OWNERS
    /Users/dims/go/src/k8s.io/community/contributors/devel/sig-release/OWNERS
    /Users/dims/go/src/k8s.io/community/sig-release/OWNERS
sig/scalability:
    /Users/dims/go/src/k8s.io/community/contributors/devel/sig-scalability/OWNERS
    /Users/dims/go/src/k8s.io/community/sig-scalability/OWNERS
sig/scheduling:
    /Users/dims/go/src/k8s.io/community/contributors/devel/sig-scheduling/OWNERS
    /Users/dims/go/src/k8s.io/community/sig-scheduling/OWNERS
sig/security:
    /Users/dims/go/src/k8s.io/community/communication/slack-config/sig-security/OWNERS
    /Users/dims/go/src/k8s.io/community/sig-security/OWNERS
sig/service-catalog:
    /Users/dims/go/src/k8s.io/community/sig-service-catalog/OWNERS
sig/storage:
    /Users/dims/go/src/k8s.io/community/communication/slack-config/sig-storage/OWNERS
    /Users/dims/go/src/k8s.io/community/contributors/devel/sig-storage/OWNERS
    /Users/dims/go/src/k8s.io/community/sig-storage/OWNERS
sig/testing:
    /Users/dims/go/src/k8s.io/community/communication/slack-config/sig-testing/OWNERS
    /Users/dims/go/src/k8s.io/community/contributors/devel/sig-testing/OWNERS
    /Users/dims/go/src/k8s.io/community/sig-testing/OWNERS
sig/ui:
    /Users/dims/go/src/k8s.io/community/sig-ui/OWNERS
sig/usability:
    /Users/dims/go/src/k8s.io/community/sig-usability/OWNERS
sig/windows:
    /Users/dims/go/src/k8s.io/community/sig-windows/OWNERS
ug/big-data:
    /Users/dims/go/src/k8s.io/community/ug-big-data/OWNERS
wg/api-expression:
    /Users/dims/go/src/k8s.io/community/wg-api-expression/OWNERS
wg/app-def:
    /Users/dims/go/src/k8s.io/community/archive/wg-app-def/OWNERS
wg/apply:
    /Users/dims/go/src/k8s.io/community/archive/wg-apply/OWNERS
wg/container-identity:
    /Users/dims/go/src/k8s.io/community/archive/wg-container-identity/OWNERS
wg/data-protection:
    /Users/dims/go/src/k8s.io/community/wg-data-protection/OWNERS
wg/iot-edge:
    /Users/dims/go/src/k8s.io/community/wg-iot-edge/OWNERS
wg/kubeadm-adoption:
    /Users/dims/go/src/k8s.io/community/archive/wg-kubeadm-adoption/OWNERS
wg/multitenancy:
    /Users/dims/go/src/k8s.io/community/wg-multitenancy/OWNERS
wg/naming:
    /Users/dims/go/src/k8s.io/community/archive/wg-naming/OWNERS
wg/policy:
    /Users/dims/go/src/k8s.io/community/wg-policy/OWNERS
wg/resource-management:
    /Users/dims/go/src/k8s.io/community/archive/wg-resource-management/OWNERS
wg/security-audit:
    /Users/dims/go/src/k8s.io/community/archive/wg-security-audit/OWNERS

>>>>> generating labels.csv

labels.csv looks like this:

area/cn-summit,/Users/dims/go/src/k8s.io/community/events/2020/07-contributor-summit/OWNERS
area/community-management,/Users/dims/go/src/k8s.io/community/communication/OWNERS
area/contributor-comms,/Users/dims/go/src/k8s.io/community/communication/marketing-team/OWNERS
area/contributor-guide,/Users/dims/go/src/k8s.io/community/contributors/guide/OWNERS
area/contributor-summit,/Users/dims/go/src/k8s.io/community/events/2020/03-contributor-summit/OWNERS
area/contributor-summit,/Users/dims/go/src/k8s.io/community/events/2020/07-contributor-summit/OWNERS
area/contributor-summit,/Users/dims/go/src/k8s.io/community/events/2020/11-contributor-summit/OWNERS
area/developer-guide,/Users/dims/go/src/k8s.io/community/contributors/devel/OWNERS
area/devstats,/Users/dims/go/src/k8s.io/community/sig-contributor-experience/devstats/OWNERS
area/eu-summit,/Users/dims/go/src/k8s.io/community/events/2020/03-contributor-summit/OWNERS
area/github-management,/Users/dims/go/src/k8s.io/community/github-management/OWNERS
area/mentorship-planning,/Users/dims/go/src/k8s.io/community/mentoring/OWNERS
area/mentorship-planning,/Users/dims/go/src/k8s.io/community/mentoring/programs/contributor-workshop/OWNERS
area/na-summit,/Users/dims/go/src/k8s.io/community/events/2020/11-contributor-summit/OWNERS
area/slack-management,/Users/dims/go/src/k8s.io/community/communication/slack-config/OWNERS
committee-security-response,/Users/dims/go/src/k8s.io/community/committee-security-response/OWNERS
committee/conduct,/Users/dims/go/src/k8s.io/community/committee-code-of-conduct/OWNERS
committee/steering,/Users/dims/go/src/k8s.io/community/committee-steering/OWNERS
committee/steering,/Users/dims/go/src/k8s.io/community/events/elections/2021/OWNERS
committee/steering,/Users/dims/go/src/k8s.io/community/events/elections/OWNERS
sig/api-machinery,/Users/dims/go/src/k8s.io/community/contributors/devel/sig-api-machinery/OWNERS
sig/api-machinery,/Users/dims/go/src/k8s.io/community/sig-api-machinery/OWNERS
sig/apps,/Users/dims/go/src/k8s.io/community/sig-apps/OWNERS
sig/architecture,/Users/dims/go/src/k8s.io/community/communication/slack-config/sig-architecture/OWNERS
sig/architecture,/Users/dims/go/src/k8s.io/community/contributors/devel/sig-architecture/OWNERS
sig/architecture,/Users/dims/go/src/k8s.io/community/sig-architecture/OWNERS
sig/auth,/Users/dims/go/src/k8s.io/community/contributors/design-proposals/auth/OWNERS
sig/auth,/Users/dims/go/src/k8s.io/community/sig-auth/OWNERS
sig/autoscaling,/Users/dims/go/src/k8s.io/community/sig-autoscaling/OWNERS
sig/cli,/Users/dims/go/src/k8s.io/community/sig-cli/OWNERS
sig/cloud-provider,/Users/dims/go/src/k8s.io/community/communication/slack-config/sig-cloud-provider/OWNERS
sig/cloud-provider,/Users/dims/go/src/k8s.io/community/sig-cloud-provider/OWNERS
sig/cloud-provider,/Users/dims/go/src/k8s.io/community/sig-cloud-provider/cloud-provider-extraction-migration/OWNERS
sig/cluster-lifecycle,/Users/dims/go/src/k8s.io/community/sig-cluster-lifecycle/OWNERS
sig/cluster-ops,/Users/dims/go/src/k8s.io/community/archive/sig-cluster-ops/OWNERS
sig/contributor-experience,/Users/dims/go/src/k8s.io/community/.github/OWNERS
sig/contributor-experience,/Users/dims/go/src/k8s.io/community/communication/OWNERS
sig/contributor-experience,/Users/dims/go/src/k8s.io/community/communication/marketing-team/OWNERS
sig/contributor-experience,/Users/dims/go/src/k8s.io/community/contributors/guide/OWNERS
sig/contributor-experience,/Users/dims/go/src/k8s.io/community/events/OWNERS
sig/contributor-experience,/Users/dims/go/src/k8s.io/community/generator/OWNERS
sig/contributor-experience,/Users/dims/go/src/k8s.io/community/github-management/OWNERS
sig/contributor-experience,/Users/dims/go/src/k8s.io/community/hack/OWNERS
sig/contributor-experience,/Users/dims/go/src/k8s.io/community/mentoring/OWNERS
sig/contributor-experience,/Users/dims/go/src/k8s.io/community/mentoring/programs/contributor-workshop/OWNERS
sig/contributor-experience,/Users/dims/go/src/k8s.io/community/sig-contributor-experience/OWNERS
sig/contributor-experience,/Users/dims/go/src/k8s.io/community/sig-contributor-experience/devstats/OWNERS
sig/docs,/Users/dims/go/src/k8s.io/community/communication/slack-config/sig-docs/OWNERS
sig/docs,/Users/dims/go/src/k8s.io/community/sig-docs/OWNERS
sig/instrumentation,/Users/dims/go/src/k8s.io/community/contributors/devel/sig-instrumentation/OWNERS
sig/instrumentation,/Users/dims/go/src/k8s.io/community/sig-instrumentation/OWNERS
sig/k8s-infra,/Users/dims/go/src/k8s.io/community/sig-k8s-infra/OWNERS
sig/multicluster,/Users/dims/go/src/k8s.io/community/sig-multicluster/OWNERS
sig/network,/Users/dims/go/src/k8s.io/community/communication/slack-config/sig-network/OWNERS
sig/network,/Users/dims/go/src/k8s.io/community/sig-network/OWNERS
sig/node,/Users/dims/go/src/k8s.io/community/contributors/devel/sig-node/OWNERS
sig/node,/Users/dims/go/src/k8s.io/community/sig-node/OWNERS
sig/pm,/Users/dims/go/src/k8s.io/community/archive/sig-pm/OWNERS
sig/release,/Users/dims/go/src/k8s.io/community/communication/slack-config/sig-release/OWNERS
sig/release,/Users/dims/go/src/k8s.io/community/contributors/devel/sig-release/OWNERS
sig/release,/Users/dims/go/src/k8s.io/community/sig-release/OWNERS
sig/scalability,/Users/dims/go/src/k8s.io/community/contributors/devel/sig-scalability/OWNERS
sig/scalability,/Users/dims/go/src/k8s.io/community/sig-scalability/OWNERS
sig/scheduling,/Users/dims/go/src/k8s.io/community/contributors/devel/sig-scheduling/OWNERS
sig/scheduling,/Users/dims/go/src/k8s.io/community/sig-scheduling/OWNERS
sig/security,/Users/dims/go/src/k8s.io/community/communication/slack-config/sig-security/OWNERS
sig/security,/Users/dims/go/src/k8s.io/community/sig-security/OWNERS
sig/service-catalog,/Users/dims/go/src/k8s.io/community/sig-service-catalog/OWNERS
sig/storage,/Users/dims/go/src/k8s.io/community/communication/slack-config/sig-storage/OWNERS
sig/storage,/Users/dims/go/src/k8s.io/community/contributors/devel/sig-storage/OWNERS
sig/storage,/Users/dims/go/src/k8s.io/community/sig-storage/OWNERS
sig/testing,/Users/dims/go/src/k8s.io/community/communication/slack-config/sig-testing/OWNERS
sig/testing,/Users/dims/go/src/k8s.io/community/contributors/devel/sig-testing/OWNERS
sig/testing,/Users/dims/go/src/k8s.io/community/sig-testing/OWNERS
sig/ui,/Users/dims/go/src/k8s.io/community/sig-ui/OWNERS
sig/usability,/Users/dims/go/src/k8s.io/community/sig-usability/OWNERS
sig/windows,/Users/dims/go/src/k8s.io/community/sig-windows/OWNERS
ug/big-data,/Users/dims/go/src/k8s.io/community/ug-big-data/OWNERS
wg/api-expression,/Users/dims/go/src/k8s.io/community/wg-api-expression/OWNERS
wg/app-def,/Users/dims/go/src/k8s.io/community/archive/wg-app-def/OWNERS
wg/apply,/Users/dims/go/src/k8s.io/community/archive/wg-apply/OWNERS
wg/container-identity,/Users/dims/go/src/k8s.io/community/archive/wg-container-identity/OWNERS
wg/data-protection,/Users/dims/go/src/k8s.io/community/wg-data-protection/OWNERS
wg/iot-edge,/Users/dims/go/src/k8s.io/community/wg-iot-edge/OWNERS
wg/kubeadm-adoption,/Users/dims/go/src/k8s.io/community/archive/wg-kubeadm-adoption/OWNERS
wg/multitenancy,/Users/dims/go/src/k8s.io/community/wg-multitenancy/OWNERS
wg/naming,/Users/dims/go/src/k8s.io/community/archive/wg-naming/OWNERS
wg/policy,/Users/dims/go/src/k8s.io/community/wg-policy/OWNERS
wg/resource-management,/Users/dims/go/src/k8s.io/community/archive/wg-resource-management/OWNERS
wg/security-audit,/Users/dims/go/src/k8s.io/community/archive/wg-security-audit/OWNERS
k8s-triage-robot commented 2 years ago

The Kubernetes project currently lacks enough contributors to adequately respond to all issues and PRs.

This bot triages issues and PRs according to the following rules:

You can:

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle stale

k8s-triage-robot commented 2 years ago

The Kubernetes project currently lacks enough active contributors to adequately respond to all issues and PRs.

This bot triages issues and PRs according to the following rules:

You can:

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle rotten

k8s-triage-robot commented 2 years ago

The Kubernetes project currently lacks enough active contributors to adequately respond to all issues and PRs.

This bot triages issues and PRs according to the following rules:

You can:

Please send feedback to sig-contributor-experience at kubernetes/community.

/close

k8s-ci-robot commented 2 years ago

@k8s-triage-robot: Closing this issue.

In response to [this](https://github.com/kubernetes/community/issues/6288#issuecomment-1155408443): >The Kubernetes project currently lacks enough active contributors to adequately respond to all issues and PRs. > >This bot triages issues and PRs according to the following rules: >- After 90d of inactivity, `lifecycle/stale` is applied >- After 30d of inactivity since `lifecycle/stale` was applied, `lifecycle/rotten` is applied >- After 30d of inactivity since `lifecycle/rotten` was applied, the issue is closed > >You can: >- Reopen this issue or PR with `/reopen` >- Mark this issue or PR as fresh with `/remove-lifecycle rotten` >- Offer to help out with [Issue Triage][1] > >Please send feedback to sig-contributor-experience at [kubernetes/community](https://github.com/kubernetes/community). > >/close > >[1]: https://www.kubernetes.dev/docs/guide/issue-triage/ Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md). If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository.