* Initial plan * Add CI results comment workflow Co-authored-by: supperthomas <60349489+supperthomas@users.noreply.github.com> * Improve CI results comment formatting and PR detection Co-authored-by: supperthomas <60349489+supperthomas@users.noreply.github.com> * Add documentation for CI results comment feature Co-authored-by: supperthomas <60349489+supperthomas@users.noreply.github.com> * Add ToolsCI and pkgs_test to monitored workflows Co-authored-by: supperthomas <60349489+supperthomas@users.noreply.github.com> * Add immediate CI status comment via direct workflow integration Co-authored-by: supperthomas <60349489+supperthomas@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: supperthomas <60349489+supperthomas@users.noreply.github.com>
6.2 KiB
CI Results Comment Workflow
Overview / 概述
This feature automatically posts CI test results as comments on Pull Requests, making it easier for contributors and reviewers to see the status of all CI checks at a glance.
此功能自动将 CI 测试结果作为评论发布到 Pull Request 中,使贡献者和审阅者更容易一目了然地看到所有 CI 检查的状态。
Implementation / 实现方式
The feature uses two complementary approaches to ensure CI results are always visible: 该功能使用两种互补方法来确保 CI 结果始终可见:
1. Direct Workflow Integration (Immediate) / 直接工作流集成(立即生效)
Each main CI workflow includes a post-ci-status job that:
每个主要 CI 工作流都包含一个 post-ci-status 作业,它:
- ✅ Works immediately on PR branches (no merge required) / 立即在 PR 分支上生效(无需合并)
- 📝 Updates a single comment with workflow status / 使用工作流状态更新单个评论
- 🔄 Runs after each workflow completes / 在每个工作流完成后运行
Modified Workflows:
bsp_buildings.ymlstatic_code_analysis.ymlformat_check.ymlutest_auto_run.yml
2. Workflow Run Trigger (After Merge) / 工作流运行触发器(合并后)
The ci_results_comment.yml workflow:
ci_results_comment.yml 工作流:
- ⏰ Triggers when CI workflows complete / 在 CI 工作流完成时触发
- 📊 Provides comprehensive summary of all workflows / 提供所有工作流的全面摘要
- 🔍 Shows detailed job-level information / 显示详细的作业级信息
- ⚠️ Only works after merged to master / 仅在合并到 master 后才有效
Features / 功能特性
-
Automatic Updates / 自动更新: The comment is automatically created when CI workflows complete and updated as new workflows finish. / 当 CI 工作流完成时自动创建评论,并在新工作流完成时更新。
-
Comprehensive Summary / 全面总结: Shows the status of all major CI workflows including: / 显示所有主要 CI 工作流的状态,包括:
- RT-Thread BSP Static Build Check / BSP 静态构建检查
- Static code analysis / 静态代码分析
- Check File Format and License / 文件格式和许可证检查
- utest_auto_run / 单元测试自动运行
-
Status Indicators / 状态指示器:
- ✅ Success / 成功
- ❌ Failure / 失败
- 🟠 Queued / 排队中
- 🟡 In Progress / 进行中
- ⏭️ Skipped / 已跳过
-
Detailed Information / 详细信息: Expandable sections show individual job results within each workflow. / 可展开的部分显示每个工作流中的各个作业结果。
How It Works / 工作原理
-
The workflow is triggered when any of the monitored CI workflows complete. / 当任何受监控的 CI 工作流完成时,将触发此工作流。
-
It collects the status of all workflows and jobs for the associated Pull Request. / 它收集关联 Pull Request 的所有工作流和作业的状态。
-
A formatted comment is posted (or updated if one already exists) with the current CI status. / 发布(或更新已存在的)格式化评论,显示当前 CI 状态。
Comment Format / 评论格式
The comment includes: 评论包括:
-
Overall Summary / 总体摘要: Quick statistics showing count of passed, failed, queued, in-progress, and skipped workflows. / 快速统计数据,显示通过、失败、排队、进行中和跳过的工作流数量。
-
Detailed Results / 详细结果: Collapsible sections for each workflow with links to individual jobs. / 每个工作流的可折叠部分,包含指向各个作业的链接。
Benefits / 优势
-
Visibility / 可见性: Contributors can immediately see which CI checks have passed or failed without navigating to the Actions tab. / 贡献者无需导航到 Actions 选项卡即可立即查看哪些 CI 检查通过或失败。
-
Efficiency / 效率: Reviewers can quickly assess the CI status before reviewing the code. / 审阅者可以在审查代码之前快速评估 CI 状态。
-
Transparency / 透明度: All stakeholders have a clear view of the PR's CI status. / 所有利益相关者都可以清楚地了解 PR 的 CI 状态。
Permissions Required / 所需权限
The workflow requires the following permissions: 工作流需要以下权限:
pull-requests: write- To create and update comments / 创建和更新评论issues: write- To post comments on PR issues / 在 PR 问题上发布评论actions: read- To read workflow run status / 读取工作流运行状态checks: read- To read check run status / 读取检查运行状态
Configuration / 配置
The workflow monitors the following workflows by default: 工作流默认监控以下工作流:
workflows:
- "RT-Thread BSP Static Build Check"
- "Static code analysis"
- "Check File Format and License"
- "utest_auto_run"
To add more workflows to monitor, edit the .github/workflows/ci_results_comment.yml file and add workflow names to the workflows list.
要监控更多工作流,请编辑 .github/workflows/ci_results_comment.yml 文件并将工作流名称添加到 workflows 列表中。
Troubleshooting / 故障排除
Comment not appearing / 评论未出现
- Ensure the workflow has the required permissions / 确保工作流具有所需权限
- Check that the PR is from a branch in the repository (not a fork) / 检查 PR 是否来自存储库中的分支(而非分支)
- Verify the workflow is enabled in the repository settings / 验证工作流在存储库设置中已启用
Comment not updating / 评论未更新
- The comment updates when a monitored workflow completes / 当受监控的工作流完成时,评论会更新
- Check the Actions tab to see if the workflow is running / 检查 Actions 选项卡以查看工作流是否正在运行
- Look for errors in the workflow logs / 在工作流日志中查找错误
Contributing / 贡献
Contributions to improve this workflow are welcome! Please follow the standard contribution process outlined in the CONTRIBUTING.md file.
欢迎改进此工作流的贡献!请遵循 CONTRIBUTING.md 文件中概述的标准贡献流程。