I modified a Puppeteer Chrome config in our .pallyci configs based on an example I found at https://opensource.com/article/23/2/automated-accessibility-testing and it seemed to make a difference in the reliability of Pa11y. I also boosted the concurrency and used npm ci instead of npm install so the package-lock checksum–based cache actually works.
It seems the real solution here is adding the --no-sandbox flag for Chrome in Puppeteer. This disables some sandbox security in Chrome, but this is not relevant in our case since we're running this only on known localhost files and only in a Docker container in a CI instance.
I modified a Puppeteer Chrome config in our
.pallyci
configs based on an example I found at https://opensource.com/article/23/2/automated-accessibility-testing and it seemed to make a difference in the reliability of Pa11y. I also boosted the concurrency and usednpm ci
instead ofnpm install
so thepackage-lock
checksum–based cache actually works.It seems the real solution here is adding the
--no-sandbox
flag for Chrome in Puppeteer. This disables some sandbox security in Chrome, but this is not relevant in our case since we're running this only on knownlocalhost
files and only in a Docker container in a CI instance.