批量删除Github workflows

起因

本人于今年二月开始,经常修改主题文件魔改,造成大量的Actions运行,所以产生了很多Github workflows的logs记录,加之我有强迫症,故想要将1天前-过去commit后的workflow清空。所以找寻批量删除的办法,亲自体验后觉得很Nice。

步骤

一、创建批量删除workflows的yml文件

进入.github→workflows→Add file→Create new file,我这里随便命名的autodelete.yml。然后填入以下内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
name: Delete old workflow runs
on:
# Run weekly, at 00:00 on sunday.
schedule:
- cron: '0 0 * * 0'
workflow_dispatch:

jobs:
del_runs:
runs-on: ubuntu-latest
permissions:
actions: write
contents: read
steps:
- name: Delete workflow runs for remote repo
uses: Mattraks/delete-workflow-runs@v2
with:
token: ${{ secrets.GITHUB_TOKEN }}
repository: '***/***'
retain_days: 1
keep_minimum_runs: 3

retain_days举例比如填1,就把昨天之前的记录都删了,keep_minimum_runs则字面意思想要保留的记录条数。上述文件里repository里的用户名/仓库名记得替换到你自己的,提前把GITHUB_TOKEN填入仓库Settings里的Secrets环境变量里。

关于删除脚本更多解释和使用用法,请查看作者说明

二、Run这个配置文件的Action

All workflows下选择autodelete然后点击Run Workflow,自动执行删除,开始批量处理,舒服了,如下图所示: