[2026-10-14] eagle: personal/projects/archive/virfield-checkpoints-through-2026-10-08.md personal/projects/virfield.md personal/tech/legacy-xctest-runner.md work/wiki/apple-browsers/ci-pipeline.md work/wiki/apple-browsers/vm-ui-testing.md

This commit is contained in:
Alexey Martemyanov committed 2026-10-14 16:06:09 +06:00
1 parent 78dbaf975b
commit a69f95ba59
5 files changed
+228 -166

No files matched your search

+13 -6
View File
@@ -1,13 +1,18 @@
---
source: https://github.com/mallexxx/virfield/tree/v2.0.0
confidence: 1.0
source: 'https://github.com/mallexxx/virfield/tree/main'
confidence: 1
namespace: work
last_updated: 2026-10-01
tags: [ui-testing, vm, virfield, xcode]
last_updated: '2026-10-14'
tags:
- ui-testing
- vm
- virfield
- xcode
virfield_updated: '2026-10-14'
---
# VM UI Testing — Virfield
Host manager — Virfield v2 на Go. Опубликованный релиз, установленный кандидат, проверенная матрица OS/Xcode и незакрытые release gates различаются; их актуальный статус — только в [[personal/projects/virfield]]. Эта заметка описывает границу UI-test integration; установка, API/MCP и команды поддерживаются в [Operations](https://github.com/mallexxx/virfield/blob/main/docs/OPERATIONS.md).
Host manager — Virfield на Go; текущий runtime — Tart + SSH nodes. Опубликованный релиз, установленный кандидат, проверенная матрица OS/Xcode и незакрытые release gates различаются; их актуальный статус — только в [[personal/projects/virfield]]. Эта заметка описывает границу UI-test integration; установка, API/MCP и команды поддерживаются в [Operations](https://github.com/mallexxx/virfield/blob/main/docs/OPERATIONS.md).
## Поток UI-теста
@@ -16,11 +21,13 @@ Host manager — Virfield v2 на Go. Опубликованный релиз,
3. Выгрузить `.xcresult`, логи и screenshots до освобождения lease.
4. Вызвать `vm_release` и проверить завершение cleanup; expiry также запускает cleanup. Освобождение lease удаляет disposable VM.
Для physical-host lease workspace — `~/virfield/leases/<vm>/workspace`; release не сбрасывает shared account и не убивает его процессы. VM lease disposable, host lease — нет.
Virfield управляет VM и соединением, а не выполняет XCUITest workflow через MCP. Протокол Runner/Broker и полный автоматический UI-test flow требуют отдельной интеграционной приёмки. Гостевые Peekaboo/tools устанавливаются full image profile, но host MCP не экспортирует их UI-команды.
## Ограничения
- Максимум две macOS VM с учётом внешних VM и reservations; `capacity_exhausted` — повод поставить run в очередь Broker.
- Локальный Tart pool: максимум две macOS VM в текущем deployment с учётом внешних VM и reservations; удалённые ноды имеют отдельные slots; `capacity_exhausted` — повод поставить run в очередь Broker.
- Успешный acquire означает принятый job, не готовность гостя. Использовать lease только после `ready`.
- Recipe не монтирует host shared folders. Build workspace находится в VM; личные host SSH keys и provider credentials не запекаются в golden.
- Full UI-test profile `uitest-27-v1` проверен на macOS 27 build `26A428` и требует Xcode 27+. Кандидат поддерживает выбор версий через каталог; реально принятые сочетания перечислены в карточке Virfield и Verification. Совместимость с конкретной веткой apple-browsers проверяется отдельно.