mirror of
https://github.com/electron/electron.git
synced 2026-10-28 11:44:46 +08:00
ci: print TCC diagnostics when the macOS runner lacks capture/input access On a small share of hosted macOS VMs (about 0.5% of macos-x64 and 0.2% of macos-arm64 test jobs since late September, on the same runner image as the passing jobs) TCC denies the job screen capture, posting events and Accessibility from the first spec on. desktopCapturer.getSources then rejects with "Failed to get sources.", getUserMedia/getDisplayMedia with "Could not start video source", and the real-input specs time out with postEventAccess:false and accessibilityTrusted:false. Add a preflight before the specs that checks CGPreflightScreenCaptureAccess() and CGPreflightPostEventAccess() from the job's process chain. When access is missing it prints the process chain, the TCC.db rows for these services and tccd's attribution of the request, and emits a warning naming the runner host problem. It does not change TCC state or fail the step; that can follow once the attribution shows which process TCC holds responsible. Claude-Session: https://claude.ai/code/session_01LPMvJBQiyP6b7QjatACmnS Co-authored-by: Claude <noreply@anthropic.com>