CI 中使用 Lime
在组织的 GitHub Actions 工作流中调用 Lime CLI。
集成方式
可以在 GitHub Actions 运行器中调用 Lime CLI 执行代码检查、测试解释和受限改动。Lime 没有可直接套用的官方 Action 包;组织负责安装匹配的二进制、配置模型连接,并维护工作流的权限与审查边界。
准备运行器
- 安装并固定已验证的 Lime CLI 与匹配运行组件。
- 按组织方式配置提供方和凭据,使用受限 Secret 注入。
- 检出要分析的代码,确认工作目录与依赖。
- 用一个只读任务验证连接,再加入正式流程。
最小工作流片段
下面片段假定自托管运行器已安装并完成 Lime 配置。它手动触发,只读取仓库并上传结果,不包含凭据安装和远程评论。
yaml
name: Lime review
on:
workflow_dispatch:
permissions:
contents: read
jobs:
review:
runs-on: self-hosted
steps:
- uses: actions/checkout@v4
- name: Check CLI
run: lime --version
- name: Run read-only analysis
run: >-
lime exec --sandbox read-only --ask-for-approval never
--output-last-message lime-review.md
"读取项目指令,检查当前代码,报告有证据的问题;不要修改文件或调用外部写入工具"
- uses: actions/upload-artifact@v4
with:
name: lime-review
path: lime-review.md组织可进一步固定第三方 Action 的完整提交 SHA。运行器标签、依赖缓存和结果保留期应使用自身配置。
不可信输入
拉取请求的标题、正文、差异和仓库文件都可能包含指令。将它们作为待分析材料,不让它们决定 Secret、权限、外部发送目标或工作流逻辑。来自 fork 的任务不能自动获得内部凭据或高权限运行器。
发布评论和改动
生成审查文稿与发布评论是两个动作。只有明确授权后,才使用组织的 GitHub 集成将文稿写回;写入权限应限定目标仓库与操作。自动提交或创建拉取请求还需检查差异、测试、分支保护和重复执行。
失败与恢复
保留退出码、脱敏事件、线程 ID 和产物。执行超时后先检查原任务及远端状态;不要因工作流重跑而重复发送评论或提交。结果文件不存在时,不能上传一个空文件冒充审查成功。