Verify the device before you start
Claim the one-time delivery details, verify the region, address, and host fingerprint, update the initial password, and save a local verification record.
This is not a conceptual overview but an actionable path you can follow step by step. First verify the identity and secure settings of your dedicated physical node, then prepare Xcode, signing materials, and automation tasks. When issues arise, collect network output and build logs consistently.
Enter a command, tool, or symptom, such as “host fingerprint,” “Archive,” “DNS,” or “password.” You can also narrow results by topic. Filters affect only the guide cards below; they do not hide complete instruction sections.
Claim the one-time delivery details, verify the region, address, and host fingerprint, update the initial password, and save a local verification record.
Confirm the Xcode and command-line tool paths, isolate the signing keychain, and separate source, cache, archive, and export directories.
Pin the code version, restore the cache, load signing assets, archive, export artifacts, then perform machine-readable checks on files and logs.
Check connectivity, routing, resolution, and the target port separately. Do not substitute a single ping or truncated log for complete diagnostic material.
Change the password on first login, lock the graphical session before leaving remotely, and remove keys, tokens, and signing materials before submitting a ticket.
Try shorter keywords or switch to “All.” If the issue concerns a specific order or node, sign in to the console and submit a ticket with the time and complete logs.
RunnerVM delivers a dedicated physical Mac mini, not a virtual machine. The priority on first access is not running commands quickly, but confirming that you are connected to the device assigned to your order and replacing the initial access method with your team’s secure settings.
Verify the order ID, node region, connection address, SSH port, VNC parameters, and initial username. Do not forward complete credentials in chat; for team collaboration, share only the fields required by the actual operator.
Compare the host fingerprint shown in the console character by character with the first SSH prompt. If the algorithm or digest differs, stop connecting and submit a ticket. Do not bypass the issue by deleting the local known_hosts entry.
Connect using the host, port, and username provided with the order. After signing in, first run sw_vers,uname -m and hostname, then record the system version, Apple Silicon architecture, and device name in the delivery record.
Enter the address, port, and password shown in the console in your local VNC client. For the first connection, use the default resolution to verify the keyboard, pointer, and window scaling. Increase the display size only after confirming session stability.
Change the initial password immediately, check SSH keys and administrator privileges, and retain only the access required for the task. Then reconnect through SSH and VNC to confirm the new credentials before importing the project or signing materials.
The sequence below shows typical SSH, xcodebuild, and fastlane output. Replace the host, workspace, Scheme, export configuration, and lane with your project’s actual values; do not copy these commands and assume they fit every repository.
$ ssh -p 22 runner@10.0.0.12
Host key fingerprint: SHA256:…
$ sw_vers
ProductName: macOS
$ uname -m
arm64
$ xcodebuild archive \
-workspace RunnerApp.xcworkspace \
-scheme RunnerApp \
-archivePath build/RunnerApp.xcarchive
** ARCHIVE SUCCEEDED **
$ bundle exec fastlane ios build
[08:42:16]: Resolving signing settings
[08:43:02]: Archive completed
[08:43:11]: Export verified
[08:43:11]: fastlane finished successfully
Environment issues are usually not about whether Xcode opens, but whether the GUI selection, command-line path, project settings, and signing context are aligned. Check them in the order below to distinguish toolchain issues from project issues more quickly.
Run xcodebuild -version and xcode-select -p. If multiple versions are installed on the node, identify the project requirement first, then switch the developer directory to prevent the GUI and automation tasks from using different versions.
Run xcrun --find xcodebuild,xcrun simctl list and one unsigned project resolution. If a tool is missing or the SDK list is abnormal, repair the toolchain first rather than modifying project files.
Place certificates used by automation in a separate keychain, with explicit unlock steps and minimal access. Never write passwords to the repository, script arguments, or build logs.
Record the certificate name, validity period, team identifier, and provisioning profile UUID, and confirm that the Bundle Identifier matches the target configuration. After importing, use security find-identity -v -p codesigning to verify available identities.
Separate source, dependency caches, DerivedData, Archive, Export, and logs. Use a unique archive path for every task; shared caches should contain only reproducible content, never signing materials.
The goal of automation is not to move a local script to a remote host, but to make inputs, environment, signing, and outputs reproducible. Each stage should produce a clear record so failures can be traced to a specific step.
Use a commit hash or protected tag rather than a branch head that may move. Record submodule versions, Git LFS status, and repository cleanliness.
git checkout --detach <commit>
Cache keys should include at least the lockfile digest, tool versions, and architecture. On a cache miss, install normally; do not treat a required cache hit as a build-success condition.
bundle check || bundle install
Unlock the task-specific keychain, import the matching provisioning profiles, and verify available signing identities. Never write keys or passwords to standard output.
security find-identity -v -p codesigning
Explicitly specify the workspace, Scheme, Configuration, Destination, and archive path. Save the complete log and the xcodebuild exit code.
xcodebuild archive …
Keep export configuration under version control, without secrets. Separate the export and archive directories to prevent reruns from overwriting the original xcarchive.
xcodebuild -exportArchive …
Check file existence, size, digest, signing information, and task exit code. Associate the artifact ID with the commit, Xcode version, and log path.
shasum -a 256 build-output
A remote desktop is useful for initial graphical setup, checking Xcode UI state, and tasks requiring visual confirmation. Build continuity should not depend on whether the local VNC window stays connected.
Use exactly the address, port, username, and password shown in the console. If the client supports connection profiles, do not write the password to a synchronized plaintext file.
Use the default size for the first connection. After stable interaction is confirmed, increase the resolution gradually. If input lags, lower color depth and display size first, then check the network path.
Lock the graphical session before leaving the device; closing the VNC client is not a substitute for locking the screen. When team shifts change, revoke access that is no longer needed.
Persistent builds should run in a CI runner, launchd, tmux, or another recoverable session. Perform one deliberate disconnect test first to confirm that the task and logs continue writing.
Confirm the order region, device name, and currently logged-in user.
Do not rely only on screen output to determine whether the build is still running.
After disconnecting, use SSH to check processes, log growth, and exit status.
Remove temporary public keys, one-time files, and credentials no longer needed.
Network issues require knowing where the request originated, when it occurred, which target was accessed, and the complete output received. A single screenshot or “the connection is slow” cannot distinguish local networking, cross-region routing, DNS, port policies, and target-service status.
Send a fixed number of packets and retain the minimum, average, and maximum latency plus packet-loss rate. Do not use one response to represent the quality of the entire connection.
ping -c 20 target-host
Run it from the source network where the issue occurs and retain every hop. A nonresponsive intermediate node does not necessarily mean the link is down; also check whether the final target is reachable.
traceroute target-host
Record the current DNS server, returned addresses, and query time. If results differ across networks, submit both outputs; do not rewrite them manually.
dig target-host
Test the SSH port or the port actually used by the project separately. A successful connection proves only that TCP is reachable, not that authentication or the higher-level protocol has completed.
nc -vz target-host 22
Remove passwords, private keys, tokens, and business data before submitting, but do not delete timestamps, error codes, route hops, or command parameters.
Pre-sales questions, general inquiries, and explanations unrelated to a specific order can be sent by email. For node, build, connection, or billing issues, sign in to the console and submit a ticket so it can be linked to the order and tracked continuously.
Choose a path for first connection, environment setup, automation, or network troubleshooting. Record the steps, commands, results, and point where the issue first appeared.
Provide the order ID, node region, issue time, reproduction steps, expected result, actual result, and complete redacted logs. For build issues, also state the commit and Xcode version.
Choose the closest issue category and submit logs as attachments or code blocks in the body. Keep one issue per ticket; do not combine network, build, and billing problems in one record.
After retesting, reply to the original ticket with the new time, commands, and output. Check urgent-event status through the console as well; do not create multiple duplicate tickets.
Best for connection failures, node issues, build environments, billing verification, and matters requiring continued follow-up. Tickets can be linked to an order and retain the complete handling timeline.
Suitable for pre-sales selection, process confirmation, security reports, and explanations not tied to a node. State the issue category in the subject and avoid passwords or keys in the body.
The contact page lists required information for pre-sales, technical, billing, and security matters, making it useful for checking that your materials are complete before emailing.
The answers below help distinguish device delivery, connection methods, build tasks, and support materials, reducing repeated attempts in the wrong direction.
No. Each order corresponds to a dedicated physical Mac mini node with the Runner M4 specification: Mac Mini M4, 16GB RAM, 256GB SSD. Remote access is only the access method; it does not turn the service into a shared virtual resource.
It depends on how the task was started. CI runners, launchd, tmux, and independent background processes typically do not depend on the VNC window; interactive tasks bound to the graphical session may be affected by session state. Before production use, disconnect once deliberately and check the process, logs, and exit status.
Prepare working SSH and VNC clients, your team’s credential-storage method, the Xcode version required by the project, a signing-material checklist, and a secrets-management process that does not write secrets to the repository. After claiming delivery details, verify the host fingerprint and device identity first.
No, not automatically. Runner M4 orders are available by day, week, month, or quarter; the order cycle and processing status are determined by the console record. To verify a specific order, submit a ticket linked to it in the console.
First export the archives, artifacts, and redacted logs you need to retain. Then clean the source workspace, temporary signing keychain, provisioning profiles, temporary public keys, access tokens, and sensitive information in project caches. Do not leave plaintext credentials in shell history or script arguments.
First test latency and routing to the target region from your actual office network or CI source, then consider your team’s time zone and artifact-transfer direction. Runner M4 can be ordered in Singapore, Tokyo, Seoul, Hong Kong, and the US East Coast; actual availability is returned in real time by the console.
Choose Runner M4 and a target region. After placing your order, follow this page to verify the connection, prepare the toolchain, and run your first repeatable build task.