Skip to main content
CI 运行 Experiment 时,进程退出状态决定门禁是否通过。--json 提供当前进程反馈,最后一条 receipt 给出本次 Invocation 的 runIds。JUnit 文件则交给 CI 平台显示测试结果。

基本命令

只要存在 mismatched 的 Boolean condition、低于阈值的 measurement 或执行错误,NiceEval 就以非零状态码退出。需要阻止合并的要求直接写在评估用例源码中,CI 与本地运行读取同一套判定。
这条命令有三种输出:
  • 退出状态:CI 用它决定任务成功或失败。
  • NDJSON:progress 与 diagnostic 描述当前进程;最后一条 receipt 描述 Invocation。
  • JUnit:供 CI 平台读取的临时文件。
JUnit 和外部平台文件不拥有 Record。Verdict、Usage、断言和诊断的持久事实仍在停稳 Record 的具名通道中。

GitHub Actions 示例

下面的步骤保留 JSON 输出,并正确传回 niceeval exp 的退出状态:
将模型凭据作为 CI secret 注入命令运行所需的变量。不要把凭据写入 Experiment、receipt、JUnit 或日志。

用 receipt 关联后续步骤

成功建立 Invocation 后,NDJSON 的最后一行包含 receipt。后续脚本可以读取它的 runIds,用明确 Run 选择查看或导出报告:
如果命令在建立 Invocation 前就因输入错误退出,不会有 receipt。此时直接修复命令、Experiment 或选择条件;不要猜测 Run ID。

让反馈保持可读

CI 日志适合阅读当前进程的 progress 和 diagnostic。需要检查业务结果时,用 receipt 的 runIds 运行 showview;需要长期分享时,用 view --out 生成静态报告站。 更多静态站点步骤见发布静态报告