mirror of
				https://github.com/SoPat712/YTLitePlus.git
				synced 2025-10-30 20:34:03 -04:00 
			
		
		
		
	
		
			
				
	
	
		
			70 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			70 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| # This is based on the example at https://github.com/marketplace/actions/delete-workflow-runs
 | |
| 
 | |
| name: Delete old workflow runs
 | |
| on:
 | |
|   workflow_dispatch:
 | |
|     inputs:
 | |
|       days:
 | |
|         description: 'Days-worth of runs to keep for each workflow'
 | |
|         required: true
 | |
|         default: '0'
 | |
|       minimum_runs:
 | |
|         description: 'Minimum runs to keep for each workflow'
 | |
|         required: true
 | |
|         default: '0'
 | |
|       delete_workflow_pattern:
 | |
|         description: 'Name or filename of the workflow (if not set, all workflows are targeted)'
 | |
|         required: false
 | |
|         default: 'Build and Release YTLitePlus'
 | |
|       delete_workflow_by_state_pattern:
 | |
|         description: 'Filter workflows 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 runs based on conclusion: action_required, cancelled, failure, skipped, success'
 | |
|         required: true
 | |
|         default: "ALL"
 | |
|         type: choice
 | |
|         options:
 | |
|           - "ALL"
 | |
|           - "Unsuccessful: action_required,cancelled,failure,skipped"
 | |
|           - action_required
 | |
|           - cancelled
 | |
|           - failure
 | |
|           - skipped
 | |
|           - success
 | |
|       dry_run:
 | |
|         description: 'Logs simulated changes, no deletions are performed'
 | |
|         required: false
 | |
| 
 | |
| jobs:
 | |
|   del_runs:
 | |
|     runs-on: ubuntu-latest
 | |
|     permissions:
 | |
|       actions: write
 | |
|       contents: read
 | |
|     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: >-
 | |
|             ${{
 | |
|               startsWith(github.event.inputs.delete_run_by_conclusion_pattern, 'Unsuccessful:')
 | |
|               && 'action_required,cancelled,failure,skipped'
 | |
|               || github.event.inputs.delete_run_by_conclusion_pattern
 | |
|             }}
 | |
|           dry_run: ${{ github.event.inputs.dry_run }}
 | 
