本文档描述了 GitHub Readme Stats 项目中实现的持续集成和持续部署 (CI/CD) 工作流程。这些自动化工作流程可确保代码质量、维护文档、管理拉取请求和处理安全分析。它们在简化开发流程和维护项目健康方面起着至关重要的作用。
有关设置开发环境的信息,请参阅 开发环境设置。有关测试系统本身的信息,请参阅 测试系统。
GitHub Readme Stats 项目实现了多个 GitHub Actions 工作流程,以自动化开发过程的各个方面。
来源:.github/workflows/test.yml .github/workflows/generate-theme-doc.yml
主要的测试工作流程(test.yml)会在拉取请求和推送到主分支时自动运行。
该工作流程执行以下步骤
npm ci 安装依赖项来源:.github/workflows/test.yml10-47
该项目还通过 e2e-test.yml 工作流程实现了端到端测试,该工作流程测试已部署的预览环境,以确保功能在实际环境中按预期运行。
generate-theme-doc.yml 工作流程会在主题定义文件发生更改时自动更新主题文档。
此工作流:
themes/index.js 文件时触发此自动化可确保主题文档始终与代码库中实际可用的主题同步。
来源:.github/workflows/generate-theme-doc.yml1-59
update-langs.yml 工作流程会自动更新“热门语言”卡使用的语言数据和颜色。这确保了语言信息与 GitHub 支持的语言保持同步。
preview-theme.yml 工作流程通过以下方式帮助主题贡献过程:
此工作流程简化了维护者对主题的审查,并为贡献者提供了即时视觉反馈。
label-pr.yml 工作流程会根据修改的文件自动为拉取请求应用标签。这有助于组织和优先处理贡献。
stale-theme-pr-closer.yml 工作流程会识别并关闭未满足所需验证标准且在规定时间内未更新的主题拉取请求。
来源:.github/workflows/generate-theme-doc.yml22-59
top-issues-dashboard.yml 工作流程会定期生成热门问题仪表板,帮助维护者和贡献者识别需要改进的优先领域。
ossf-analysis.yml 工作流程运行开源安全基金会 (OSSF) Scorecard 分析,以识别安全漏洞和最佳实践违规。这有助于通过主动识别潜在的安全问题来维护安全的代码库。
下图说明了 CI/CD 工作流程如何与 GitHub Readme Stats 基础设施的其他部分集成
来源:.github/workflows/test.yml .github/workflows/generate-theme-doc.yml
下图显示了项目中 CI/CD 工作流程的典型执行流程
来源:.github/workflows/test.yml .github/workflows/generate-theme-doc.yml
GitHub Readme Stats 中的 CI/CD 工作流程提供
这些工作流程减少了手动工作,保持了代码质量的一致性,并简化了贡献流程,使项目更具可持续性,对新贡献者更易于访问。
来源:.github/workflows/test.yml .github/workflows/generate-theme-doc.yml