Steps to replicate the issue (include links if applicable):
- Obtain a MacBook Pro M1 machine
- Run ./pixel.js reference and ./pixel.js test
- Obtain a computer that doesn't have a arm64 chipset.
- Run ./pixel.js reference and ./pixel.js test
What happens?:
The non-arm64 report and arm64 reports contain images that are very similar.
What should have happened instead?:
The non-arm64 report and arm64 reports contain images that are very different.
For example, arm64 has images that span the height of the page, while the non-arm64 images are limited to the viewport's height:
Developer notes
I believe the cause of this bug is a result of Pixel installing its own chromium version for arm64 devices. Puppeteer only supports a very specific version of chromium, but does not bundle that version for puppeteer running inside a debian Docker container running on arm64, so we install our own unsupported version. This version has drifted from the required version and produces images that are very different as a result.