Skip to content

[Feature] Non-Interactive check if all the system deps are installedΒ #2983

@Rafiot

Description

@Rafiot

πŸš€ 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

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions