diff --git a/base-internal/releases/node-22/22.19.0-trixie/Dockerfile b/base-internal/releases/node-22/22.19.0-trixie/Dockerfile new file mode 100644 index 0000000000..046dc5f4b9 --- /dev/null +++ b/base-internal/releases/node-22/22.19.0-trixie/Dockerfile @@ -0,0 +1,91 @@ +# build it with command +# docker build -t cypress/base-internal:22.19.0-trixie --platform linux/amd64 . +# +FROM node:22.19.0-trixie-slim + +RUN apt-get update && \ + apt-get install --no-install-recommends -y \ + libgtk-3-0t64 \ + libnotify-dev \ + libgbm-dev \ + libnss3 \ + libxss1 \ + libasound2t64 \ + libxtst6 \ + procps \ + xauth \ + xvfb \ + build-essential \ + # install text editors + vim-tiny \ + nano \ + # install emoji font + fonts-noto-color-emoji \ + # install Chinese fonts + # this list was copied from https://github.com/jim3ma/docker-leanote + fonts-arphic-bkai00mp \ + fonts-arphic-bsmi00lp \ + fonts-arphic-gbsn00lp \ + fonts-arphic-gkai00mp \ + fonts-arphic-ukai \ + fonts-arphic-uming \ + ttf-wqy-zenhei \ + xfonts-wqy \ + # clean up + && rm -rf /var/lib/apt/lists/* \ + && apt-get clean + +USER root + +RUN node --version + + +# Install dependencies +RUN apt-get update && \ + apt-get install -y \ + fonts-liberation \ + git \ + libcurl4 \ + libcurl3-gnutls \ + libvulkan1 \ + xdg-utils \ + wget \ + # needed for circle orb browsers to install firefox + gpg \ + # needed for circle orb browsers to install chromedriver + jq \ + curl \ + # chrome dependencies + libu2f-udev \ + # firefox dependencies + bzip2 \ + # add codecs needed for video playback in firefox + # https://github.com/cypress-io/cypress-docker-images/issues/150 + mplayer \ + \ + # clean up + && rm -rf /var/lib/apt/lists/* \ + && apt-get clean + +# install libappindicator3-1 - not included with Debian 13 +RUN wget --no-verbose /usr/src/libappindicator3-1_0.4.92-7_amd64.deb "http://ftp.us.debian.org/debian/pool/main/liba/libappindicator/libappindicator3-1_0.4.92-7_amd64.deb" && \ + dpkg -i /usr/src/libappindicator3-1_0.4.92-7_amd64.deb ; \ + apt-get install -f -y && \ + rm -f /usr/src/libappindicator3-1_0.4.92-7_amd64.deb + +# a few environment variables to make NPM installs easier +# good colors for most applications +ENV TERM=xterm +# avoid million NPM install messages +ENV npm_config_loglevel=warn + +RUN npm --version \ + && npm install -g yarn@latest --force \ + && yarn --version \ + && node -p process.versions \ + && node -p 'module.paths' \ + && echo " node version: $(node -v) \n" \ + "npm version: $(npm -v) \n" \ + "yarn version: $(yarn -v) \n" \ + "debian version: $(cat /etc/debian_version) \n" \ + "user: $(whoami) \n" diff --git a/base-internal/releases/node-22/22.19.0-trixie/README.md b/base-internal/releases/node-22/22.19.0-trixie/README.md new file mode 100644 index 0000000000..5123796352 --- /dev/null +++ b/base-internal/releases/node-22/22.19.0-trixie/README.md @@ -0,0 +1,14 @@ +# cypress/base-internal:22.19.0-trixie + +A Docker image with all dependencies pre-installed based on Debian Trixie. + +NOTE: This image is intended for internal use with https://github.com/cypress-io/cypress. It contains a few differences from the factory, such as: + +#### Dependency Additions + +- xauth (to run xvfb inside system-tests) +- build-essential to install `make` and other linux build packages + +#### Env variables + +- Does not contain the `CACHE_FOLDER` and `FACTORY_DEFAULT_NODE_VERSION` env variables to keep unit tests non environment specific diff --git a/base-internal/releases/node-22/22.19.0-trixie/build.sh b/base-internal/releases/node-22/22.19.0-trixie/build.sh new file mode 100755 index 0000000000..c67f483cd7 --- /dev/null +++ b/base-internal/releases/node-22/22.19.0-trixie/build.sh @@ -0,0 +1,9 @@ +#!/bin/bash + +set -e+x + +# build image with Cypress dependencies +LOCAL_NAME=cypress/base-internal:22.19.0-trixie + +echo "Building $LOCAL_NAME" +docker build -t $LOCAL_NAME . --platform linux/amd64 diff --git a/base-internal/releases/node-22/22.19.0-yarn-berry/Dockerfile b/base-internal/releases/node-22/22.19.0-yarn-berry/Dockerfile index b87e160c70..9208f364fd 100644 --- a/base-internal/releases/node-22/22.19.0-yarn-berry/Dockerfile +++ b/base-internal/releases/node-22/22.19.0-yarn-berry/Dockerfile @@ -1,18 +1,16 @@ # build it with command # docker build -t cypress/base-internal:22.19.0-yarn-berry --platform linux/amd64 . # -FROM node:22.19.0-bookworm-slim +FROM node:22.19.0-trixie-slim RUN apt-get update && \ apt-get install --no-install-recommends -y \ - libgtk2.0-0 \ - libgtk-3-0 \ + libgtk-3-0t64 \ libnotify-dev \ - libgconf-2-4 \ libgbm-dev \ libnss3 \ libxss1 \ - libasound2 \ + libasound2t64 \ libxtst6 \ procps \ xauth \ @@ -35,7 +33,6 @@ RUN apt-get update && \ fonts-arphic-ukai \ fonts-arphic-uming \ ttf-wqy-zenhei \ - ttf-wqy-microhei \ xfonts-wqy \ # clean up && rm -rf /var/lib/apt/lists/* \ diff --git a/base-internal/releases/node-22/22.19.0-yarn-berry/README.md b/base-internal/releases/node-22/22.19.0-yarn-berry/README.md index 9dd9607c40..af448b298e 100644 --- a/base-internal/releases/node-22/22.19.0-yarn-berry/README.md +++ b/base-internal/releases/node-22/22.19.0-yarn-berry/README.md @@ -1,6 +1,6 @@ # cypress/base-internal:22.19.0-yarn-berry -A Docker image with all dependencies pre-installed based on Debian Bookworm with Yarn Berry (v4.3.1). +A Docker image with all dependencies pre-installed based on Debian Trixie with Yarn Berry (v4.3.1). NOTE: This image is intended for internal use with https://github.com/cypress-io/cypress. It contains a few differences from the factory, such as: