| New file |
| | |
| | | name: Delete old workflow runs |
| | | on: |
| | | workflow_dispatch: |
| | | inputs: |
| | | days: |
| | | description: 'Number of days.' |
| | | required: true |
| | | default: 30 |
| | | minimum_runs: |
| | | description: 'The minimum runs to keep for each workflow.' |
| | | required: true |
| | | default: 6 |
| | | delete_workflow_pattern: |
| | | description: 'The name or filename of the workflow. if not set then it will target all workflows.' |
| | | required: false |
| | | delete_workflow_by_state_pattern: |
| | | description: 'Remove workflow by state: active, deleted, disabled_fork, disabled_inactivity, disabled_manually' |
| | | required: true |
| | | default: "All" |
| | | type: choice |
| | | options: |
| | | - "All" |
| | | - active |
| | | - deleted |
| | | - disabled_inactivity |
| | | - disabled_manually |
| | | delete_run_by_conclusion_pattern: |
| | | description: 'Remove workflow by conclusion: action_required, cancelled, failure, skipped, success' |
| | | required: true |
| | | default: "All" |
| | | type: choice |
| | | options: |
| | | - "All" |
| | | - action_required |
| | | - cancelled |
| | | - failure |
| | | - skipped |
| | | - success |
| | | dry_run: |
| | | description: 'Only log actions, do not perform any delete operations.' |
| | | required: false |
| | | |
| | | jobs: |
| | | del_runs: |
| | | runs-on: ubuntu-latest |
| | | permissions: |
| | | actions: write |
| | | steps: |
| | | - name: Delete workflow runs |
| | | uses: Mattraks/delete-workflow-runs@v2 |
| | | with: |
| | | token: ${{ github.token }} |
| | | repository: ${{ github.repository }} |
| | | retain_days: ${{ github.event.inputs.days }} |
| | | keep_minimum_runs: ${{ github.event.inputs.minimum_runs }} |
| | | delete_workflow_pattern: ${{ github.event.inputs.delete_workflow_pattern }} |
| | | delete_workflow_by_state_pattern: ${{ github.event.inputs.delete_workflow_by_state_pattern }} |
| | | delete_run_by_conclusion_pattern: ${{ github.event.inputs.delete_run_by_conclusion_pattern }} |
| | | dry_run: ${{ github.event.inputs.dry_run }} |