Repository navigation
Conversation
e91e8be to
f6cb0b4
Compare
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## gwdp/simulator-adoption-helpers #4721 +/- ##
==================================================================
Coverage ? 75.79%
==================================================================
Files ? 1068
Lines ? 53155
Branches ? 11582
==================================================================
Hits ? 40285
Misses ? 11885
Partials ? 985 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
3f502e6 to
1f81682
Compare
1f81682 to
c2b6355
Compare
898601a to
0a5906d
Compare
0a5906d to
1e3a842
Compare
87188b1 to
9307a8c
Compare
9307a8c to
70701f6
Compare
e60001e to
6ff790c
Compare
b6589d2 to
41b4a57
Compare
41b4a57 to
89aad4d
Compare
89aad4d to
e696e11
Compare
e696e11 to
4f91df5
Compare
2b11fb7 to
bc10678
Compare
bc10678 to
f35d7c0
Compare
784a161 to
e596740
Compare
e596740 to
5b12930
Compare
5b12930 to
466a321
Compare
466a321 to
e476e84
Compare
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
| const { command, args } = resolvePackageExec( | ||
| resolveConfiguredPackageManager(env, PackageManager.BUN), | ||
| ['@expo/simulator-launcher@latest', 'stop'] | ||
| ); | ||
| await spawn(command, args, { env, stdio: 'pipe', timeout: 150_000 }); |
There was a problem hiding this comment.
🔴 Unpublished launcher blocks macOS jobs
When the worker deploys before the first launcher npm release, maybeStopWarmSimulatorAsync cannot resolve the package. Worker deployment runs on main pushes, while npm publishing requires a version tag. Every macOS job without warm opt-in then fails before setup.
Learn more
The worker starts on macOS for jobs that have not opted into warm Simulator adoption. This code fetches the launcher from npm before creating the build context. Worker deployment happens on main pushes, but npm publishing only happens on version-tag pushes. Because the launcher package was just introduced, the worker can reach production before its first npm publication; the fetch fails and the job never starts.
Example: Merge the launcher and worker changes to main without tagging a release. The worker deploys to a macOS VM, receives an ordinary iOS build, and fails while fetching the unpublished launcher instead of building the app.
Recommended fix: Provide the stop implementation with the deployed worker or install/publish the launcher before deploying workers that require it. Preserve the fail-closed behavior when an active launcher cannot confirm cleanup.
Was this helpful? React with 👍 or 👎 to provide feedback.
There was a problem hiding this comment.
Agreed. This is a release prerequisite, not a code change. The worker stop uses the configured package manager runner, Bun by default (bunx @expo/simulator-launcher@latest stop), by design. @expo/simulator-launcher and @expo/vm-tools are not on npm yet. This stack is source-only and is not approved for deployment. A release must publish these packages before any worker that contains this layer deploys. I am leaving this thread open as that merge and deploy gate.
Edited-by: Codex
|
✅ Thank you for adding a changeset! |
No description provided.