Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

ci(apple): characterize bounded xcrun stalls in iOS preflight and fold-helper gate

Đang mở
#2,940 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

Chưa có ai nhận issue này.

Đánh giá

Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức phù hợp với người mới
45/100
Loại issue
Lỗi
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
ios, typescript
Lĩnh vực
ci-cd, mobile-dev, testing-qa

Hướng nghiên cứu

Start with packages/platform-apple/src/readiness/runtime.ts and its LIST_TIMEOUT_MS path for simctl device inventory, then inspect packages/platform-apple/src/foldable/fold-helper-cache.test.ts and its FOLD_HELPER_BUILD_TIMEOUT_MS gate. Add focused fake-host coverage for a recoverable first timeout and a persistent timeout, preserving the prepare budget and typed failure. Done includes a macOS gate measurement or failing-job link and a live iOS PR run through preflight.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

needs-triage

Purpose

An Apple host stall can fail smoke before the test under review starts. Keep the two xcrun paths distinct so a cold simulator inventory failure is not reported as an XCTest assertion or hidden by a test retry.

Evidence and scope

  • iOS PR run 36030060382, job 107736587593 failed in Preflight iOS runner through public CLI. The typed error was COMMAND_FAILED: xcrun timed out after 15000ms, with args: ["simctl", "list", "devices", "-j"], empty stdout/stderr, and timeoutMs: 15000. The fixture E2E step never ran. The 15 s budget is LIST_TIMEOUT_MS in packages/platform-apple/src/readiness/runtime.ts; this is distinct from the cold toolchain version probes closed by #2422.
  • The macOS fold-helper -Werror gate invokes xcrun with FOLD_HELPER_BUILD_TIMEOUT_MS = 30000 in packages/platform-apple/src/foldable/fold-helper-cache.test.ts. This is a separate compile path to audit. I have not established a recent failure of this gate from the currently visible macOS runs, so its budget should be changed only if a captured duration or timeout warrants it.

Required behavior

  1. Attribute a preflight failure to the exact simctl operation, its elapsed time, remaining prepare deadline, and whether a retry could join/reuse a warmed result. A timeout must stay bounded and typed; no generic XCTest or E2E retry is the fix.
  2. Reproduce or characterize the 15 s inventory stall on a cold/contended host and choose a bounded recovery using the remaining prepare budget. A warm second call may be tried only when the first typed timeout and deadline allow it. Verify the simulator is still the scoped target and that a persistent hang still fails promptly.
  3. Measure the fold-helper warning gate's cold and warm xcrun duration separately. If it reaches its 30 s budget, file the concrete failing run here and fix that gate at its own compile seam while retaining -Werror; otherwise close that audit item without changing the timeout.

Completion

  • A focused fake-host test plants a first inventory timeout followed by a valid scoped result, plus a persistent timeout, and proves both outcomes and total budget.
  • A macOS gate measurement or failing job link settles the fold-helper audit.
  • A live iOS PR run gets through preflight on the exact fixing head. Record runner queue and execution time separately.

Related: #2422 (closed toolchain identity probes), #2491 (rotating iOS smoke failures), #2879 (fold request envelope; a different budget).

Ngôn ngữ chính
TypeScript
Star
4.7k
Fork
304
Merge trung bình
11 giờ 19 phút
Pull request đã merge (30 ngày)
539

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của callstack/agent-device

Tất cả issue của callstack/agent-device

Issue tương tự

Thêm issue về TypeScript

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.