-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Open
Description
π Feature Request
I'd like to be able to check if all the system dependencies are installed in a non interactive script, and fail cleanly if some dependencies are missing.
Right now, we have two options:
playwright install-deps
which calls sudo directly. It is fine if the user is a passwordless sudoer, but locks on password input otherwise.playwright install-deps --dry-run
which just prints the command without running it, so we don't know if anything needs to be installed
If I run the apt-get
command manually:
apt-get install -y --no-install-recommends libasound2t64 libatk-bridge2.0-0t64 libatk1.0-0t64 libatspi2.0-0t64 libcairo2 libcups2t64 libdbus-1-3 libdrm2 libgbm1 libglib2.0-0t64 libnspr4 libnss3 libpango-1.0-0 libx11-6 libxcb1 libxcomposite1 libxdamage1 libxext6 libxfixes3 libxkbcommon0 libxrandr2 libcairo-gobject2 libfontconfig1 libfreetype6 libgdk-pixbuf-2.0-0 libgtk-3-0t64 libpangocairo-1.0-0 libx11-xcb1 libxcb-shm0 libxcursor1 libxi6 libxrender1 gstreamer1.0-libav gstreamer1.0-plugins-bad gstreamer1.0-plugins-base gstreamer1.0-plugins-good libicu74 libatomic1 libenchant-2-2 libepoxy0 libevent-2.1-7t64 libflite1 libgles2 libgstreamer-gl1.0-0 libgstreamer-plugins-bad1.0-0 libgstreamer-plugins-base1.0-0 libgstreamer1.0-0 libgtk-4-1 libharfbuzz-icu0 libharfbuzz0b libhyphen0 libjpeg-turbo8 liblcms2-2 libmanette-0.2-0 libopus0 libpng16-16t64 libsecret-1-0 libvpx9 libwayland-client0 libwayland-egl1 libwayland-server0 libwebp7 libwebpdemux2 libwoff1 libxml2 libxslt1.1 libx264-164 libavif16 xvfb fonts-noto-color-emoji fonts-unifont xfonts-cyrillic xfonts-scalable fonts-liberation fonts-ipafont-gothic fonts-wqy-zenhei fonts-tlwg-loma-otf fonts-freefont-ttf
with the --dry-run switch, I get something I could potentially parse:
0 upgraded, 0 newly installed, 0 to remove and 2 not upgraded.
and act appropriately.
Example
The best would be something like playwright install-deps --check
, but that's more to maintain.
Motivation
Allow to trigger an non-interactive update on an existing project without the risk of a runtime failure if some dependencies are missing.
Metadata
Metadata
Assignees
Labels
No labels