-
Notifications
You must be signed in to change notification settings - Fork 3.7k
Description
Description
GitHub Actions macOS runners intermittently fail to initialize the Null Audio Device on startup, causing Web Audio API operations in Safari to fail with kAudioQueueErr_InvalidDevice (-66680). This breaks E2E tests that rely on browser audio capabilities.
Impact
- E2E tests using Web Audio API fail intermittently (audio playback validation, WebRTC testing, etc.)
- All-or-nothing failure pattern: When audio device is missing, ALL tests requiring audio fail in that workflow run
- Unpredictable CI/CD: Same test suite passes or fails based on runner state, not code changes
- Wasted compute time: Tests run to completion before discovering audio unavailability
Platforms affected
- Azure DevOps
- GitHub Actions - Standard Runners
- GitHub Actions - Larger Runners
Runner images affected
- Ubuntu 22.04
- Ubuntu 24.04
- Ubuntu Slim
- macOS 14
- macOS 14 Arm64
- macOS 15
- macOS 15 Arm64
- macOS 26
- macOS 26 Arm64
- Windows Server 2022
- Windows Server 2025
- Windows Server 2025 with Visual Studio 2026
Image version and build link
Runner Image
Image: macos-15
Version: 20260209.0153.1
Included Software: https://github.com/actions/runner-images/blob/macos-15/20260209.0153/images/macos/macos-15-Readme.md
Image Release: https://github.com/actions/runner-images/releases/tag/macos-15%2F20260209.0153
Is it regression?
Unsure, issue in some form present since at least Oct 7, 2025
Expected behavior
The macOS Null Audio Device should be initialised and available when the runner starts, allowing applications and browsers to use audio capabilities (including Web Audio API) without additional configuration.
Expected output from system_profiler SPAudioDataType:
Audio:
Devices:
Null Audio Device:
Default Input Device: Yes
Default Output Device: Yes
Default System Output Device: Yes
Input Channels: 2
Manufacturer: Apple Inc.
Output Channels: 2
Current SampleRate: 44100
Transport: Virtual
Actual behavior
On a significant percentage of workflow runs, the Null Audio Device is not initialised, leaving no audio devices available on the system.
Actual output from system_profiler SPAudioDataType:
Audio:
Devices:
Repro steps
name: Reproduce Audio Device Issue
on: [push, workflow_dispatch]
jobs:
test-audio:
runs-on: macos-15-large
steps:
- name: Check Audio Devices
run: |
echo "=== Checking for audio devices ==="
system_profiler SPAudioDataType
echo ""
echo "=== Testing audio playback ==="
# Create a test audio file
ffmpeg -f lavfi -i "sine=frequency=440:duration=1" -ar 48000 test.wav
# Try to play it
afplay test.wav || echo "ERROR: afplay failed"
rm -f test.wav
- name: Verify Null Audio Device Exists
run: |
if ! system_profiler SPAudioDataType | grep -q "Null Audio Device"; then
echo "FAIL: Null Audio Device not found"
exit 1
else
echo "PASS: Null Audio Device exists"
fi
Expected: Test passes consistently
Actual: Test fails intermittently (~30% fail rate) with no Null Audio Device found