Skip to content

feat: add screen recording and log capture to macOS CI#3074

Open
brucearctor wants to merge 1 commit into
leancodepl:masterfrom
brucearctor:feat/macos-ci-screen-recording
Open

feat: add screen recording and log capture to macOS CI#3074
brucearctor wants to merge 1 commit into
leancodepl:masterfrom
brucearctor:feat/macos-ci-screen-recording

Conversation

@brucearctor

Copy link
Copy Markdown

Problem

The macOS CI workflow (test-macos.yaml) lacks any screen recording or log capture, making test failures difficult to debug. The iOS simulator workflow already captures simulator logs, but the macOS workflow had no equivalent.

Solution

Add native macOS screen recording and filtered system log capture to the macOS test workflow:

New Steps

Step Purpose
Start screen recording screencapture -v captures the desktop during test execution
Start log capture log stream filtered to e2e_app/patrol/Runner processes
Stop screen recording Graceful SIGINT → SIGKILL fallback after tests
Stop log capture Same graceful shutdown pattern
Upload screen recording .mov file uploaded as GitHub Actions artifact
Upload macOS logs Filtered .txt log file uploaded as artifact

Design Decisions

  • Uses macOS-native screencapture -v (no brew dependencies needed)
  • Log stream predicate filters to relevant processes to keep log size manageable
  • Both processes are stopped with SIGINT first (for clean file finalization) then SIGKILL as fallback
  • Follows the same if: always() / artifact upload pattern as existing steps

Files Changed

  • .github/workflows/test-macos.yaml — +44 lines (6 new steps)

Closes #1986

Add screen recording (screencapture -v) and system log capture (log
stream) to the macOS test workflow, mirroring the log capture pattern
used in the iOS simulator workflow.

New steps:
- Start screen recording before tests using macOS native screencapture
- Start log stream filtered to e2e_app/patrol/Runner processes
- Stop both gracefully after tests (SIGINT then SIGKILL fallback)
- Upload screen recording (.mov) as artifact
- Upload filtered macOS logs (.txt) as artifact

This enables visual debugging of macOS CI test failures, which was
previously only possible through xcresult data.

Closes leancodepl#1986
@gemini-code-assist

Copy link
Copy Markdown
Contributor

Note

Gemini is unable to generate a review for this pull request due to the file types involved not being currently supported.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

No screen recording in test-macos.yaml

1 participant