Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

ci(macos): Mac mini runner 上 AgentBrandIconResourceTests 品牌图标渲染测试必然失败

Cerrado
#1,297 2 comentarios 0 reacciones 1 asignado Ver en GitHub

Los mantenedores suelen responder en 1 día

@1lck ya está trabajando en esto.

Desde el 17/10/2026.

Evaluación

Este issue todavía no se ha evaluado.

Descripción

review: medium

现象

AgentBrandIconResourceTests.composerBrandMarksStayVisibleInNativeMenus(name:isDark:)(macos/Tests/LitheTests/AgentBrandIconResourceTests.swift)在 Mac mini 自托管 runner 上有 3 个用例必然失败:

  • Claude / 浅色
  • Claude / 深色
  • Codex / 深色

三个用例的断言都是:

Expectation failed: (markPixels → 0) > 10

也就是对原生 Agent 选择菜单的图标区域截图后,一个品牌图标像素都没统计到。Codex / 浅色能通过;其余测试全部通过(这一轮共 2262 个测试,只有这 3 个用例失败)。

示例失败日志:https://github.com/1lck/Lithe-IDEA/actions/runs/38992103274/job/117276751213

影响范围

#1262(2026-10-16 合入 preview)把 macOS CI 改成按空闲池动态分配 Mac mini runner。从那以后,最近 100 次已完成的 CI 里,凡是实际执行了 Swift tests 的任务全部失败,而且都失败在这个测试上:

分支 Runner
feat/issue-1250-archived-agent-history(#1286) mac-mini-2、xin53deMac-mini
feat/process-termination-policy(#1285) xin53deMac-mini
feat/agent-context-ring-appear-on-first-report xin53deMac-mini
codex/git-terminal-resize mac-mini-3

目前所有 ready PR 的 macOS CI 都因此过不了。preview 自己最近几次运行的 Swift tests 是 skipped,所以在 preview 上看不出这个问题。

和 PR 改动无关的依据

  • 上面这些 PR 都没有改过 AgentComposerView、品牌图标资源或这个测试。
  • 本地(Darwin 27,比 CI 的 Xcode 26.6 更新)在 #1286 分支上执行 ./.agents/skills/write-stable-tests/scripts/test-stability-macos.sh -- --filter AgentBrandIconResourceTests,3 个用例全部通过。

可能的原因(尚未验证)

这个测试用 cacheDisplay 截取原生 Menu label 的区域,再统计像素。Mac mini runner 上可能是以下情况之一:

  1. 没有真实的 WindowServer / 图形会话,原生控件截出来是空白;
  2. Xcode 26.6 SDK 下原生 Menu label 的位置或配色不一样,固定的裁剪区域没有覆盖到图标。

建议

  • 先在一台 Mac mini runner 上单独执行这个测试,确认是上面哪一种情况。
  • 如果是图形会话的问题,修 runner 准备脚本;如果是渲染差异,调整测试的取样方式。
  • 无论哪种,都需要保留这个测试原本的意图:原生选择器里能看到品牌图标,且共享的 template 图片没有被修改。不要直接跳过这个测试。
Lenguaje dominante
TypeScript
Estrellas
1.8k
Forks
151
Merge medio
11 h 24 min
PR fusionados (30 d)
340

Preparar el entorno

Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de 1lck/Lithe-IDEA

Todos los issues de 1lck/Lithe-IDEA

Issues similares

Más issues de TypeScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.