From b15f609163fcd34749d74dffa64cb260096f2995 Mon Sep 17 00:00:00 2001
From: weru <fromweru@gmail.com>
Date: Tue, 01 Aug 2023 10:30:49 +0000
Subject: [PATCH] automate workflow cleanup
---
.github/workflows/cleanup.yaml | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 59 insertions(+), 0 deletions(-)
diff --git a/.github/workflows/cleanup.yaml b/.github/workflows/cleanup.yaml
new file mode 100644
index 0000000..99070b0
--- /dev/null
+++ b/.github/workflows/cleanup.yaml
@@ -0,0 +1,59 @@
+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 }}
\ No newline at end of file
--
Gitblit v1.10.0