delete-workflow-runs:轻松管理GitHub工作流运行记录
项目介绍
delete-workflow-runs 是一个开源的GitHub Action,主要用于删除仓库中的工作流运行记录。通过这个Action,用户可以自动清理长时间保留的工作流运行数据,确保代码仓库的整洁和效率。该项目以JavaScript编写,易于配置和使用,是GitHub工作流管理的一个得力助手。
项目技术分析
delete-workflow-runs 通过封装GitHub的API实现了其核心功能。具体来说,它使用了以下三个API:
- List repository workflows:列出仓库中的所有工作流。
- List workflow runs:列出特定工作流的运行记录。
- Delete a workflow run:删除指定的工作流运行记录。
该Action通过比较工作流的保留天数与用户设定的天数(retain_days
),自动删除满足条件的工作流运行记录。此外,它还支持根据工作流状态(delete_workflow_by_state_pattern
)、运行结果(delete_run_by_conclusion_pattern
)等多种条件进行筛选。
项目及应用场景
delete-workflow-runs 适用于以下几种场景:
- 自动化清理:在定期执行的工作流中自动删除过时的工作流运行记录,保持仓库整洁。
- 资源管理:对于存储空间有限或需要维护工作流运行记录数量的仓库,自动清理旧记录可以节省资源。
- 安全性:删除包含敏感信息的工作流运行记录,降低数据泄露的风险。
项目特点
以下是 delete-workflow-runs 的一些显著特点:
- 灵活性:支持多种筛选条件,包括工作流名称、状态、运行结果等。
- 安全性:提供了
dry_run
模式,用户可以在实际删除前预览将被删除的工作流运行记录。 - 易用性:通过GitHub Action集成,易于配置和使用,无需复杂的安装或设置过程。
- 兼容性:支持GitHub Action的权限和认证机制,适用于多种仓库和工作流。
以下是一个具体的配置示例:
name: Delete old workflow runs
on:
schedule:
- cron: '0 0 1 * *'
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: 30
keep_minimum_runs: 6
在这个配置中,工作流会在每月的第一天自动执行,删除30天前的旧工作流运行记录,同时保证每个工作流至少保留6条记录。
总结
delete-workflow-runs 是一个强大的GitHub Action工具,可以帮助用户轻松管理GitHub仓库中的工作流运行记录。通过灵活的配置和多种筛选条件,它不仅提高了仓库的效率,还增强了数据安全性。无论是自动化清理、资源管理还是提高安全性,delete-workflow-runs 都是GitHub工作流管理的一个优秀选择。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考