Repository navigation
Mac: DerivedData and simulator devices on the scratch drive - #709
Conversation
… there, with what CoreSimulator needs first mac-setup sets Xcode's IDECustomDerivedDataLocation from ~/.config/mac-setup/deriveddata when its disk is mounted. The README records the simulator move (a symlink to the scratch drive), the two one-time steps at the Mac it depends on (volume ownership and Full Disk Access for CoreSimulatorService), and how to move and verify it.
|
Warning Review limit reachedYou've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Next included review available in 59 minutes. View limit details
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
@codex security review |
|
@coderabbitai review |
|
@greptileai review |
|
🛡️ Codex Security ReviewSecurity review completed. No security issues were found in this pull request. Reviewed commit: Only the user who started this review can view the report in Codex. ℹ️ About Codex security reviews in GitHubThis is an experimental Codex feature. Security reviews are triggered when:
Once complete, Codex will leave suggestions, or a comment if no findings are found. |
|
Independent HIGH code/security review and exact-head Codex code/security reviews pass at 59e6e8d. Required CI passed; no unresolved review threads. CodeRabbit is quota-limited and Greptile did not respond; neither is counted as an approval. Read-only verification through the established ARM → Mac route confirms the configured path and Xcode preference are both /Volumes/Scratch/DerivedData on a mounted, writable APFS volume. CoreSimulator/Devices already points to the writable scratch destination. No installer, simulator move, service restart or device launch is needed. Merging records the working setup. |
|
The combined deployment is complete at e4e019d. Terraform apply succeeded, followed by a full 2,524-resource plan with exit 0 / no changes. Read-only Mac checks confirmed both the configured DerivedData path and Xcode preference point to the mounted, writable scratch volume, and the existing simulator symlink points to its writable scratch destination. The live setup already matched this change; no installer or simulator move was required. |
The Mac's internal disk kept dropping under the 12 GB floor builds need. Builds already write to the scratch drive, but Xcode's DerivedData and the simulator devices did not.
scripts/mac/install.zsh: when~/.config/mac-setup/deriveddatanames a folder on a mounted disk, set Xcode'sIDECustomDerivedDataLocationto it, so everyxcodebuildwithout-derivedDataPathbuilds there. With no file, or the drive unplugged, nothing changes (a warning names the unmounted path).README.md("MacBook: The scratch drive"): documents the DerivedData setting and the simulator devices now living on the drive behind a symlink: the two one-time steps at the Mac CoreSimulator needs first (volume ownership on, and Full Disk Access forCoreSimulatorService), how to check the drive with a throwaway device set, and how to move and verify a device set.Already applied on the owner's Mac by hand (the README states what it now has): the DerivedData setting, the managed
TMPDIRblock from main'smac-setup.sh, and the simulator move (72 GB; free space on the internal disk 18 GB → 88 GB; 42 devices listed before and after; a throwaway device created and booted through the symlink).Not covered by an automated test: the install step needs macOS
defaults; it was exercised by setting the same default by hand on the Mac.