Update DDEV config to have stable chrome version, and stable font rendering for consistent UI tests #23380
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
[DO NOT MERGE]
Description
There are currently inconsistencies between the UI test results in CI and those run locally in DDEV — particularly around font rendering (e.g., anti-aliasing, subpixel differences).
This change addresses two key issues:
Font rendering parity
It introduces system-level fontconfig settings to ensure consistent anti-aliasing and subpixel rendering between CI and DDEV.
Consistent Chromium version
It forces the use of Puppeteer v8’s bundled Chromium (revision 856583), which matches what CI runs.
Additionally, this update sets the architecture to
linux/amd64to ensure Puppeteer can install and run the correct Chromium binary. Newer versions of Puppeteer supportarm64, but v8 does not.For Apple Silicon Users
If you're using a Mac with Apple Silicon (M1/M2):
Known Issue: Node Architecture Mismatch
On Apple Silicon, Docker may pull a version of Node.js that does not match the forced
amd64platform. If Puppeteer fails to run or Chromium won’t launch, run the following inside the container:This installs an amd64-compatible Node.js build that matches the Puppeteer/Chromium environment.
Notes
Some UI tests still fail, but font rendering is now significantly more consistent across environments.
This lays the groundwork for further snapshot cleanup or visual regression stabilization.
Review