- Treat issues and PRs separately - At the end, generate a cross-linked summary with all processed issues/PRspull/7053/head
parent
57cc3173da
commit
7a60136b4b
1 changed files with 105 additions and 0 deletions
@ -0,0 +1,105 @@ |
||||
name: Stale and close inactive issues/PRs |
||||
|
||||
on: |
||||
schedule: |
||||
- cron: "30 1 * * *" # each day at 1:30AM |
||||
workflow_dispatch: # or manually |
||||
|
||||
permissions: |
||||
issues: read |
||||
pull-requests: read |
||||
|
||||
# This allows a subsequently queued workflow run to interrupt previous runs |
||||
concurrency: |
||||
group: '${{ github.workflow }} @ ${{ github.head_ref || github.ref || github.run_id }}' |
||||
cancel-in-progress: true |
||||
|
||||
jobs: |
||||
|
||||
process-issues: |
||||
name: Process Issues |
||||
|
||||
permissions: |
||||
issues: write |
||||
|
||||
runs-on: ubuntu-latest |
||||
|
||||
steps: |
||||
- uses: actions/stale@v5 |
||||
with: |
||||
operations-per-run: 30 |
||||
days-before-issue-stale: 30 |
||||
days-before-issue-close: 7 |
||||
stale-issue-label: "stale" |
||||
close-issue-label: "stale: closed" |
||||
stale-issue-message: "This issue is stale because it has been open for 30 days with no activity." |
||||
close-issue-message: "This issue was closed because it has been inactive for 7 days since being marked as stale." |
||||
remove-issue-stale-when-updated: true |
||||
exempt-issue-labels: "👥 discussion,👀 Needs Review,📌 pinned" |
||||
days-before-pr-stale: -1 |
||||
days-before-pr-close: -1 |
||||
|
||||
process-prs: |
||||
name: Process Pull Requests |
||||
|
||||
permissions: |
||||
pull-requests: write |
||||
|
||||
runs-on: ubuntu-latest |
||||
|
||||
steps: |
||||
- uses: actions/stale@v5 |
||||
with: |
||||
operations-per-run: 30 |
||||
days-before-pr-stale: 30 |
||||
days-before-pr-close: 7 |
||||
stale-pr-label: "stale" |
||||
close-pr-label: "stale: closed" |
||||
stale-pr-message: "This pull request is stale because it has been open for 30 days with no activity." |
||||
close-pr-message: "This pull request was closed because it has been inactive for 7 days since being marked as stale." |
||||
remove-pr-stale-when-updated: true |
||||
exempt-pr-labels: "👥 discussion,👀 Needs Review" |
||||
exempt-draft-pr: true |
||||
days-before-issue-stale: -1 |
||||
days-before-issue-close: -1 |
||||
|
||||
generate-summary: |
||||
name: GitHub report |
||||
|
||||
needs: [process-issues, process-prs] |
||||
|
||||
runs-on: ubuntu-latest |
||||
|
||||
steps: |
||||
- run: | |
||||
echo "### Staled issues" \ |
||||
>> $GITHUB_STEP_SUMMARY |
||||
echo "$STALED_ISSUES" \ |
||||
| jq --raw-output 'map("* [#\(.number)](\(env.GITHUB_ISSUES_URL)/\(.number)): \(.title)") | join("\n")' \ |
||||
>> $GITHUB_STEP_SUMMARY |
||||
|
||||
echo "### Staled pull requests" \ |
||||
>> $GITHUB_STEP_SUMMARY |
||||
echo "$STALED_PRS" \ |
||||
| jq --raw-output 'map("* [#\(.number)](\(env.GITHUB_PULL_URL)/\(.number)): \(.title)") | join("\n")' \ |
||||
>> $GITHUB_STEP_SUMMARY |
||||
|
||||
echo "### Closed issues" \ |
||||
>> $GITHUB_STEP_SUMMARY |
||||
echo "$CLOSED_ISSUES" \ |
||||
| jq --raw-output 'map("* [#\(.number)](\(env.GITHUB_ISSUES_URL)/\(.number)): \(.title)") | join("\n")' \ |
||||
>> $GITHUB_STEP_SUMMARY |
||||
|
||||
echo "### Closed pull requests" \ |
||||
>> $GITHUB_STEP_SUMMARY |
||||
echo "$CLOSED_PRS" \ |
||||
| jq --raw-output 'map("* [#\(.number)](\(env.GITHUB_PULL_URL)/\(.number)): \(.title)") | join("\n")' \ |
||||
>> $GITHUB_STEP_SUMMARY |
||||
env: |
||||
GITHUB_REPO_URL: ${{ format('{0}/{1}', github.server_url, github.repository) }} |
||||
GITHUB_ISSUES_URL: ${{ format('{0}/{1}/issues', github.server_url, github.repository) }} |
||||
GITHUB_PULL_URL: ${{ format('{0}/{1}/pull', github.server_url, github.repository) }} |
||||
STALED_ISSUES: ${{ needs.process-issues.outputs.staled-issues-prs }} |
||||
CLOSED_ISSUES: ${{ needs.process-issues.outputs.closed-issues-prs }} |
||||
STALED_PRS: ${{ needs.process-prs.outputs.staled-issues-prs }} |
||||
CLOSED_PRS: ${{ needs.process-prs.outputs.closed-issues-prs }} |
Loading…
Reference in new issue