Troubleshooting a mingw32-make hang

I’m trying to use gitlab runner to produce windows C++ builds on a windows vm using Qt’s mingw32-make, powershell executor.

The build process when run in powershell manually works without issue.
If I use exactly the same commands in a cicd pipeline, the build hangs at a specific point - mingw32-make finishes a subdirectory, prints that it’s leaving the subdirectory, and never advances to the next command. CPU usage stops, the CICD job stays in progress forever. No error logs are printed, no events appear in windows event viewer, etc. The build halts at exactly this point reliably.

The Path and Path ordering between the manually-run build and the runner-run build are functionally identical, I’ve checked this. I’ve checked that the commands being executed during the build are all 100% identical. I’ve tried powershell 5 and powershell 7(pwsh) - no difference. I’ve tried running the manual build as the system account, that’s still fine.

At this point I tried running gitlab-runner in a shell with --debug, and this doesn’t halt. Great - but I still don’t know why it doesn’t work when run as a service.

I appreciate that this could well be a problem specific to mingw32-make, but since the build runs fine manually and only freezes during the cicd job executed as a service, I’m hoping I might find some more troubleshooting steps here, or anything about the difference in execution environments that might cause this behaviour.

I had EZSignIt in the pipeline, and EZSignIt has a first-time eula dialog that wasn’t getting displayed when run in the pipeline. Ran it manually as the local system account and accepted the dialog.