My team has had some difficulties recently with our pa11y-ci test suite, which is rather large. It seems that particularly when running within a Docker container, the tests would seem to stall (deadlock?), resulting in a large percentage of failures when concurrency was set high.
The root of the problem seemed to be that if my project had a dependency on a new-ish version of puppeteer (^4.1.0 in my case), these failures would occur; removing this dependency resolved the issues.
My team has had some difficulties recently with our
pa11y-ci
test suite, which is rather large. It seems that particularly when running within a Docker container, the tests would seem to stall (deadlock?), resulting in a large percentage of failures when concurrency was set high.I've outlined the scenario here in this repository: https://github.com/kkoskelin/pa11y-problems
The root of the problem seemed to be that if my project had a dependency on a new-ish version of puppeteer (^4.1.0 in my case), these failures would occur; removing this dependency resolved the issues.
An individual present in the pa11y slack helped me identify the likely culprit today (thanks, Thibaud!): https://pa11y.slack.com/archives/C16MP57QT/p1596034883064700
Puppeteer is
require
d by this file: lib/pa11y-ci.js#L13 but it is not explicitly listed in the dependencies of package.jsonIt might be helpful if the
pa11y-lint-config
library were updated to include the eslint-plugin-implicit-dependencies to detect this in the future.