Skip to content

feat(stale)!: per-type timeouts for issues and PRs#31

Merged
apermo merged 3 commits into
mainfrom
feat/stale-per-type-timeouts
May 1, 2026
Merged

feat(stale)!: per-type timeouts for issues and PRs#31
apermo merged 3 commits into
mainfrom
feat/stale-per-type-timeouts

Conversation

@apermo
Copy link
Copy Markdown
Owner

@apermo apermo commented Apr 28, 2026

Summary

  • Replace the generic days-before-stale / days-before-close inputs in reusable-stale.yml with four per-type inputs: days-before-issue-stale (30), days-before-issue-close (14), days-before-pr-stale (60), days-before-pr-close (21).
  • PR defaults are roughly twice the issue grace period since an open PR represents in-flight work; issues retain today's 30/14 cadence.
  • CHANGELOG entry under ## [0.6.0]. Local stale.yml caller is unaffected (uses defaults).

Breaking change

Callers that pass the old days-before-stale / days-before-close inputs must rename them. No layered fallback is provided — the new inputs are required to be set explicitly only if the caller wants to override defaults.

Test plan

  • actionlint .github/workflows/reusable-stale.yml — clean
  • Wait for or manually trigger the next scheduled stale.yml run and confirm actions/stale@v10 logs the four per-type values

@gemini-code-assist
Copy link
Copy Markdown

Summary of Changes

Hello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request introduces a breaking change to the reusable stale workflow by decoupling the timeout configurations for issues and pull requests. By moving from generic inputs to specific parameters, the project gains better control over the lifecycle of different types of contributions, ensuring that active pull requests are not prematurely marked as stale compared to issues.

Highlights

  • Configuration Refactoring: Replaced generic stale and close timeout inputs with granular, per-type inputs for issues and pull requests.
  • Breaking Change: Removed support for legacy input names; callers must now explicitly use the new per-type input parameters.
  • Default Cadence Update: Established distinct default grace periods, providing longer timeouts for pull requests compared to issues.
Ignored Files
  • Ignored by pattern: .github/workflows/** (1)
    • .github/workflows/reusable-stale.yml
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for GitHub and other Google products, sign up here.


The stale bot now knows what to do, / With separate times for PR and issue. / No longer a guess, / To clean up the mess, / A change that is long overdue.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Copy Markdown

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request updates the CHANGELOG.md to version 0.6.0, documenting a breaking change in the reusable-stale.yml workflow. The update replaces the generic days-before-stale and days-before-close inputs with four specific parameters to allow different timeouts for issues and pull requests. I have no feedback to provide.

Replace generic days-before-stale/days-before-close inputs with four
per-type inputs so issues and PRs can have different cadences. PRs
default to 60/21 (roughly 2x the issue grace period) since an open
PR represents in-flight work, while issues stay at 30/14.

BREAKING CHANGE: callers of reusable-stale.yml that set the old
inputs must rename them to the new days-before-issue-* and
days-before-pr-* variants.
@apermo apermo force-pushed the feat/stale-per-type-timeouts branch from 506268e to 3df36f3 Compare May 1, 2026 06:51
@apermo apermo requested a review from Copilot May 1, 2026 06:52
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Updates the reusable “stale” GitHub workflow to support different stale/close timeouts for issues vs pull requests, and records the breaking change in the changelog.

Changes:

  • Replace days-before-stale / days-before-close with four per-type inputs (days-before-issue-*, days-before-pr-*) in reusable-stale.yml.
  • Wire the new inputs through to actions/stale@v10.
  • Add a 0.6.0 CHANGELOG entry documenting the breaking input rename and new defaults.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.

File Description
CHANGELOG.md Documents the breaking change and new per-type stale/close defaults under 0.6.0.
.github/workflows/reusable-stale.yml Introduces separate issue/PR stale and close inputs and passes them to actions/stale@v10.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread .github/workflows/reusable-stale.yml
apermo added 2 commits May 1, 2026 08:55
Reflect the new per-type inputs introduced in 0.6.0 so callers
do not copy/paste the removed days-before-stale/close names.
Bump CHANGELOG header to the actual release/merge date.
@apermo apermo merged commit a596677 into main May 1, 2026
3 checks passed
@apermo apermo deleted the feat/stale-per-type-timeouts branch May 1, 2026 06:59
@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 1, 2026

Released as v0.6.0

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