Skip to content

[CI] Enable audio tests in Firefox #23701

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 10 commits into from
Feb 24, 2025
Merged
Changes from 9 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 11 additions & 2 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -353,15 +353,26 @@ commands:
command: |
wget -O ~/ff.tar.bz2 "https://download.mozilla.org/?product=firefox-nightly-latest-ssl&os=linux64&lang=en-US"
tar -C ~ -xf ~/ff.tar.bz2
- run:
name: Add audio dependencies
command: |
# This should add and start PulseAudio's dummy mixer. It will warn
# that "This program is not intended to be run as root" but it can
# be ignored.
apt-get update -y; true
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why ; true there? Does apt-get update fail for some reason?

Copy link
Contributor Author

@cwoffenden cwoffenden Feb 24, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, it's just in case it fails. The install is the important one, which if that fails then the test will definitely fail, so I was trying to reduce any flakiness.

(And the install failing depends on how old the image is. Install without an update currently fails on CircleCI due to the package URLs being out of date, but doesn't on my Debian VM.)

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think that should be necessary.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removed.

apt-get install -q -y pulseaudio
pulseaudio --start
- run:
name: configure firefox
command: |
# Note: the autoplay pref allows playback without user interaction
mkdir ~/tmp-firefox-profile/
cat > ~/tmp-firefox-profile/user.js \<<EOF
user_pref("gfx.offscreencanvas.enabled", true);
user_pref("javascript.options.shared_memory", true);
user_pref("javascript.options.wasm_memory64", true);
user_pref("dom.postMessage.sharedArrayBuffer.bypassCOOP_COEP.insecure.enabled", true);
user_pref("media.autoplay.default", 0);
EOF
- run:
name: run tests (<< parameters.title >>)
Expand All @@ -371,8 +382,6 @@ commands:
# support in headless mode) resolves
EMTEST_LACKS_GRAPHICS_HARDWARE: "1"
EMTEST_LACKS_WEBGPU: "1"
# TODO: replicate with FF the same as CHROME_FLAGS_AUDIO
EMTEST_LACKS_SOUND_HARDWARE: "1"
# OffscreenCanvas support is not yet done in Firefox.
EMTEST_LACKS_OFFSCREEN_CANVAS: "1"
EMTEST_DETECT_TEMPFILE_LEAKS: "0"
Expand Down