chore(ci): add stale issue triage workflow#497
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #497 +/- ##
==========================================
+ Coverage 80.93% 80.96% +0.02%
==========================================
Files 24 24
Lines 5482 5489 +7
Branches 247 247
==========================================
+ Hits 4437 4444 +7
Misses 968 968
Partials 77 77
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
| days-before-issue-close: 30 | ||
| stale-issue-label: 'stale' | ||
| stale-issue-message: > | ||
| This issue has been inactive for 180 days and labeled **stale** Comment to keep it open. It will be closed in 30 days if there is no activity. |
There was a problem hiding this comment.
| This issue has been inactive for 180 days and labeled **stale** Comment to keep it open. It will be closed in 30 days if there is no activity. | |
| This issue has been inactive for 180 days and labeled **stale**, comment to keep it open. It will be closed in 30 days if there is no activity. |
There was a problem hiding this comment.
Updated in the latest rebase, thanks.
Dmenec
left a comment
There was a problem hiding this comment.
Concept ACK. Just a little nit on close reason.
| This issue has been inactive for 180 days and labeled **stale** Comment to keep it open. It will be closed in 30 days if there is no activity. | ||
| close-issue-message: > | ||
| Closed after 210 days of inactivity. Feel free to reopen if this is still relevant. | ||
| close-issue-reason: completed |
There was a problem hiding this comment.
not_planned fits an inactivity close better (as mentioned in actions/stale#789), and since it's the default option we could just drop the line.
ValuedMammal
left a comment
There was a problem hiding this comment.
I would be generous and leave PRs open for 180 days. Suggest removing discussion from exempt labels. If there are long running discussions, they can happen in https://github.com/bitcoindevkit/bdk_wallet/discussions
0e0f788 to
bb1fc1f
Compare
@ValuedMammal Thanks, updated the exempt labels. I also adjusted the PR timeout to 180 days. |
Can we update the |
bb1fc1f to
3f18adc
Compare
3f18adc to
d466b08
Compare
|
Updated the workflow based on the Lib Standup discussion:
|
notmandatory
left a comment
There was a problem hiding this comment.
ACK d466b08
Great first step in helping close old issues and PRs in this repo. If all goes well I'd like to see this workflow in other repos in the org.
oleonardolima
left a comment
There was a problem hiding this comment.
cACK
I left a few suggestions.
| stale: | ||
| runs-on: ubuntu-latest | ||
| steps: | ||
| - uses: actions/stale@eb5cf3af3ac0a1aa4c9c45633dd1ae542a27a899 # v10 |
There was a problem hiding this comment.
I didn't know that stale was an official action, it can have the version used directly instead of the hash.
There was a problem hiding this comment.
Even though it's an official plugin I think Zizmor action will still complain so I don't see a problem leaving the hash since it returns the same version and is marginally safer.
| Closed after 210 days of inactivity. Feel free to reopen if this is still relevant. | ||
| exempt-pr-labels: 'blocked,security,do-not-close' | ||
| exempt-all-pr-milestones: true | ||
| exempt-draft-pr: true |
There was a problem hiding this comment.
I don't think draft PRs should be exempt.
There was a problem hiding this comment.
It's true they still clutter up the active PRs list so I agree they don't need to be exempted.
| debug_only: | ||
| description: 'Dry-run mode (no writes)' | ||
| required: false | ||
| default: 'false' | ||
| type: choice | ||
| options: | ||
| - 'false' | ||
| - 'true' |
There was a problem hiding this comment.
question: are these required ?
There was a problem hiding this comment.
AFAIK this isn't required but more of a "nice to have" while we're rolling this out. Could be removed once this workflow is enabled and we're comfortable with all the settings.
| with: | ||
| days-before-issue-stale: 180 | ||
| days-before-issue-close: 30 | ||
| stale-issue-label: 'stale' | ||
| stale-issue-message: > | ||
| This issue has been inactive for 180 days and labeled **stale**, comment to keep it open. It will be closed in 30 days if there is no activity. | ||
| close-issue-message: > | ||
| Closed after 210 days of inactivity. Feel free to reopen if this is still relevant. | ||
| exempt-issue-labels: 'release,security,audit,do-not-close,good first issue' | ||
| exempt-all-issue-milestones: true | ||
| days-before-pr-stale: 180 | ||
| days-before-pr-close: 30 | ||
| stale-pr-label: 'stale' | ||
| stale-pr-message: > | ||
| This pull request has had no activity for 180 days and has been labeled **stale**. If this work is still in progress or waiting on review, a comment or push will remove the label. PRs with no further activity for 30 days will be closed. | ||
| close-pr-message: > | ||
| Closed after 210 days of inactivity. Feel free to reopen if this is still relevant. | ||
| exempt-pr-labels: 'blocked,security,do-not-close' | ||
| exempt-all-pr-milestones: true | ||
| exempt-draft-pr: true | ||
| remove-stale-when-updated: true | ||
| ascending: true | ||
| operations-per-run: 600 | ||
| debug-only: ${{ github.event_name == 'pull_request' || github.event.inputs.debug_only == 'true' }} | ||
| enable-statistics: true |
There was a problem hiding this comment.
I think it'd help with readability and updating it in the future by splitting into different jobs (if possible): issues, prs, ...
Description
Part of #410
Closes #386
Adds
.github/workflows/stale.ymlusingactions/stale@v10to automatically label and close inactive issues and abandoned PRs.release,security,audit,do-not-close,good first issuefor issues andblocked,security,do-not-closefor PRNotes to the reviewers
Changelog notice
ci: Automated stale issue and PR triage workflow
Before submitting