本页介绍了 GitHub Readme Stats 项目中实现的 GitHub Actions 工作流。这些工作流可自动执行测试、验证、文档生成和其他关键的 CI/CD 流程。有关问题和 PR 管理自动化的信息,请参阅 问题和 PR 管理。
GitHub Readme Stats 利用 GitHub Actions 自动化各种开发工作流,以确保代码质量并维护文档。这些工作流会在特定触发器(例如推送到 master 分支或创建拉取请求)上自动运行。
来源: .github/workflows/test.yml2-8 .github/workflows/generate-theme-doc.yml2-7
此项目中的 GitHub Actions 工作流遵循最小权限原则,使用受限的权限。大多数工作流都以只读权限开始,仅在需要时授予特定的写入权限。
例如,主题文档工作流需要对存储库内容具有写入访问权限
来源: .github/workflows/test.yml10 .github/workflows/generate-theme-doc.yml9-21
主要的测试工作流在每次代码推送到 master 分支或创建针对 master 的拉取请求时运行。
此工作流执行全面的质量检查套件
npm run test 运行 Jest 测试套件npm run lint 验证代码风格npm run bench 检查性能该工作流在 Ubuntu 上使用 Node.js 18.x 运行。
来源: .github/workflows/test.yml1-48
当主题定义文件发生修改时,此工作流会自动生成更新的主题文档。
工作流
themes/index.js 文件发生修改时触发theme-readme-gen 脚本生成主题文档工作流使用特定的环境变量密钥
PERSONAL_TOKEN:用于 GitHub 身份验证GH_REPO:存储库信息来源: .github/workflows/generate-theme-doc.yml1-59
下图说明了 GitHub Actions 工作流如何与代码库的关键组件连接
来源: .github/workflows/test.yml30-44 .github/workflows/generate-theme-doc.yml44-49
测试工作流执行矩阵构建策略,允许同一作业在需要时以不同配置运行
两个工作流都使用相似的配置模式
来源: .github/workflows/test.yml14-18 .github/workflows/generate-theme-doc.yml24-29
| 工作流 | 触发器 | 关键操作 | 输出 |
|---|---|---|---|
| 测试 | 推送到 master,PR 到 master | 运行测试、代码检查、基准测试、格式化检查 | 测试报告、代码覆盖率 |
| 主题文档 | 推送到 themes/index.js | 生成主题文档 | 更新的 themes/README.md |
来源: .github/workflows/test.yml2-8 .github/workflows/generate-theme-doc.yml2-7
GitHub Actions 工作流与项目的开发工作流集成,提供自动化检查和文档更新
来源: .github/workflows/test.yml2-8 .github/workflows/generate-theme-doc.yml2-7
此项目中的 GitHub Actions 工作流遵循多项最佳实践
actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683)固定到特定版本,以确保安全性和稳定性来源: .github/workflows/test.yml21-27 .github/workflows/generate-theme-doc.yml32-38 .github/workflows/generate-theme-doc.yml6-7
GitHub Readme Stats 存储库中的 GitHub Actions 工作流提供了自动化的测试、文档生成和验证。这些工作流有助于维护代码质量,并确保文档与最新的主题更改保持同步。