Skip to content

Latest commit

 

History

History
79 lines (54 loc) · 2.12 KB

File metadata and controls

79 lines (54 loc) · 2.12 KB

Demo: Remote Swift Dev Loop

This walkthrough shows the complete worker-side loop: edit Swift, trigger a remote Revyl build, reinstall into the same cloud simulator, and validate the visible result.

Revyl remote Swift dev loop

Video file: assets/remote-devloop-iteration.mp4

What The Video Shows

  • The Revyl CLI runs on the worker.
  • The worker edits Swift source in this repo.
  • revyl dev --remote packages the current working tree and sends it to a Revyl Mac build runner.
  • Xcode builds the iOS simulator app on the Mac runner.
  • Revyl reinstalls the rebuilt app into the same cloud simulator session.
  • revyl device screenshot and revyl device instruction validate the visible result.

Commands Shown

Start the remote loop from this repo:

revyl dev --context remote-feature --remote --platform ios --build --no-open

Edit Swift source on the worker:

$EDITOR SwiftMinimal/ContentView.swift

Trigger a remote rebuild and reinstall into the same simulator:

revyl dev rebuild --context remote-feature --wait --json

Capture the simulator after the reinstall:

revyl dev use remote-feature
revyl device screenshot --out /tmp/revyl-feature.png

Validate the visible result:

revyl device instruction "Verify that the Build Marker value on screen is revyl-remote-build-v2."

Inspect loop state:

revyl dev status --context remote-feature --json

Stop the loop when finished:

revyl dev stop --context remote-feature

Captured Run

The recorded pass changed SwiftMinimal/ContentView.swift so the visible build marker moved from revyl-remote-build-v1 to revyl-remote-build-v2.

Observed rebuild result:

{
  "status": "success",
  "duration_ms": 32377,
  "build_duration_ms": 28098,
  "push_mode": "full",
  "push_duration_ms": 2736
}

V1 uses full artifact reinstall after the remote build. Fast rebuilds come from the sticky Mac runner workspace and warm Xcode caches. File-level binary patching is a later optimization.