|
| 1 | +# CI Results Comment Workflow |
| 2 | + |
| 3 | +## Overview / 概述 |
| 4 | + |
| 5 | +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. |
| 6 | + |
| 7 | +此功能自动将 CI 测试结果作为评论发布到 Pull Request 中,使贡献者和审阅者更容易一目了然地看到所有 CI 检查的状态。 |
| 8 | + |
| 9 | +## Implementation / 实现方式 |
| 10 | + |
| 11 | +The feature uses **two complementary approaches** to ensure CI results are always visible: |
| 12 | +该功能使用**两种互补方法**来确保 CI 结果始终可见: |
| 13 | + |
| 14 | +### 1. Direct Workflow Integration (Immediate) / 直接工作流集成(立即生效) |
| 15 | + |
| 16 | +Each main CI workflow includes a `post-ci-status` job that: |
| 17 | +每个主要 CI 工作流都包含一个 `post-ci-status` 作业,它: |
| 18 | + |
| 19 | +- ✅ Works immediately on PR branches (no merge required) / 立即在 PR 分支上生效(无需合并) |
| 20 | +- 📝 Updates a single comment with workflow status / 使用工作流状态更新单个评论 |
| 21 | +- 🔄 Runs after each workflow completes / 在每个工作流完成后运行 |
| 22 | + |
| 23 | +**Modified Workflows:** |
| 24 | +- `bsp_buildings.yml` |
| 25 | +- `static_code_analysis.yml` |
| 26 | +- `format_check.yml` |
| 27 | +- `utest_auto_run.yml` |
| 28 | + |
| 29 | +### 2. Workflow Run Trigger (After Merge) / 工作流运行触发器(合并后) |
| 30 | + |
| 31 | +The `ci_results_comment.yml` workflow: |
| 32 | +`ci_results_comment.yml` 工作流: |
| 33 | + |
| 34 | +- ⏰ Triggers when CI workflows complete / 在 CI 工作流完成时触发 |
| 35 | +- 📊 Provides comprehensive summary of all workflows / 提供所有工作流的全面摘要 |
| 36 | +- 🔍 Shows detailed job-level information / 显示详细的作业级信息 |
| 37 | +- ⚠️ **Only works after merged to master** / **仅在合并到 master 后才有效** |
| 38 | + |
| 39 | +## Features / 功能特性 |
| 40 | + |
| 41 | +1. **Automatic Updates / 自动更新**: The comment is automatically created when CI workflows complete and updated as new workflows finish. |
| 42 | + / 当 CI 工作流完成时自动创建评论,并在新工作流完成时更新。 |
| 43 | + |
| 44 | +2. **Comprehensive Summary / 全面总结**: Shows the status of all major CI workflows including: |
| 45 | + / 显示所有主要 CI 工作流的状态,包括: |
| 46 | + - RT-Thread BSP Static Build Check / BSP 静态构建检查 |
| 47 | + - Static code analysis / 静态代码分析 |
| 48 | + - Check File Format and License / 文件格式和许可证检查 |
| 49 | + - utest_auto_run / 单元测试自动运行 |
| 50 | + |
| 51 | +3. **Status Indicators / 状态指示器**: |
| 52 | + - ✅ Success / 成功 |
| 53 | + - ❌ Failure / 失败 |
| 54 | + - 🟠 Queued / 排队中 |
| 55 | + - 🟡 In Progress / 进行中 |
| 56 | + - ⏭️ Skipped / 已跳过 |
| 57 | + |
| 58 | +4. **Detailed Information / 详细信息**: Expandable sections show individual job results within each workflow. |
| 59 | + / 可展开的部分显示每个工作流中的各个作业结果。 |
| 60 | + |
| 61 | +## How It Works / 工作原理 |
| 62 | + |
| 63 | +1. The workflow is triggered when any of the monitored CI workflows complete. |
| 64 | + / 当任何受监控的 CI 工作流完成时,将触发此工作流。 |
| 65 | + |
| 66 | +2. It collects the status of all workflows and jobs for the associated Pull Request. |
| 67 | + / 它收集关联 Pull Request 的所有工作流和作业的状态。 |
| 68 | + |
| 69 | +3. A formatted comment is posted (or updated if one already exists) with the current CI status. |
| 70 | + / 发布(或更新已存在的)格式化评论,显示当前 CI 状态。 |
| 71 | + |
| 72 | +## Comment Format / 评论格式 |
| 73 | + |
| 74 | +The comment includes: |
| 75 | +评论包括: |
| 76 | + |
| 77 | +- **Overall Summary / 总体摘要**: Quick statistics showing count of passed, failed, queued, in-progress, and skipped workflows. |
| 78 | + / 快速统计数据,显示通过、失败、排队、进行中和跳过的工作流数量。 |
| 79 | + |
| 80 | +- **Detailed Results / 详细结果**: Collapsible sections for each workflow with links to individual jobs. |
| 81 | + / 每个工作流的可折叠部分,包含指向各个作业的链接。 |
| 82 | + |
| 83 | +## Benefits / 优势 |
| 84 | + |
| 85 | +1. **Visibility / 可见性**: Contributors can immediately see which CI checks have passed or failed without navigating to the Actions tab. |
| 86 | + / 贡献者无需导航到 Actions 选项卡即可立即查看哪些 CI 检查通过或失败。 |
| 87 | + |
| 88 | +2. **Efficiency / 效率**: Reviewers can quickly assess the CI status before reviewing the code. |
| 89 | + / 审阅者可以在审查代码之前快速评估 CI 状态。 |
| 90 | + |
| 91 | +3. **Transparency / 透明度**: All stakeholders have a clear view of the PR's CI status. |
| 92 | + / 所有利益相关者都可以清楚地了解 PR 的 CI 状态。 |
| 93 | + |
| 94 | +## Permissions Required / 所需权限 |
| 95 | + |
| 96 | +The workflow requires the following permissions: |
| 97 | +工作流需要以下权限: |
| 98 | + |
| 99 | +- `pull-requests: write` - To create and update comments / 创建和更新评论 |
| 100 | +- `issues: write` - To post comments on PR issues / 在 PR 问题上发布评论 |
| 101 | +- `actions: read` - To read workflow run status / 读取工作流运行状态 |
| 102 | +- `checks: read` - To read check run status / 读取检查运行状态 |
| 103 | + |
| 104 | +## Configuration / 配置 |
| 105 | + |
| 106 | +The workflow monitors the following workflows by default: |
| 107 | +工作流默认监控以下工作流: |
| 108 | + |
| 109 | +```yaml |
| 110 | +workflows: |
| 111 | + - "RT-Thread BSP Static Build Check" |
| 112 | + - "Static code analysis" |
| 113 | + - "Check File Format and License" |
| 114 | + - "utest_auto_run" |
| 115 | +``` |
| 116 | +
|
| 117 | +To add more workflows to monitor, edit the `.github/workflows/ci_results_comment.yml` file and add workflow names to the `workflows` list. |
| 118 | + |
| 119 | +要监控更多工作流,请编辑 `.github/workflows/ci_results_comment.yml` 文件并将工作流名称添加到 `workflows` 列表中。 |
| 120 | + |
| 121 | +## Troubleshooting / 故障排除 |
| 122 | + |
| 123 | +### Comment not appearing / 评论未出现 |
| 124 | + |
| 125 | +1. Ensure the workflow has the required permissions / 确保工作流具有所需权限 |
| 126 | +2. Check that the PR is from a branch in the repository (not a fork) / 检查 PR 是否来自存储库中的分支(而非分支) |
| 127 | +3. Verify the workflow is enabled in the repository settings / 验证工作流在存储库设置中已启用 |
| 128 | + |
| 129 | +### Comment not updating / 评论未更新 |
| 130 | + |
| 131 | +1. The comment updates when a monitored workflow completes / 当受监控的工作流完成时,评论会更新 |
| 132 | +2. Check the Actions tab to see if the workflow is running / 检查 Actions 选项卡以查看工作流是否正在运行 |
| 133 | +3. Look for errors in the workflow logs / 在工作流日志中查找错误 |
| 134 | + |
| 135 | +## Contributing / 贡献 |
| 136 | + |
| 137 | +Contributions to improve this workflow are welcome! Please follow the standard contribution process outlined in the CONTRIBUTING.md file. |
| 138 | + |
| 139 | +欢迎改进此工作流的贡献!请遵循 CONTRIBUTING.md 文件中概述的标准贡献流程。 |
0 commit comments