Skip to content

Add Harness-managed cache for iOS simulator XCTest artifacts#109

Merged
V3RON merged 4 commits intomainfrom
issue-108-xctest-cache
May 5, 2026
Merged

Add Harness-managed cache for iOS simulator XCTest artifacts#109
V3RON merged 4 commits intomainfrom
issue-108-xctest-cache

Conversation

@V3RON
Copy link
Copy Markdown
Contributor

@V3RON V3RON commented Apr 30, 2026

Summary

Add a Harness-owned XCTest cache root under .harness/cache, where each reusable artifact lives in its own unique subdirectory with a local cache.json manifest.

Context

The iOS XCTest agent now discovers reusable simulator artifacts by scanning direct children of .harness/cache, validating each directory's cache.json, and selecting only artifacts whose build input hash, Xcode version, simulator SDK/runtime, host architecture, and generated .xctestrun metadata match the current environment. Compatible simulator artifacts are reused from their own unique cache directory, while incompatible ones are ignored and a new unique cache directory is created for the rebuilt artifact. Logs remain separate under .harness/logs.

The iOS E2E workflow now restores and saves the full .harness/cache root, and the cache key hashes all direct child cache.json files via hashFiles('apps/playground/.harness/cache/*/cache.json').

Fixes #108

Proposed Testing Scenario

Run the platform iOS test suite locally to verify cache discovery, rebuild, and reuse behavior. Then run the iOS E2E workflow twice on the same Xcode family to confirm a previously generated simulator artifact directory under .harness/cache is restored and reused, and repeat with a changed simulator runtime or Xcode version to confirm Harness skips incompatible directories and rebuilds into a new unique cache subdirectory.

@vercel
Copy link
Copy Markdown

vercel Bot commented Apr 30, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
react-native-harness Ready Ready Preview, Comment May 4, 2026 3:17pm

Request Review

@V3RON V3RON merged commit 30a8f50 into main May 5, 2026
11 checks passed
@V3RON V3RON deleted the issue-108-xctest-cache branch May 5, 2026 06:45
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.

Add Harness-managed cache for iOS simulator XCTest artifacts

1 participant