菜单

GitHub Actions

相关源文件

目的与范围

本文档详细介绍了在 Front-End Checklist 仓库中实现的 GitHub Actions 工作流。这些自动化工作流是项目质量保证和维护系统的关键组成部分。它们负责处理自动化检查、文档验证以及过期问题和拉取请求的管理。有关项目中使用的其他技术工具的信息,请参阅工具和依赖项;有关配置文件详情,请参阅配置文件

仓库中的 GitHub Actions 概述

Front-End Checklist 仓库使用 GitHub Actions 来自动化重复任务,确保文档质量,并维护仓库的健康状态。这些工作流在特定触发器(例如拉取请求)或按计划间隔运行。

来源:.github/workflows/readme-check.yml .github/workflows/links-checker.yml .github/workflows/stale.yml

Readme Check 工作流程

Readme 检查工作流在拉取请求提交时验证 README.md 文件的更改。这确保了项目的主要文档保持高质量和一致性。

工作流触发器和配置

此工作流专门在拉取请求修改 README.md 文件时触发。

该工作流执行以下步骤:

  1. 检出仓库代码
  2. 设置 Node.js 版本 22
  3. 配置 pnpm 版本 9
  4. 安装依赖项
  5. 验证 Markdown 格式
  6. 检查 README.md 中的失效链接

来源:.github/workflows/readme-check.yml1-39

技术实现

该工作流使用了多个 GitHub Actions:

  • actions/checkout@v4 - 拉取仓库内容
  • actions/setup-node@v4 - 配置 Node.js
  • pnpm/action-setup@v4 - 设置 pnpm 包管理器
  • lycheeverse/lychee-action@v2.0.2 - 验证链接

链接检查配置引用了一个自定义配置文件(./lychee.toml),并且如果检测到失效链接,则会使工作流失败。

来源:.github/workflows/readme-check.yml16-39

链接检查器工作流会定期验证 README.md 文件中的链接,并在发现问题时创建议题。

工作流触发器和配置

此工作流运行于:

  • 每周(UTC 时间周一午夜)
  • 通过 repository dispatch 或 workflow dispatch 手动触发

来源:.github/workflows/links-checker.yml1-36

技术实现

工作流

  1. 检出仓库代码
  2. 使用 lychee-action 扫描失效链接
  3. 如果发现问题,则创建一个包含链接检查报告的 GitHub 议题

该工作流拥有写入议题的权限,使其能够在检测到失效链接时自动创建议题。

来源:.github/workflows/links-checker.yml12-36

过期管理工作流

过期管理工作流自动识别和管理不活跃的议题和拉取请求,有助于保持仓库的整洁。

工作流触发器和配置

此工作流运行于:

  • 每周六 UTC 时间 1:30
  • 通过 workflow dispatch 手动触发

该工作流采用特定时间范围:

  • 议题在 40 天不活跃后变为过期
  • 拉取请求在 45 天不活跃后变为过期
  • 如果未采取任何行动,两者将在额外 10 天不活跃后被关闭

来源:.github/workflows/stale.yml1-37

豁免规则

过期工作流包括重要的豁免情况:

  • 分配给主要维护者(thedaviddias)的议题和拉取请求豁免。
  • 带有特定标签(keep-unstalesecuritydependabotwipneed-help)的拉取请求豁免。
  • 带有标签keep-unstalesecurity的议题豁免。

当议题被此工作流关闭时,它将获得wontfix标签。

来源:.github/workflows/stale.yml20-37

与项目质量保证的整合

GitHub Actions 是项目质量保证系统的重要组成部分,与本地开发钩子和贡献指南协同工作。

GitHub Actions 工作流补充了本地开发流程:

  1. 开发人员使用 Husky pre-push 钩子在本地强制执行格式化
  2. Readme 检查工作流在通过拉取请求贡献时验证更改
  3. 链接检查器定期确保所有文档链接保持有效
  4. 过期管理工作流保持议题跟踪器的整洁

来源:.github/workflows/readme-check.yml .github/workflows/links-checker.yml .github/workflows/stale.yml .husky/pre-push

贡献影响

这些 GitHub Actions 工作流会影响项目的 CONTRIBUTING.md 文件中概述的贡献流程。

工作流对贡献者的影响
Readme 检查确保贡献者在拉取请求中保持文档质量
链接检查器识别出贡献者可能需要修复的失效链接
过期管理自动关闭不活跃的议题和拉取请求,鼓励及时跟进

贡献者应注意:

  • 修改 README.md 的拉取请求会经过自动化验证检查
  • 议题和拉取请求如果长时间不活跃,可能会被自动标记为过期并最终关闭
  • 在议题或拉取请求上的活跃操作将阻止其被标记为过期或关闭

来源:CONTRIBUTING.md18-26 .github/workflows/stale.yml21-25

总结

Front-End Checklist 仓库中的 GitHub Actions 工作流是质量和维护的自动化守护者。它们确保文档保持正确的格式和有效的链接,同时保持议题跟踪器的整洁和专注。这些自动化流程减少了维护者的负担,并有助于长期保持项目的高质量标准。