Split 16k-line mega test file, bump CI timeout, stream xcodebuild output (#1717)

CmuxWebViewKeyEquivalentTests.swift grew to 15,907 lines with 100+ test classes.
Swift compiles per-file, so this single file serialized all type-checking onto one
compiler process, pushing CI past the 20-minute timeout after core-file changes.

Split into 10 domain-based files (1k-3k lines each) so Xcode can compile them in
parallel. Also bump timeout-minutes from 20 to 30 for headroom, stream xcodebuild
output via tee instead of capturing to a variable (makes CI logs debuggable), and
add 5 test files that were missing from the pbxproj Sources build phase.

Co-authored-by: Lawrence Chen <lawrencecchen@users.noreply.github.com>
This commit is contained in:
Lawrence Chen 2026-03-18 01:17:25 -07:00 committed by GitHub
parent 33d21ea19e
commit ac83af62ae
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
13 changed files with 16227 additions and 15919 deletions

View file

@ -15,11 +15,11 @@ jobs:
matrix:
include:
- os: warp-macos-15-arm64-6x
timeout: 20
timeout: 30
smoke: true
skip_zig: false
- os: warp-macos-26-arm64-6x
timeout: 20
timeout: 30
smoke: false
skip_zig: true # zig 0.15.2 MachO linker can't resolve libSystem on macOS 26
runs-on: ${{ matrix.os }}
@ -133,8 +133,9 @@ jobs:
}
set +e
OUTPUT=$(run_unit_tests)
EXIT_CODE=$?
run_unit_tests | tee /tmp/test-output.txt
EXIT_CODE=${PIPESTATUS[0]}
OUTPUT=$(cat /tmp/test-output.txt)
set -e
# SwiftPM binary artifact resolution can occasionally fail on ephemeral
@ -145,12 +146,12 @@ jobs:
mkdir -p ~/Library/Caches/org.swift.swiftpm
rm -rf ~/Library/Developer/Xcode/DerivedData/GhosttyTabs-*
set +e
OUTPUT=$(run_unit_tests)
EXIT_CODE=$?
run_unit_tests | tee /tmp/test-output.txt
EXIT_CODE=${PIPESTATUS[0]}
OUTPUT=$(cat /tmp/test-output.txt)
set -e
fi
echo "$OUTPUT"
if [ "$EXIT_CODE" -ne 0 ]; then
SUMMARY=$(echo "$OUTPUT" | grep "Executed.*tests.*with.*failures" | tail -1)
if echo "$SUMMARY" | grep -q "(0 unexpected)"; then