Description
Description
After the March 17, 2026 runner image update (version 20260317.0218.1), NX monorepo commands hang indefinitely on macos-15-xlarge runners.
Specifically, running yarn nx run-many --target=codegen --all — which executes code generation tasks across multiple projects in an NX monorepo — produces zero output, no error messages, and no progress. The process sits completely silent until the GitHub Actions step timeout cancels it after 15-25 minutes, leaving behind orphan Node.js processes that have to be forcefully terminated:
Terminate orphan process: pid (34711) (node)
Terminate orphan process: pid (34700) (node)
The NX command never reaches its initialization phase — it does not print the project list, does not start the task runner, and does not emit any diagnostic output. It appears to hang during the NX daemon startup or project graph computation phase before any task execution begins.
The exact same workflow, same code, and same dependencies complete successfully in ~20 seconds on macos-15-large runners, which are still running the previous March 3 image (20260303.0227.1).
We have temporarily switched from macos-15-xlarge to macos-15-large as a workaround, but this will break once large runners also receive the March 17 image update.
Environment Comparison
|
macos-15-large (Working) |
macos-15-xlarge (Broken) |
| Image Version |
20260303.0227.1 |
20260317.0218.1 |
| macOS |
15.7.4 (24G517) |
15.7.5 (24G617) |
- Runner version: 2.332.0
- NX version: 21.6.5
- Node.js (installed via actions/setup-node): 22.20.0
What We Tried
- Setting
NX_DAEMON=false to disable the NX background daemon — issue persists
- Setting
NX_NO_CLOUD=true to disable remote cache connections — issue persists
- Clearing NX local cache (
rm -rf .nx/cache .nx/d) before running — issue persists
- Running with
NX_VERBOSE_LOGGING=true — no additional output produced (process hangs before any logging occurs)
Additional Notes
- The issue is 100% reproducible: every build on
macos-15-xlarge (March 17 image) hangs at the NX step, while every build on macos-15-large (March 3 image) succeeds.
- This is blocking our CI/CD pipeline for mobile builds.
Platforms affected
Runner images affected
Image version and build link
Image Version: 20260317.0218.1
Is it regression?
No
Expected behavior
Expected Behavior
On macos-15-xlarge (image 20260317.0218.1), the codegen step should complete in ~20 seconds, same as it did before the March 17 image update:
$ yarn nx run-many --target=codegen --all
NX Running target codegen for 7 projects:
project-a
project-b
project-c
project-d
project-e
project-f
project-g
NX Successfully ran target codegen for 7 projects
Done in 19.50s.
Actual behavior
Actual Behavior
On macos-15-xlarge (image 20260317.0218.1), the codegen step hangs with zero output for hours until the step timeout cancels it:
$ yarn nx run-many --target=codegen --all
<--- no output at all, completely silent
<--- hangs for 15-25 minutes
##[error]The operation was canceled.
Post-job cleanup reveals orphan Node.js processes that were stuck:
Cleaning up orphan processes
Terminate orphan process: pid (34711) (node)
Terminate orphan process: pid (34700) (node)
Repro steps
Repro Steps
- Create a GitHub Actions workflow that runs on
macos-15-xlarge (which currently has image 20260317.0218.1)
- Use
actions/checkout@v4 to checkout a monorepo using NX (version 21.6.5)
- Install Node.js 22.x via
actions/setup-node@v3
- Install dependencies via
yarn install
- Run
yarn nx run-many --target=codegen --all
- The NX command will hang indefinitely with zero output — no project list, no errors, no progress
- After 6 hours the step will be cancelled by the workflow timeout
- Post-job cleanup will show orphan Node.js processes being terminated
To verify it's the image: Run the exact same workflow on macos-15-large (still on image 20260303.0227.1) — codegen completes successfully in ~20 seconds.
Description
Description
After the March 17, 2026 runner image update (version
20260317.0218.1), NX monorepo commands hang indefinitely onmacos-15-xlargerunners.Specifically, running
yarn nx run-many --target=codegen --all— which executes code generation tasks across multiple projects in an NX monorepo — produces zero output, no error messages, and no progress. The process sits completely silent until the GitHub Actions step timeout cancels it after 15-25 minutes, leaving behind orphan Node.js processes that have to be forcefully terminated:Terminate orphan process: pid (34711) (node)
Terminate orphan process: pid (34700) (node)
The NX command never reaches its initialization phase — it does not print the project list, does not start the task runner, and does not emit any diagnostic output. It appears to hang during the NX daemon startup or project graph computation phase before any task execution begins.
The exact same workflow, same code, and same dependencies complete successfully in ~20 seconds on
macos-15-largerunners, which are still running the previous March 3 image (20260303.0227.1).We have temporarily switched from
macos-15-xlargetomacos-15-largeas a workaround, but this will break oncelargerunners also receive the March 17 image update.Environment Comparison
20260303.0227.120260317.0218.1What We Tried
NX_DAEMON=falseto disable the NX background daemon — issue persistsNX_NO_CLOUD=trueto disable remote cache connections — issue persistsrm -rf .nx/cache .nx/d) before running — issue persistsNX_VERBOSE_LOGGING=true— no additional output produced (process hangs before any logging occurs)Additional Notes
macos-15-xlarge(March 17 image) hangs at the NX step, while every build onmacos-15-large(March 3 image) succeeds.Platforms affected
Runner images affected
Image version and build link
Image Version: 20260317.0218.1
Is it regression?
No
Expected behavior
Expected Behavior
On
macos-15-xlarge(image20260317.0218.1), the codegen step should complete in ~20 seconds, same as it did before the March 17 image update:$ yarn nx run-many --target=codegen --all
NX Running target codegen for 7 projects:
project-a
project-b
project-c
project-d
project-e
project-f
project-g
NX Successfully ran target codegen for 7 projects
Done in 19.50s.
Actual behavior
Actual Behavior
On
macos-15-xlarge(image20260317.0218.1), the codegen step hangs with zero output for hours until the step timeout cancels it:$ yarn nx run-many --target=codegen --all
<--- no output at all, completely silent
<--- hangs for 15-25 minutes
##[error]The operation was canceled.
Post-job cleanup reveals orphan Node.js processes that were stuck:
Cleaning up orphan processes
Terminate orphan process: pid (34711) (node)
Terminate orphan process: pid (34700) (node)
Repro steps
Repro Steps
macos-15-xlarge(which currently has image20260317.0218.1)actions/checkout@v4to checkout a monorepo using NX (version 21.6.5)actions/setup-node@v3yarn installyarn nx run-many --target=codegen --allTo verify it's the image: Run the exact same workflow on
macos-15-large(still on image20260303.0227.1) — codegen completes successfully in ~20 seconds.