"Generate PGO data" fails intermittently when a VB-Cable / VAC endpoint isn't enumerable at the moment FreeDV starts a UT: FreeDV pops a fatal "device cannot be found" message box and aborts. The old "Start Windows Audio Service" step only polled WMI Win32_SoundDevice (driver nodes, not the MMDevice endpoints FreeDV uses), had an operator-precedence bug in its until-condition ((A -and B) -or C), ran once minutes before the test, and never checked the specific endpoints the job needs. * ci/Wait-AudioDevices.ps1: restarts AudioEndpointBuilder/audiosrv and polls "Get-AudioDevice -List" (the active-endpoint surface FreeDV actually enumerates) until every required playback/recording endpoint is present, nudging the audio stack again halfway through and dumping full diagnostics before failing on timeout. * ci/Invoke-PgoProfileCollection.ps1: runs the endpoint wait + GeneratePGOProfiles.ps1 and retries the whole thing up to 3x, since an endpoint can also drop mid-run right after SoX releases the capture device. Partial .profraw files are cleared between attempts. * collect-pgo-profile now calls these; the Generate PGO data timeout goes 10 -> 25 min to cover the retries. * GeneratePGOProfiles.ps1: best-effort wait for the endpoints before each of the TX and RX passes. The identical "Start Windows Audio Service" step in the test job is left as-is here; this change is scoped to collect-pgo-profile. Claude-Session: https://claude.ai/code/session_01AYJXLpaEyPTsegX93QzE1a Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| Install-Driver.ps1 | ||
| Invoke-PgoProfileCollection.ps1 | ||
| Wait-AudioDevices.ps1 | ||
| macos-kill-resource-hogs.sh | ||
| macos-set-mic-permissions.sh | ||
| vbcable.cer | ||