Skip to content

[worker] run device run session jobs - #4414

Draft
szdziedzic wants to merge 1 commit into
szdziedzic-claude/eas-simulator-job-runnerfrom
szdziedzic-claude/eas-simulator-job-worker
Draft

szdziedzic wants to merge 1 commit into
szdziedzic-claude/eas-simulator-job-runnerfrom
szdziedzic-claude/eas-simulator-job-worker

Conversation

@szdziedzic

@szdziedzic szdziedzic commented Sep 15, 2026

Copy link
Copy Markdown
Contributor

Why

Last PR of the stack (#4412 schema, #4413 runner). The worker has to recognize DeviceRunSession.Job payloads and hand them to the runner instead of the steps engine.

How

  • build.ts: in the platform-less branch, a job with type === 'device-run-session' runs through runDeviceRunSessionJobAsync; everything else keeps using runGenericJobAsync. The runner validates the payload and rejects with the error to report on the job run.
  • external/turtle.ts: the jobRun dispatch message may carry Generic.Job | DeviceRunSession.Job.
  • service.ts: the Sentry workflow tag is only set for build jobs; session jobs get a jobType tag instead, since type means something different on them.

Nothing changes for build jobs or generic jobs. The orchestrator passes the payload through unchanged, so no change is needed there.

Rollout note: the API server must not send DeviceRunSession.Job payloads before the production worker includes this change. An old worker would take the generic branch and fail on the missing steps, which errors the session loudly rather than hanging. The universe PR that starts sending the payload (admin sessions first) is gated on this deploy.

Test Plan

  • New unit test: session jobs go to the runner, generic jobs still go to the steps runner, and a runner error propagates so the job run is reported as errored.
  • Existing worker unit tests pass (12 suites).
  • yarn typecheck, yarn lint, yarn fmt:check pass.

🤖 Generated with Claude Code

@szdziedzic
szdziedzic added this pull request to stack #4415 September 15, 2026 19:45
@szdziedzic
szdziedzic force-pushed the szdziedzic-claude/eas-simulator-job-worker branch from f1be515 to 7a78c07 Compare September 15, 2026 19:47
@github-actions

Copy link
Copy Markdown

✅ Thank you for adding the changelog entry!

@codecov

codecov Bot commented Sep 15, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 75.00000% with 1 line in your changes missing coverage. Please review.
✅ Project coverage is 72.39%. Comparing base (5273662) to head (7a78c07).

Files with missing lines Patch % Lines
packages/worker/src/service.ts 0.00% 1 Missing ⚠️
Additional details and impacted files
@@                              Coverage Diff                               @@
##           szdziedzic-claude/eas-simulator-job-runner    #4414      +/-   ##
==============================================================================
- Coverage                                       72.41%   72.39%   -0.01%     
==============================================================================
  Files                                             986      987       +1     
  Lines                                           46678    46747      +69     
  Branches                                         9997    10013      +16     
==============================================================================
+ Hits                                            33796    33838      +42     
- Misses                                          11882    11905      +23     
- Partials                                         1000     1004       +4     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

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.

1 participant