cypress-io / cypress-docker-images

Docker images with Cypress dependencies and browsers
https://on.cypress.io/continuous-integration
MIT License
1.02k stars 380 forks source link

Webkit: Add any newly required Linux deps to our docker images for running Webkit browser #526

Open jennifer-shehane opened 3 years ago

jennifer-shehane commented 3 years ago

Add anything required and documented in https://github.com/cypress-io/cypress-documentation/issues/4060

flotwig commented 2 years ago

I think we should wait until WebKit is in stable to add this. WebKit adds like 500MB of dependencies to our current image, and maintaining a separate image series for it seems like more effort than it's worth when users can run npx playwright install-deps webkit for now.

ceisele-r commented 1 year ago

@jennifer-shehane @flotwig is there any simple way to add missing required dependencies besides what npx playwright install-deps webkit installs for the cypress docker containers?

I am trying to build a docker image FROM cypress/browsers:node18.12.0-chrome107 and added npx playwright install-deps webkit to the dockerfile to install the missing dependencies to be able to also run webkit tests with it. But when trying to execute tests using webkit browser with cypress, the following error is emitted:

There was an error launching `playwright-webkit`:
Error: 
╔══════════════════════════════════════════════════════╗
║ Host system is missing dependencies to run browsers. ║
║ Missing libraries:                                   ║
║     libvpx.so.7                                      ║
║     libicui18n.so.70                                 ║
║     libicuuc.so.70                                   ║
║     libjpeg.so.8                                     ║
║     libwebp.so.7                                     ║
║     libffi.so.8                                      ║
╚══════════════════════════════════════════════════════╝ Failed to launch browser.

I know the used cypress image derives from debian:bullseye-slim. I tried to find and install the missing packages using apt-get ... but with no luck so far... What I've tried was to do the following additional install besides npx playwright install-deps webkit:

apt-get install -y libvpx6 libvpx-dev libicu-dev libjpeg-dev libwebp-dev libffi-dev

Edit: The issue mentioned above was my fault. See my answer with a solution here. Sorry.