Repository: volcano-sh/volcano
Pull request #4266: Feature stale action
Author: login: mahdikhashan
Labels: name: approved
description: Indicates a PR has been approved by an approver from all required OWNERS files.
name: lgtm
description: Indicates that a PR is ready to be merged.
name: size/M
description: Denotes a PR that changes 30-99 lines, ignoring generated files.
Created: 2025-05-10T12:51:11Z | Merged: 2025-05-19T09:27:44Z

#### What type of PR is this?
feature

#### What this PR does / why we need it:
it will replace the old and buggy stale-bot with the gh recommend action

#### Which issue(s) this PR fixes:
<!--
*Automatically closes linked issue when PR is merged.
Usage: `Fixes #<issue number>`, or `Fixes (paste link of issue)`.
Notice that do not add `Fixes` if the issue is associated with multiple PRs.
-->
Fixes #4262 

#### Special notes for your reviewer:

#### Does this PR introduce a user-facing change?
<!--
If no, just write "NONE" in the release-note block below.
If yes, a release note is required.
-->
```release-note

```

Linked issue #4262: Update state.yaml to stale action
### What is the problem you're trying to solve

The stale bot currently used by volcano is configured in .github/stale.yaml, and the stale bot sometimes exhibits strange behavior. Currently, GitHub recommends using the stale action.

### Describe the solution you'd like

Update stale bot to stale action, stale action repo: https://github.com/actions/stale

### Additional context

_No response_
Linked issue comments: user: login: mahdikhashan
created_at: 2025-05-09T08:34:06Z
body: /assign
author_association: MEMBER
user: login: mahdikhashan
created_at: 2025-05-09T08:34:22Z
body: i'd like to work on this. i'll open a pr tomorrow.
author_association: MEMBER
user: login: mahdikhashan
created_at: 2025-05-10T13:00:50Z
body: @JesseStutler please take a look when you have time.
author_association: MEMBER
user: login: JesseStutler
created_at: 2025-05-11T08:08:26Z
body: > [@JesseStutler](https://github.com/JesseStutler) please take a look when you have time.

Thanks for your contribution! I will take a look later
author_association: MEMBER

Diff:
diff --git a/.github/stale.yml b/.github/stale.yml
deleted file mode 100644
index c28185e475d..00000000000
--- a/.github/stale.yml
+++ /dev/null
@@ -1,50 +0,0 @@
-# Configuration for probot-stale - https://github.com/probot/stale
-
-# Only issues or pull requests with all of these labels are check if stale. Defaults to `[]` (disabled)
-onlyLabels: []
-
-# Issues or Pull Requests with these labels will never be considered stale. Set to `[]` to disable.
-# We want stale bot to notify us that something is stale so we can revisit it.
-# If one issue is marked as 'reminder' by the reminder bot, we don't mark it as 'stale' again.
-exemptLabels:
-  # This label is hardcoded on remind bot (https://probot.github.io/apps/reminders/) and is used by remind bot when
-  # issue is being reminded.
-  - reminder
-
-# Set to true to ignore issues in a project (defaults to false)
-exemptProjects: false
-# Set to true to ignore issues in a milestone (defaults to false)
-exemptMilestones: false
-# Set to true to ignore issues with an assignee (defaults to false)
-exemptAssignees: false
-# Label to use when marking as stale
-staleLabel: lifecycle/stale
-
-pull:
-  daysUntilClose: 90
-  daysUntilStale: 180
-  markComment: >
-    Hello 👋 Looks like there was no activity on this amazing PR for last 180 days.
-
-    **Do you mind updating us on the status?** Is there anything we can help with? If you plan to still work on it, just comment on this PR or push a commit. Thanks! 🤗
-
-    If there will be no activity for 90 days, this issue will be closed (we can always reopen a PR if you get back to this!).
-  #unmarkComment: No need for unmark comment.
-  closeComment: >
-    Closing for now as there was no activity for last 90 days after marked as stale, let us know if you need this to be reopened! 🤗
-
-issues:
-  daysUntilClose: 90
-  daysUntilStale: 180
-  markComment: >
-    Hello 👋 Looks like there was no activity on this issue for last 180 days.
-
-    **Do you mind updating us on the status?** Is this still reproducible or needed? If yes, just comment on this PR or push a commit. Thanks! 🤗
-
-    If there will be no activity for 90 days, this issue will be closed (we can always reopen an issue if we need!).
-  #unmarkComment: No need for unmark comment.
-  closeComment: >
-    Closing for now as there was no activity for last 90 days after marked as stale, let us know if you need this to be reopened! 🤗
-
-# Limit the number of actions per hour, from 1-30. Default is 30
-limitPerRun: 30
diff --git a/.github/workflows/stale.yaml b/.github/workflows/stale.yaml
new file mode 100644
index 00000000000..dcd6e339ad1
--- /dev/null
+++ b/.github/workflows/stale.yaml
@@ -0,0 +1,47 @@
+name: Mark and Close Stale Issues and PRs
+
+on:
+  schedule:
+    - cron: '0 0 * * *' # runs every day at midnight UTC
+
+jobs:
+  stale:
+    runs-on: ubuntu-latest
+    permissions:
+      issues: write
+      pull-requests: write
+    steps:
+      - name: Mark and close stale issues and PRs
+        uses: actions/stale@5bef64f19d7facfb25b37b414482c7164d639639 #v9.1.0
+        with:
+          remove-stale-when-updated: true
+          stale-issue-label: 'lifecycle/stale'
+          exempt-issue-labels: 'kind/feature, kind/bug, help wanted, good first issue'
+          exempt-pr-labels: ''
+          days-before-stale: 180
+          days-before-close: 90
+
+          stale-issue-message: >
+            Hello 👋 Looks like there was no activity on this issue for last 180 days.
+
+            **Do you mind updating us on the status?** Is this still reproducible or needed? If yes, just comment on this PR or push a commit. Thanks! 🤗
+
+            If there will be no activity for 90 days, this issue will be closed (we can always reopen an issue if we need!).
+
+          close-issue-message: >
+            Closing for now as there was no activity for last 90 days after marked as stale, let us know if you need this to be reopened! 🤗
+
+          stale-pr-message: >
+            Hello 👋 Looks like there was no activity on this amazing PR for last 180 days.
+
+            **Do you mind updating us on the status?** Is there anything we can help with? If you plan to still work on it, just comment on this PR or push a commit. Thanks! 🤗
+
+            If there will be no activity for 90 days, this issue will be closed (we can always reopen a PR if you get back to this!).
+
+          close-pr-message: >
+            Closing for now as there was no activity for last 90 days after marked as stale, let us know if you need this to be reopened! 🤗
+
+          exempt-all-milestones: false
+          exempt-all-assignees: false
+
+          operations-per-run: 30


Reviews:
user: login: Monokaix
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-05-12T01:42:46Z
user: login: mahdikhashan
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-05-12T06:48:43Z
user: login: JesseStutler
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-05-12T08:40:31Z
user: login: mahdikhashan
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-05-12T09:50:38Z
user: login: mahdikhashan
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-05-12T09:52:01Z
user: login: mahdikhashan
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-05-12T09:52:29Z
user: login: mahdikhashan
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-05-12T09:53:01Z
user: login: mahdikhashan
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-05-12T09:55:50Z
user: login: JesseStutler
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-05-12T11:16:28Z
user: login: hwdef
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-05-13T02:46:27Z
user: login: hwdef
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-05-14T15:39:25Z
user: login: mahdikhashan
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-05-14T17:17:03Z
user: login: mahdikhashan
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-05-14T17:17:06Z
user: login: JesseStutler
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-05-15T01:09:57Z
user: login: hwdef
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-05-15T02:33:00Z
user: login: hwdef
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-05-15T02:35:03Z
user: login: JesseStutler
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-05-15T03:05:32Z
user: login: hwdef
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-05-15T03:23:08Z
user: login: JesseStutler
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-05-15T06:17:42Z
user: login: JesseStutler
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-05-15T06:17:52Z
user: login: hwdef
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-05-15T06:33:54Z

Review comments:
diff_hunk: @@ -0,0 +1,46 @@
+name: Mark and Close Stale Issues and PRs
path: .github/workflows/stale.yaml
user: login: Monokaix
body: Is this a best practice?
created_at: 2025-05-12T01:42:45Z
author_association: MEMBER
diff_hunk: @@ -0,0 +1,46 @@
+name: Mark and Close Stale Issues and PRs
path: .github/workflows/stale.yaml
user: login: mahdikhashan
body: thanks for your comment, do you mean it only should mark (+close) issues and not prs?
created_at: 2025-05-12T06:48:43Z
author_association: MEMBER
path: .github/workflows/stale.yaml
user: login: JesseStutler
body: Does `remove-stale-when-updated` need to be explicitly set?
created_at: 2025-05-12T08:33:07Z
author_association: MEMBER
diff_hunk: @@ -0,0 +1,46 @@
+name: Mark and Close Stale Issues and PRs
+
+on:
+  schedule:
+    - cron: '0 0 * * *' # runs every day at midnight UTC
+
+jobs:
+  stale:
+    runs-on: ubuntu-latest
+    permissions:
+      issues: write
+      pull-requests: write
+    steps:
+      - name: Mark and close stale issues and PRs
+        uses: actions/stale@v9
+        with:
+          stale-issue-label: 'lifecycle/stale'
+          exempt-issue-labels: 'reminder'
+          days-before-stale: 180
+          days-before-close: 90
+
+          stale-issue-message: >
+            Hello 👋 Looks like there was no activity on this issue for last 180 days.
+
+            **Do you mind updating us on the status?** Is this still reproducible or needed? If yes, just comment on this PR or push a commit. Thanks! 🤗
+
+            If there will be no activity for 90 days, this issue will be closed (we can always reopen an issue if we need!).
+
+          close-issue-message: >
+            Closing for now as there was no activity for last 90 days after marked as stale, let us know if you need this to be reopened! 🤗
+
+          stale-pr-message: >
+            Hello 👋 Looks like there was no activity on this amazing PR for last 180 days.
+
+            **Do you mind updating us on the status?** Is there anything we can help with? If you plan to still work on it, just comment on this PR or push a commit. Thanks! 🤗
+
+            If there will be no activity for 90 days, this issue will be closed (we can always reopen a PR if you get back to this!).
+
+          close-pr-message: >
+            Closing for now as there was no activity for last 90 days after marked as stale, let us know if you need this to be reopened! 🤗
+
+          exempt-all-milestones: false
+          exempt-all-assignees: false
+
+          operations-per-run: 30
+          # only-labels: ''
path: .github/workflows/stale.yaml
user: login: JesseStutler
body: remove useless comments
created_at: 2025-05-12T08:33:44Z
author_association: MEMBER
diff_hunk: @@ -0,0 +1,46 @@
+name: Mark and Close Stale Issues and PRs
+
+on:
+  schedule:
+    - cron: '0 0 * * *' # runs every day at midnight UTC
+
+jobs:
+  stale:
+    runs-on: ubuntu-latest
+    permissions:
+      issues: write
+      pull-requests: write
+    steps:
+      - name: Mark and close stale issues and PRs
+        uses: actions/stale@v9
+        with:
+          stale-issue-label: 'lifecycle/stale'
+          exempt-issue-labels: 'reminder'
path: .github/workflows/stale.yaml
user: login: JesseStutler
body:  Do we need to also add `exempt-pr-labels`?
created_at: 2025-05-12T08:34:05Z
author_association: MEMBER
diff_hunk: @@ -0,0 +1,46 @@
+name: Mark and Close Stale Issues and PRs
+
+on:
+  schedule:
+    - cron: '0 0 * * *' # runs every day at midnight UTC
+
+jobs:
+  stale:
+    runs-on: ubuntu-latest
+    permissions:
+      issues: write
+      pull-requests: write
+    steps:
+      - name: Mark and close stale issues and PRs
+        uses: actions/stale@v9
+        with:
+          stale-issue-label: 'lifecycle/stale'
+          exempt-issue-labels: 'reminder'
path: .github/workflows/stale.yaml
user: login: JesseStutler
body: exempt-issue-labels can be `kind/feature, kind/bug, help wanted, good first issue`
created_at: 2025-05-12T08:40:27Z
author_association: MEMBER
diff_hunk: @@ -0,0 +1,46 @@
+name: Mark and Close Stale Issues and PRs
+
+on:
+  schedule:
+    - cron: '0 0 * * *' # runs every day at midnight UTC
+
+jobs:
+  stale:
+    runs-on: ubuntu-latest
+    permissions:
+      issues: write
+      pull-requests: write
+    steps:
+      - name: Mark and close stale issues and PRs
+        uses: actions/stale@v9
+        with:
+          stale-issue-label: 'lifecycle/stale'
+          exempt-issue-labels: 'reminder'
+          days-before-stale: 180
+          days-before-close: 90
+
+          stale-issue-message: >
+            Hello 👋 Looks like there was no activity on this issue for last 180 days.
+
+            **Do you mind updating us on the status?** Is this still reproducible or needed? If yes, just comment on this PR or push a commit. Thanks! 🤗
+
+            If there will be no activity for 90 days, this issue will be closed (we can always reopen an issue if we need!).
+
+          close-issue-message: >
+            Closing for now as there was no activity for last 90 days after marked as stale, let us know if you need this to be reopened! 🤗
+
+          stale-pr-message: >
+            Hello 👋 Looks like there was no activity on this amazing PR for last 180 days.
+
+            **Do you mind updating us on the status?** Is there anything we can help with? If you plan to still work on it, just comment on this PR or push a commit. Thanks! 🤗
+
+            If there will be no activity for 90 days, this issue will be closed (we can always reopen a PR if you get back to this!).
+
+          close-pr-message: >
+            Closing for now as there was no activity for last 90 days after marked as stale, let us know if you need this to be reopened! 🤗
+
+          exempt-all-milestones: false
+          exempt-all-assignees: false
+
+          operations-per-run: 30
+          # only-labels: ''
path: .github/workflows/stale.yaml
user: login: mahdikhashan
body: done.
created_at: 2025-05-12T09:50:38Z
author_association: MEMBER
path: .github/workflows/stale.yaml
user: login: mahdikhashan
body: yes, you are right, since its default value was true, i removed it. now its explicit.
created_at: 2025-05-12T09:52:01Z
author_association: MEMBER
diff_hunk: @@ -0,0 +1,46 @@
+name: Mark and Close Stale Issues and PRs
+
+on:
+  schedule:
+    - cron: '0 0 * * *' # runs every day at midnight UTC
+
+jobs:
+  stale:
+    runs-on: ubuntu-latest
+    permissions:
+      issues: write
+      pull-requests: write
+    steps:
+      - name: Mark and close stale issues and PRs
+        uses: actions/stale@v9
+        with:
+          stale-issue-label: 'lifecycle/stale'
+          exempt-issue-labels: 'reminder'
path: .github/workflows/stale.yaml
user: login: mahdikhashan
body: sure.
created_at: 2025-05-12T09:52:29Z
author_association: MEMBER
diff_hunk: @@ -0,0 +1,46 @@
+name: Mark and Close Stale Issues and PRs
+
+on:
+  schedule:
+    - cron: '0 0 * * *' # runs every day at midnight UTC
+
+jobs:
+  stale:
+    runs-on: ubuntu-latest
+    permissions:
+      issues: write
+      pull-requests: write
+    steps:
+      - name: Mark and close stale issues and PRs
+        uses: actions/stale@v9
+        with:
+          stale-issue-label: 'lifecycle/stale'
+          exempt-issue-labels: 'reminder'
path: .github/workflows/stale.yaml
user: login: mahdikhashan
body: what should be the values?
created_at: 2025-05-12T09:53:00Z
author_association: MEMBER
diff_hunk: @@ -0,0 +1,46 @@
+name: Mark and Close Stale Issues and PRs
+
+on:
+  schedule:
+    - cron: '0 0 * * *' # runs every day at midnight UTC
+
+jobs:
+  stale:
+    runs-on: ubuntu-latest
+    permissions:
+      issues: write
+      pull-requests: write
+    steps:
+      - name: Mark and close stale issues and PRs
+        uses: actions/stale@v9
+        with:
+          stale-issue-label: 'lifecycle/stale'
+          exempt-issue-labels: 'reminder'
path: .github/workflows/stale.yaml
user: login: mahdikhashan
body: done.
created_at: 2025-05-12T09:55:50Z
author_association: MEMBER
diff_hunk: @@ -0,0 +1,46 @@
+name: Mark and Close Stale Issues and PRs
+
+on:
+  schedule:
+    - cron: '0 0 * * *' # runs every day at midnight UTC
+
+jobs:
+  stale:
+    runs-on: ubuntu-latest
+    permissions:
+      issues: write
+      pull-requests: write
+    steps:
+      - name: Mark and close stale issues and PRs
+        uses: actions/stale@v9
+        with:
+          stale-issue-label: 'lifecycle/stale'
+          exempt-issue-labels: 'reminder'
path: .github/workflows/stale.yaml
user: login: JesseStutler
body: cc @Monokaix @hwdef Which PRs with this label should not be marked as stale?
created_at: 2025-05-12T11:16:28Z
author_association: MEMBER
diff_hunk: @@ -0,0 +1,46 @@
+name: Mark and Close Stale Issues and PRs
+
+on:
+  schedule:
+    - cron: '0 0 * * *' # runs every day at midnight UTC
+
+jobs:
+  stale:
+    runs-on: ubuntu-latest
+    permissions:
+      issues: write
+      pull-requests: write
+    steps:
+      - name: Mark and close stale issues and PRs
+        uses: actions/stale@v9
+        with:
+          stale-issue-label: 'lifecycle/stale'
+          exempt-issue-labels: 'reminder'
path: .github/workflows/stale.yaml
user: login: hwdef
body: I have no advice on this, let @Monokaix  decide
created_at: 2025-05-13T02:46:27Z
author_association: MEMBER
diff_hunk: @@ -0,0 +1,47 @@
+name: Mark and Close Stale Issues and PRs
+
+on:
+  schedule:
+    - cron: '0 0 * * *' # runs every day at midnight UTC
+
+jobs:
+  stale:
+    runs-on: ubuntu-latest
+    permissions:
+      issues: write
+      pull-requests: write
+    steps:
+      - name: Mark and close stale issues and PRs
+        uses: actions/stale@v9
+        with:
+          remove-stale-when-updated: true
+          stale-issue-label: 'lifecycle/stale'
+          exempt-issue-labels: 'kind/feature, kind/bug, help wanted, good first issue'
path: .github/workflows/stale.yaml
user: login: hwdef
body: It is recommended to remove these labels. Keep `exempt-issue-labels` empty
created_at: 2025-05-14T15:38:30Z
author_association: MEMBER
diff_hunk: @@ -0,0 +1,47 @@
+name: Mark and Close Stale Issues and PRs
+
+on:
+  schedule:
+    - cron: '0 0 * * *' # runs every day at midnight UTC
+
+jobs:
+  stale:
+    runs-on: ubuntu-latest
+    permissions:
+      issues: write
+      pull-requests: write
+    steps:
+      - name: Mark and close stale issues and PRs
+        uses: actions/stale@v9
path: .github/workflows/stale.yaml
user: login: hwdef
body: Please fix the commit id. 
`actions/stale@5bef64f19d7facfb25b37b414482c7164d639639 #v9.1.0`
created_at: 2025-05-14T15:39:23Z
author_association: MEMBER
diff_hunk: @@ -0,0 +1,47 @@
+name: Mark and Close Stale Issues and PRs
+
+on:
+  schedule:
+    - cron: '0 0 * * *' # runs every day at midnight UTC
+
+jobs:
+  stale:
+    runs-on: ubuntu-latest
+    permissions:
+      issues: write
+      pull-requests: write
+    steps:
+      - name: Mark and close stale issues and PRs
+        uses: actions/stale@v9
+        with:
+          remove-stale-when-updated: true
+          stale-issue-label: 'lifecycle/stale'
+          exempt-issue-labels: 'kind/feature, kind/bug, help wanted, good first issue'
path: .github/workflows/stale.yaml
user: login: mahdikhashan
body: done
created_at: 2025-05-14T17:17:03Z
author_association: MEMBER
diff_hunk: @@ -0,0 +1,47 @@
+name: Mark and Close Stale Issues and PRs
+
+on:
+  schedule:
+    - cron: '0 0 * * *' # runs every day at midnight UTC
+
+jobs:
+  stale:
+    runs-on: ubuntu-latest
+    permissions:
+      issues: write
+      pull-requests: write
+    steps:
+      - name: Mark and close stale issues and PRs
+        uses: actions/stale@v9
path: .github/workflows/stale.yaml
user: login: mahdikhashan
body: done
created_at: 2025-05-14T17:17:06Z
author_association: MEMBER
diff_hunk: @@ -0,0 +1,47 @@
+name: Mark and Close Stale Issues and PRs
+
+on:
+  schedule:
+    - cron: '0 0 * * *' # runs every day at midnight UTC
+
+jobs:
+  stale:
+    runs-on: ubuntu-latest
+    permissions:
+      issues: write
+      pull-requests: write
+    steps:
+      - name: Mark and close stale issues and PRs
+        uses: actions/stale@v9
+        with:
+          remove-stale-when-updated: true
+          stale-issue-label: 'lifecycle/stale'
+          exempt-issue-labels: 'kind/feature, kind/bug, help wanted, good first issue'
path: .github/workflows/stale.yaml
user: login: JesseStutler
body: I think exempt-issue-labels can help us avoid some valuable issues being marked as stale, which will make it difficult to find and fix them later @hwdef .
created_at: 2025-05-15T01:09:57Z
author_association: MEMBER
diff_hunk: @@ -0,0 +1,47 @@
+name: Mark and Close Stale Issues and PRs
+
+on:
+  schedule:
+    - cron: '0 0 * * *' # runs every day at midnight UTC
+
+jobs:
+  stale:
+    runs-on: ubuntu-latest
+    permissions:
+      issues: write
+      pull-requests: write
+    steps:
+      - name: Mark and close stale issues and PRs
+        uses: actions/stale@v9
+        with:
+          remove-stale-when-updated: true
+          stale-issue-label: 'lifecycle/stale'
+          exempt-issue-labels: 'kind/feature, kind/bug, help wanted, good first issue'
path: .github/workflows/stale.yaml
user: login: hwdef
body: > I think exempt-issue-labels can help us avoid some valuable issues being marked as stale, which will make it difficult to find and fix them later @hwdef .

Yes, but we did not have a  norm.Most of the issues have `kind/feature, kind/bug, help wanted, good first issue`.So the stale will be useless.
created_at: 2025-05-15T02:33:00Z
author_association: MEMBER
diff_hunk: @@ -0,0 +1,47 @@
+name: Mark and Close Stale Issues and PRs
+
+on:
+  schedule:
+    - cron: '0 0 * * *' # runs every day at midnight UTC
+
+jobs:
+  stale:
+    runs-on: ubuntu-latest
+    permissions:
+      issues: write
+      pull-requests: write
+    steps:
+      - name: Mark and close stale issues and PRs
+        uses: actions/stale@v9
+        with:
+          remove-stale-when-updated: true
+          stale-issue-label: 'lifecycle/stale'
+          exempt-issue-labels: 'kind/feature, kind/bug, help wanted, good first issue'
path: .github/workflows/stale.yaml
user: login: hwdef
body: Sorry, I missed https://github.com/volcano-sh/volcano/pull/4266#discussion_r2084147226

@mahdikhashan  Please follow this comment, forget what I say.
created_at: 2025-05-15T02:35:03Z
author_association: MEMBER
diff_hunk: @@ -0,0 +1,47 @@
+name: Mark and Close Stale Issues and PRs
+
+on:
+  schedule:
+    - cron: '0 0 * * *' # runs every day at midnight UTC
+
+jobs:
+  stale:
+    runs-on: ubuntu-latest
+    permissions:
+      issues: write
+      pull-requests: write
+    steps:
+      - name: Mark and close stale issues and PRs
+        uses: actions/stale@v9
+        with:
+          remove-stale-when-updated: true
+          stale-issue-label: 'lifecycle/stale'
+          exempt-issue-labels: 'kind/feature, kind/bug, help wanted, good first issue'
path: .github/workflows/stale.yaml
user: login: JesseStutler
body: > > I think exempt-issue-labels can help us avoid some valuable issues being marked as stale, which will make it difficult to find and fix them later @hwdef .
> 
> Yes, but we did not have a norm.Most of the issues have `kind/feature, kind/bug, help wanted, good first issue`.So the stale will be useless.

@hwdef Yes, basically all of issues. I excluded time-sensitive ones like `kind/question`. I think `good first issue` and `help wanted` are more valuable. `kind/bug` is also user feedback that needs to be fixed in time, but I am not sure about `kind/feature`, or if you have other opinions,
created_at: 2025-05-15T03:05:32Z
author_association: MEMBER
diff_hunk: @@ -0,0 +1,47 @@
+name: Mark and Close Stale Issues and PRs
+
+on:
+  schedule:
+    - cron: '0 0 * * *' # runs every day at midnight UTC
+
+jobs:
+  stale:
+    runs-on: ubuntu-latest
+    permissions:
+      issues: write
+      pull-requests: write
+    steps:
+      - name: Mark and close stale issues and PRs
+        uses: actions/stale@v9
+        with:
+          remove-stale-when-updated: true
+          stale-issue-label: 'lifecycle/stale'
+          exempt-issue-labels: 'kind/feature, kind/bug, help wanted, good first issue'
path: .github/workflows/stale.yaml
user: login: hwdef
body: @JesseStutler 
You are right.
created_at: 2025-05-15T03:23:08Z
author_association: MEMBER
diff_hunk: @@ -0,0 +1,47 @@
+name: Mark and Close Stale Issues and PRs
+
+on:
+  schedule:
+    - cron: '0 0 * * *' # runs every day at midnight UTC
+
+jobs:
+  stale:
+    runs-on: ubuntu-latest
+    permissions:
+      issues: write
+      pull-requests: write
+    steps:
+      - name: Mark and close stale issues and PRs
+        uses: actions/stale@v9
+        with:
+          remove-stale-when-updated: true
+          stale-issue-label: 'lifecycle/stale'
+          exempt-issue-labels: 'kind/feature, kind/bug, help wanted, good first issue'
path: .github/workflows/stale.yaml
user: login: JesseStutler
body: Maybe we can keep "good first issue" and "help wanted" and remove "kind/feature", "kind/bug"? @Monokaix @hwdef How are other repositories defined, such as Kubernetes test-infra https://github.com/kubernetes/test-infra? @mahdikhashan 
created_at: 2025-05-15T06:17:41Z
author_association: MEMBER
diff_hunk: @@ -0,0 +1,47 @@
+name: Mark and Close Stale Issues and PRs
+
+on:
+  schedule:
+    - cron: '0 0 * * *' # runs every day at midnight UTC
+
+jobs:
+  stale:
+    runs-on: ubuntu-latest
+    permissions:
+      issues: write
+      pull-requests: write
+    steps:
+      - name: Mark and close stale issues and PRs
+        uses: actions/stale@v9
+        with:
+          remove-stale-when-updated: true
+          stale-issue-label: 'lifecycle/stale'
+          exempt-issue-labels: 'kind/feature, kind/bug, help wanted, good first issue'
path: .github/workflows/stale.yaml
user: login: JesseStutler
body: Maybe we can keep "good first issue" and "help wanted" and remove "kind/feature", "kind/bug"? @Monokaix @hwdef How are other repositories defined, such as Kubernetes test-infra https://github.com/kubernetes/test-infra? @mahdikhashan 
created_at: 2025-05-15T06:17:52Z
author_association: MEMBER
diff_hunk: @@ -0,0 +1,47 @@
+name: Mark and Close Stale Issues and PRs
+
+on:
+  schedule:
+    - cron: '0 0 * * *' # runs every day at midnight UTC
+
+jobs:
+  stale:
+    runs-on: ubuntu-latest
+    permissions:
+      issues: write
+      pull-requests: write
+    steps:
+      - name: Mark and close stale issues and PRs
+        uses: actions/stale@v9
+        with:
+          remove-stale-when-updated: true
+          stale-issue-label: 'lifecycle/stale'
+          exempt-issue-labels: 'kind/feature, kind/bug, help wanted, good first issue'
path: .github/workflows/stale.yaml
user: login: hwdef
body: I think it's better to keep all of them.
created_at: 2025-05-15T06:33:54Z
author_association: MEMBER

PR comments:
user: login: hwdef
created_at: 2025-05-15T02:33:48Z
body: please fix the DCO bot. 
`git commit --amend -s --no-edit`
author_association: MEMBER
user: login: JesseStutler
created_at: 2025-05-15T03:40:55Z
body: Also should squash commits into one, thanks :)
author_association: MEMBER
user: login: mahdikhashan
created_at: 2025-05-15T16:17:46Z
body: > Also should squash commits into one, thanks :)

should be fine to merge. please take a look when you have time.
author_association: MEMBER
user: login: hwdef
created_at: 2025-05-16T02:22:52Z
body: It's OK to me, but you should squash your commit to one:) (use git rebase)
/approve
author_association: MEMBER
user: login: volcano-sh-bot
created_at: 2025-05-16T02:23:00Z
body: [APPROVALNOTIFIER] This PR is **APPROVED**

This pull-request has been approved by: *<a href="https://github.com/volcano-sh/volcano/pull/4266#issuecomment-2885467821" title="Approved">hwdef</a>*

The full list of commands accepted by this bot can be found [here](https://go.k8s.io/bot-commands?repo=volcano-sh%2Fvolcano).

The pull request process is described [here](https://git.k8s.io/community/contributors/guide/owners.md#the-code-review-process)

<details >
Needs approval from an approver in each of these files:

- ~~[OWNERS](https://github.com/volcano-sh/volcano/blob/master/OWNERS)~~ [hwdef]

Approvers can indicate their approval by writing `/approve` in a comment
Approvers can cancel approval by writing `/approve cancel` in a comment
</details>
<!-- META={"approvers":[]} -->
author_association: CONTRIBUTOR
user: login: mahdikhashan
created_at: 2025-05-16T11:00:19Z
body: > It's OK to me, but you should squash your commit to one:) (use git rebase) /approve

done. thanks for your help.
author_association: MEMBER
user: login: mahdikhashan
created_at: 2025-05-19T09:01:31Z
body: @JesseStutler would it be possible to have a final review on this?
author_association: MEMBER
user: login: Monokaix
created_at: 2025-05-19T09:17:41Z
body: /lgtm
author_association: MEMBER