name: Stale Issue, Banch and Old Workflows Cleanup on: schedule: # Every day at midnight - cron: "0 0 * * *" workflow_dispatch: jobs: issues: runs-on: ubuntu-latest permissions: issues: write pull-requests: write actions: write steps: - name: stale uses: actions/stale@v8.0.0 with: stale-issue-label: "stale" stale-pr-label: "stale" days-before-stale: 180 # Pull Requests become stale more quickly due to merge conflicts. # Also, we promote minimizing WIP. days-before-pr-stale: 7 days-before-pr-close: 3 # We rarely take action in response to the message, so avoid # cluttering the issue and just close the oldies. stale-pr-message: "" stale-issue-message: "" # Upped from 30 since we have a big tracker and was hitting the limit. operations-per-run: 60 # Start with the oldest issues, always. ascending: true branches: runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v3 - name: Run delete-old-branches-action uses: beatlabs/delete-old-branches-action@v0.0.10 with: repo_token: ${{ github.token }} date: "6 months ago" dry_run: false delete_tags: false # extra_protected_branch_regex: ^(foo|bar)$ exclude_open_pr_branches: true del_runs: runs-on: ubuntu-latest steps: - name: Delete PR Cleanup workflow runs uses: Mattraks/delete-workflow-runs@v2 with: token: ${{ github.token }} repository: ${{ github.repository }} retain_days: 1 keep_minimum_runs: 1 delete_workflow_pattern: pr-cleanup.yaml - name: Delete PR Deploy workflow skipped runs uses: Mattraks/delete-workflow-runs@v2 with: token: ${{ github.token }} repository: ${{ github.repository }} retain_days: 0 keep_minimum_runs: 0 delete_run_by_conclusion_pattern: skipped delete_workflow_pattern: pr-deploy.yaml