diff --git a/base-internal/releases/node-22/22.14.0-bullseye/Dockerfile b/base-internal/releases/node-22/22.14.0-bullseye/Dockerfile new file mode 100644 index 0000000000..d106fbd0b1 --- /dev/null +++ b/base-internal/releases/node-22/22.14.0-bullseye/Dockerfile @@ -0,0 +1,94 @@ +# build it with command +# docker build -t cypress/base-internal:22.14.0-bullseye --platform linux/amd64 . +# +FROM node:22.14.0-bullseye-slim + +RUN apt-get update && \ + apt-get install --no-install-recommends -y \ + libgtk2.0-0 \ + libgtk-3-0 \ + libnotify-dev \ + libgconf-2-4 \ + libgbm-dev \ + libnss3 \ + libxss1 \ + libasound2 \ + 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 \ + ttf-wqy-microhei \ + 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 \ + libcurl3-nss \ + 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 11 +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" \ No newline at end of file diff --git a/base-internal/releases/node-22/22.14.0-bullseye/build.sh b/base-internal/releases/node-22/22.14.0-bullseye/build.sh new file mode 100755 index 0000000000..5c2e3388a0 --- /dev/null +++ b/base-internal/releases/node-22/22.14.0-bullseye/build.sh @@ -0,0 +1,5 @@ +#!/bin/bash + +set -e + +docker build -t cypress/base-internal:22.14.0-bullseye --platform linux/amd64 . \ No newline at end of file diff --git a/base-internal/releases/node-22/22.14.0-yarn-berry/Dockerfile b/base-internal/releases/node-22/22.14.0-yarn-berry/Dockerfile new file mode 100644 index 0000000000..b418bb5068 --- /dev/null +++ b/base-internal/releases/node-22/22.14.0-yarn-berry/Dockerfile @@ -0,0 +1,68 @@ +# build it with command +# docker build -t cypress/base-internal:22.14.0-yarn-berry --platform linux/amd64 . +# +FROM node:22.14.0-bookworm-slim + +RUN apt-get update && \ + apt-get install --no-install-recommends -y \ + libgtk2.0-0 \ + libgtk-3-0 \ + libnotify-dev \ + libgconf-2-4 \ + libgbm-dev \ + libnss3 \ + libxss1 \ + libasound2 \ + libxtst6 \ + procps \ + xauth \ + xvfb \ + build-essential \ + # install text editors + vim-tiny \ + nano \ + wget \ + curl \ + git \ + # 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 \ + ttf-wqy-microhei \ + xfonts-wqy \ + # clean up + && rm -rf /var/lib/apt/lists/* \ + && apt-get clean + + RUN apt-get update && \ + apt-get install --no-install-recommends -y \ + ca-certificates + +# 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 +# allow installing when the main user is root +ENV npm_config_unsafe_perm=true +# need to enable corepack to set yarn version +RUN corepack enable +# set the yarn version to 4 to get yarn berry, which does not install modules into node_modules +RUN yarn set version 4.3.1 + +RUN npm --version \ + && 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" \ No newline at end of file diff --git a/base-internal/releases/node-22/22.14.0-yarn-berry/build.sh b/base-internal/releases/node-22/22.14.0-yarn-berry/build.sh new file mode 100755 index 0000000000..1ab05e0680 --- /dev/null +++ b/base-internal/releases/node-22/22.14.0-yarn-berry/build.sh @@ -0,0 +1,5 @@ +#!/bin/bash + +set -e + +docker build -t cypress/base-internal:22.14.0-yarn-berry --platform linux/amd64 . \ No newline at end of file diff --git a/base-internal/releases/node-22/22.14.0/Dockerfile b/base-internal/releases/node-22/22.14.0/Dockerfile new file mode 100644 index 0000000000..9f0751153c --- /dev/null +++ b/base-internal/releases/node-22/22.14.0/Dockerfile @@ -0,0 +1,56 @@ +# build it with command +# docker build -t cypress/base-internal:22.14.0 --platform linux/amd64 . +# +FROM node:22.14.0-bookworm-slim + +RUN apt-get update && \ + apt-get install --no-install-recommends -y \ + libgtk2.0-0 \ + libgtk-3-0 \ + libnotify-dev \ + libgconf-2-4 \ + libgbm-dev \ + libnss3 \ + libxss1 \ + libasound2 \ + 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 \ + ttf-wqy-microhei \ + xfonts-wqy \ + # clean up + && rm -rf /var/lib/apt/lists/* \ + && apt-get clean + +# 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" \ No newline at end of file diff --git a/base-internal/releases/node-22/22.14.0/build.sh b/base-internal/releases/node-22/22.14.0/build.sh new file mode 100755 index 0000000000..0fc18dc8fc --- /dev/null +++ b/base-internal/releases/node-22/22.14.0/build.sh @@ -0,0 +1,5 @@ +#!/bin/bash + +set -e + +docker build -t cypress/base-internal:22.14.0 --platform linux/amd64 . \ No newline at end of file diff --git a/browsers-internal/releases/node-22/node22.14.0-bullseye-chrome134-ff138-edge/Dockerfile b/browsers-internal/releases/node-22/node22.14.0-bullseye-chrome134-ff138-edge/Dockerfile new file mode 100644 index 0000000000..01ca5399a8 --- /dev/null +++ b/browsers-internal/releases/node-22/node22.14.0-bullseye-chrome134-ff138-edge/Dockerfile @@ -0,0 +1,45 @@ +# build this image with command +# docker build -t cypress/browsers-internal:node22.14.0-bullseye-chrome134-ff138-edge --platform linux/amd64 . +# + +FROM cypress/browsers-internal:node22.14.0-bullseye-chrome134-ff138 + +USER root + +# Install dependencies +RUN apt-get update && \ + apt-get install -y \ + # edge dependencies + gnupg \ + dirmngr \ + \ + # clean up + && rm -rf /var/lib/apt/lists/* \ + && apt-get clean + +# install latest Edge +RUN node -p "process.arch === 'arm64' ? 'Not downloading Edge since we are on arm64: https://techcommunity.microsoft.com/t5/discussions/edge-for-linux-arm64/m-p/1532272' : process.exit(1)" || \ + (curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpg && \ + install -o root -g root -m 644 microsoft.gpg /etc/apt/trusted.gpg.d/ && \ + sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/repos/edge stable main" > /etc/apt/sources.list.d/microsoft-edge-dev.list' && \ + rm microsoft.gpg && \ + ## Install Edge + apt-get update && \ + apt-get install -y microsoft-edge-dev && \ + ## Add a link to the browser that allows Cypress to find it + ln -s /usr/bin/microsoft-edge /usr/bin/edge) + +# install pnpm +RUN npm install -g pnpm@9 --force + +# versions of local tools +RUN echo " node version: $(node -v) \n" \ + "npm version: $(npm -v) \n" \ + "yarn version: $(yarn -v) \n" \ + "pnpm version: $(pnpm -v) \n" \ + "debian version: $(cat /etc/debian_version) \n" \ + "Chrome version: $(google-chrome --version) \n" \ + "Firefox version: $(firefox --version) \n" \ + "Edge version: $(edge --version) \n" \ + "git version: $(git --version) \n" \ + "whoami: $(whoami) \n" \ No newline at end of file diff --git a/browsers-internal/releases/node-22/node22.14.0-bullseye-chrome134-ff138-edge/README.md b/browsers-internal/releases/node-22/node22.14.0-bullseye-chrome134-ff138-edge/README.md new file mode 100644 index 0000000000..b8b282e5d2 --- /dev/null +++ b/browsers-internal/releases/node-22/node22.14.0-bullseye-chrome134-ff138-edge/README.md @@ -0,0 +1,21 @@ +# cypress/browsers-internal:node22.14.0-bullseye-chrome134-ff138-edge + +A complete image with all operating system dependencies for Cypress, and Chrome 134.0.6998.165-1, Firefox 138.0, and Microsoft Edge browsers. + +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 + +- curl +- build-essentials (to contain `make` and a few other dependencies) +- pnpm package manager + +#### Env variables + +- Does not contain the `CACHE_FOLDER` and `FACTORY_DEFAULT_NODE_VERSION` env variables to keep unit tests non environment specific + +[Dockerfile](Dockerfile) + +**Note:** this image uses the `root` user. You might want to switch to non-root user like `node` when running this container for security + +**Note:** Currently, the linux/arm64 build of this image does not contain any browsers except Electron. See https://github.com/cypress-io/cypress-docker-images/blob/master/README.md#browsers for more information. diff --git a/browsers-internal/releases/node-22/node22.14.0-bullseye-chrome134-ff138-edge/build.sh b/browsers-internal/releases/node-22/node22.14.0-bullseye-chrome134-ff138-edge/build.sh new file mode 100644 index 0000000000..47f43ac028 --- /dev/null +++ b/browsers-internal/releases/node-22/node22.14.0-bullseye-chrome134-ff138-edge/build.sh @@ -0,0 +1,5 @@ +set e+x + +LOCAL_NAME=cypress/browsers-internal:node22.14.0-bullseye-chrome134-ff138-edge +echo "Building $LOCAL_NAME" +docker build -t $LOCAL_NAME . \ No newline at end of file diff --git a/browsers-internal/releases/node-22/node22.14.0-bullseye-chrome134-ff138/Dockerfile b/browsers-internal/releases/node-22/node22.14.0-bullseye-chrome134-ff138/Dockerfile new file mode 100644 index 0000000000..78eb60dc24 --- /dev/null +++ b/browsers-internal/releases/node-22/node22.14.0-bullseye-chrome134-ff138/Dockerfile @@ -0,0 +1,76 @@ +# build this image with command +# docker build -t cypress/browsers-internal:node22.14.0-bullseye-chrome134-ff138 --platform linux/amd64 . +# +FROM cypress/base-internal:22.14.0-bullseye + +USER root + +RUN node --version + +COPY ./global-profile.sh /tmp/global-profile.sh +RUN cat /tmp/global-profile.sh >> /etc/bash.bashrc && rm /tmp/global-profile.sh + +# Install dependencies +RUN apt-get update && \ + apt-get install -y \ + fonts-liberation \ + git \ + libcurl4 \ + libcurl3-gnutls \ + libcurl3-nss \ + libvulkan1 \ + xdg-utils \ + wget \ + 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 11 +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 + +# install Chrome browser +RUN node -p "process.arch === 'arm64' ? 'Not downloading Chrome since we are on arm64: https://crbug.com/677140' : process.exit(1)" || \ + (wget --no-verbose -O /usr/src/google-chrome-stable_current_amd64.deb "http://dl.google.com/linux/chrome/deb/pool/main/g/google-chrome-stable/google-chrome-stable_134.0.6998.165-1_amd64.deb" && \ + dpkg -i /usr/src/google-chrome-stable_current_amd64.deb ; \ + apt-get install -f -y && \ + rm -f /usr/src/google-chrome-stable_current_amd64.deb) + +# "fake" dbus address to prevent errors +# https://github.com/SeleniumHQ/docker-selenium/issues/87 +ENV DBUS_SESSION_BUS_ADDRESS=/dev/null + +# install Firefox browser +RUN node -p "process.arch === 'arm64' ? 'Not downloading Firefox since we are on arm64: https://bugzilla.mozilla.org/show_bug.cgi?id=1678342' : process.exit(1)" || \ + (wget --no-verbose -O /tmp/firefox.tar.xz https://download-installer.cdn.mozilla.net/pub/firefox/releases/138.0/linux-x86_64/en-US/firefox-138.0.tar.xz && \ + tar -C /opt -xf /tmp/firefox.tar.xz && \ + rm /tmp/firefox.tar.xz && \ + ln -fs /opt/firefox/firefox /usr/bin/firefox) + +# versions of local tools +RUN echo " node version: $(node -v) \n" \ + "npm version: $(npm -v) \n" \ + "yarn version: $(yarn -v) \n" \ + "debian version: $(cat /etc/debian_version) \n" \ + "Chrome version: $(google-chrome --version) \n" \ + "Firefox version: $(firefox --version) \n" \ + "Edge version: n/a \n" \ + "git version: $(git --version) \n" \ + "whoami: $(whoami) \n" + +# 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 \ No newline at end of file diff --git a/browsers-internal/releases/node-22/node22.14.0-bullseye-chrome134-ff138/README.md b/browsers-internal/releases/node-22/node22.14.0-bullseye-chrome134-ff138/README.md new file mode 100644 index 0000000000..3b7f3bbff9 --- /dev/null +++ b/browsers-internal/releases/node-22/node22.14.0-bullseye-chrome134-ff138/README.md @@ -0,0 +1,20 @@ +# cypress/browsers-internal:node22.14.0-bullseye-chrome134-ff138 + +A complete image with all operating system dependencies for Cypress, and Chrome 134.0.6998.165-1, Firefox 138.0 browsers. + +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 + +- curl +- build-essentials (to contain `make` and a few other dependencies) + +#### Env variables + +- Does not contain the `CACHE_FOLDER` and `FACTORY_DEFAULT_NODE_VERSION` env variables to keep unit tests non environment specific + +[Dockerfile](Dockerfile) + +**Note:** this image uses the `root` user. You might want to switch to non-root user like `node` when running this container for security + +**Note:** Currently, the linux/arm64 build of this image does not contain any browsers except Electron. See https://github.com/cypress-io/cypress-docker-images/blob/master/README.md#browsers for more information. diff --git a/browsers-internal/releases/node-22/node22.14.0-bullseye-chrome134-ff138/build.sh b/browsers-internal/releases/node-22/node22.14.0-bullseye-chrome134-ff138/build.sh new file mode 100644 index 0000000000..b2abe90905 --- /dev/null +++ b/browsers-internal/releases/node-22/node22.14.0-bullseye-chrome134-ff138/build.sh @@ -0,0 +1,5 @@ +set e+x + +LOCAL_NAME=cypress/browsers-internal:node22.14.0-bullseye-chrome134-ff138 +echo "Building $LOCAL_NAME" +docker build -t $LOCAL_NAME . \ No newline at end of file diff --git a/browsers-internal/releases/node-22/node22.14.0-bullseye-chrome134-ff138/global-profile.sh b/browsers-internal/releases/node-22/node22.14.0-bullseye-chrome134-ff138/global-profile.sh new file mode 100644 index 0000000000..7d8954e40b --- /dev/null +++ b/browsers-internal/releases/node-22/node22.14.0-bullseye-chrome134-ff138/global-profile.sh @@ -0,0 +1,11 @@ +if [[ "$(uname -a)" = *"arm"* || "$(uname -a)" = *"aarch64"* ]]; then + printf "\e[31m" # red + echo "Warning: You are using the beta Arm build of a cypress/browsers or cypress/included image." + echo + echo "On Arm, non-Electron browsers are not available, because browser vendors are not yet building for Linux arm64." + echo "You must use the built-in Electron browser (--browser electron) to run Cypress or find and install unofficial Arm binary builds." + echo + echo "More details and links to upstream issues for Chrome, Firefox, and Edge can be found in the docker image ReadMe:" + echo " https://github.com/cypress-io/cypress-docker-images/blob/master/README.md#browsers" + printf "\e[0m" # reset +fi \ No newline at end of file diff --git a/browsers-internal/releases/node-22/node22.14.0-chrome134-ff138/Dockerfile b/browsers-internal/releases/node-22/node22.14.0-chrome134-ff138/Dockerfile new file mode 100644 index 0000000000..feba331d11 --- /dev/null +++ b/browsers-internal/releases/node-22/node22.14.0-chrome134-ff138/Dockerfile @@ -0,0 +1,76 @@ +# build this image with command +# docker build -t cypress/browsers-internal:node22.14.0-chrome134-ff138 --platform linux/amd64 . +# +FROM cypress/base-internal:22.14.0 + +USER root + +RUN node --version + +COPY ./global-profile.sh /tmp/global-profile.sh +RUN cat /tmp/global-profile.sh >> /etc/bash.bashrc && rm /tmp/global-profile.sh + +# Install dependencies +RUN apt-get update && \ + apt-get install -y \ + fonts-liberation \ + git \ + libcurl4 \ + libcurl3-gnutls \ + libcurl3-nss \ + libvulkan1 \ + xdg-utils \ + wget \ + 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 11 +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 + +# install Chrome browser +RUN node -p "process.arch === 'arm64' ? 'Not downloading Chrome since we are on arm64: https://crbug.com/677140' : process.exit(1)" || \ + (wget --no-verbose -O /usr/src/google-chrome-stable_current_amd64.deb "http://dl.google.com/linux/chrome/deb/pool/main/g/google-chrome-stable/google-chrome-stable_134.0.6998.165-1_amd64.deb" && \ + dpkg -i /usr/src/google-chrome-stable_current_amd64.deb ; \ + apt-get install -f -y && \ + rm -f /usr/src/google-chrome-stable_current_amd64.deb) + +# "fake" dbus address to prevent errors +# https://github.com/SeleniumHQ/docker-selenium/issues/87 +ENV DBUS_SESSION_BUS_ADDRESS=/dev/null + +# install Firefox browser +RUN node -p "process.arch === 'arm64' ? 'Not downloading Firefox since we are on arm64: https://bugzilla.mozilla.org/show_bug.cgi?id=1678342' : process.exit(1)" || \ + (wget --no-verbose -O /tmp/firefox.tar.xz https://download-installer.cdn.mozilla.net/pub/firefox/releases/138.0/linux-x86_64/en-US/firefox-138.0.tar.xz && \ + tar -C /opt -xf /tmp/firefox.tar.xz && \ + rm /tmp/firefox.tar.xz && \ + ln -fs /opt/firefox/firefox /usr/bin/firefox) + +# versions of local tools +RUN echo " node version: $(node -v) \n" \ + "npm version: $(npm -v) \n" \ + "yarn version: $(yarn -v) \n" \ + "debian version: $(cat /etc/debian_version) \n" \ + "Chrome version: $(google-chrome --version) \n" \ + "Firefox version: $(firefox --version) \n" \ + "Edge version: n/a \n" \ + "git version: $(git --version) \n" \ + "whoami: $(whoami) \n" + +# 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 \ No newline at end of file diff --git a/browsers-internal/releases/node-22/node22.14.0-chrome134-ff138/README.md b/browsers-internal/releases/node-22/node22.14.0-chrome134-ff138/README.md new file mode 100644 index 0000000000..4bc1c31d15 --- /dev/null +++ b/browsers-internal/releases/node-22/node22.14.0-chrome134-ff138/README.md @@ -0,0 +1,20 @@ +# cypress/browsers-internal:node22.14.0-chrome134-ff138 + +A complete image with all operating system dependencies for Cypress, and Chrome 134.0.6899.109-1, Firefox 138.0 browsers. + +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 + +- curl +- build-essentials (to contain `make` and a few other dependencies) + +#### Env variables + +- Does not contain the `CACHE_FOLDER` and `FACTORY_DEFAULT_NODE_VERSION` env variables to keep unit tests non environment specific + +[Dockerfile](Dockerfile) + +**Note:** this image uses the `root` user. You might want to switch to non-root user like `node` when running this container for security + +**Note:** Currently, the linux/arm64 build of this image does not contain any browsers except Electron. See https://github.com/cypress-io/cypress-docker-images/blob/master/README.md#browsers for more information. diff --git a/browsers-internal/releases/node-22/node22.14.0-chrome134-ff138/build.sh b/browsers-internal/releases/node-22/node22.14.0-chrome134-ff138/build.sh new file mode 100644 index 0000000000..0ec8117cdb --- /dev/null +++ b/browsers-internal/releases/node-22/node22.14.0-chrome134-ff138/build.sh @@ -0,0 +1,5 @@ +set e+x + +LOCAL_NAME=cypress/browsers-internal:node22.14.0-chrome134-ff138 +echo "Building $LOCAL_NAME" +docker build -t $LOCAL_NAME . \ No newline at end of file diff --git a/browsers-internal/releases/node-22/node22.14.0-chrome134-ff138/global-profile.sh b/browsers-internal/releases/node-22/node22.14.0-chrome134-ff138/global-profile.sh new file mode 100644 index 0000000000..7d8954e40b --- /dev/null +++ b/browsers-internal/releases/node-22/node22.14.0-chrome134-ff138/global-profile.sh @@ -0,0 +1,11 @@ +if [[ "$(uname -a)" = *"arm"* || "$(uname -a)" = *"aarch64"* ]]; then + printf "\e[31m" # red + echo "Warning: You are using the beta Arm build of a cypress/browsers or cypress/included image." + echo + echo "On Arm, non-Electron browsers are not available, because browser vendors are not yet building for Linux arm64." + echo "You must use the built-in Electron browser (--browser electron) to run Cypress or find and install unofficial Arm binary builds." + echo + echo "More details and links to upstream issues for Chrome, Firefox, and Edge can be found in the docker image ReadMe:" + echo " https://github.com/cypress-io/cypress-docker-images/blob/master/README.md#browsers" + printf "\e[0m" # reset +fi \ No newline at end of file