Files
cozystack/.github/workflows/stale.yaml
IvanHunters 0fa6cf72a5 chore(ci): complete the backport label rename across all consumers
The initial rename missed several literal consumers of the old label
names beyond labels.yml and backport.yaml:

- stale.yaml exempt-pr-labels still listed backport,backport-previous.
  actions/stale matches label names exactly and does not resolve
  label-sync aliases, so after the rename a kind/backport PR would lose
  its stale exemption and get auto-closed after inactivity. This is the
  one behavioural regression; the rest are documentation drift.
- PULL_REQUEST_TEMPLATE.md told contributors to apply the backport label.
- release.md label-target table and the gh pr list --search commands
  referenced the old names (the searches would silently return nothing).
- contributing.md claimed a backport label is auto-applied on the
  [Backport] prefix; pr-labeler only adds area/release, so the line was
  already stale and is corrected while renaming.

Historical narrative in release.md and the backport scope-to-area doc
rows (a Conventional-Commit scope, not the label) are left as-is.

Signed-off-by: IvanHunters <xorokhotnikov@gmail.com>
2026-08-27 13:08:15 +05:00

60 lines
2.4 KiB
YAML

name: Stale issues
on:
schedule:
- cron: '37 4 * * *' # daily at 04:37 UTC
workflow_dispatch:
# Top-level token defaults to read-only. A job-level block replaces this one
# rather than adding to it, so each job restates every scope it needs.
permissions:
contents: read
concurrency:
group: stale
cancel-in-progress: false
jobs:
stale:
runs-on: ubuntu-latest
permissions:
issues: write
pull-requests: write
steps:
- uses: actions/stale@1e223db275d687790206a7acac4d1a11bd6fe629 # v10
with:
stale-issue-label: lifecycle/stale
stale-pr-label: lifecycle/stale
close-issue-label: lifecycle/rotten
close-pr-label: lifecycle/rotten
# Exempt lists differ on purpose: issues sit longer than PRs by nature.
# An accepted issue (`triage/accepted`) is a known long-tail task, not stale;
# a held PR (`do-not-merge/hold`) is paused intentionally and shouldn't auto-close.
# Priority/security/regression labels protect issues that someone explicitly
# decided to keep visible.
exempt-issue-labels: >-
lifecycle/frozen,epic,
priority/critical-urgent,priority/important-soon,priority/important-longterm,
security/critical,security/high,security/confirmed,
security/triage-needed,security/in-progress,
triage/accepted,kind/regression
exempt-pr-labels: >-
lifecycle/frozen,do-not-merge/hold,
kind/backport,kind/backport-previous
days-before-stale: 60
days-before-close: 14
operations-per-run: 100
remove-stale-when-updated: true
stale-issue-message: |
This issue has had no activity for 60 days and was marked `lifecycle/stale`.
It will be closed in 14 days unless commented or labelled `lifecycle/frozen`.
stale-pr-message: |
This PR has had no activity for 60 days and was marked `lifecycle/stale`.
It will be closed in 14 days unless commented or labelled `lifecycle/frozen`.
close-issue-message: |
Closed because no activity followed the `lifecycle/stale` warning.
Reopen if the issue is still relevant.
close-pr-message: |
Closed because no activity followed the `lifecycle/stale` warning.
Reopen if the change is still wanted.