freedv-gui/ci
Mooneer Salem 1665b53ef7
CI (Windows): make collect-pgo-profile wait for real audio endpoints (#1483)
"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>
2026-09-07 23:57:12 -07:00
..
Install-Driver.ps1 Windows: Fix test failures (#1300) 2026-04-23 10:58:10 -07:00
Invoke-PgoProfileCollection.ps1 CI (Windows): make collect-pgo-profile wait for real audio endpoints (#1483) 2026-09-07 23:57:12 -07:00
Wait-AudioDevices.ps1 CI (Windows): make collect-pgo-profile wait for real audio endpoints (#1483) 2026-09-07 23:57:12 -07:00
macos-kill-resource-hogs.sh CI and GitHub cleanup. (#1271) 2026-03-28 23:57:21 -07:00
macos-set-mic-permissions.sh CI and GitHub cleanup. (#1271) 2026-03-28 23:57:21 -07:00
vbcable.cer Reenable Windows on ARM builds for FreeDV. (#1297) 2026-04-20 22:23:19 -07:00