Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
91 changes: 91 additions & 0 deletions base-internal/releases/node-22/22.19.0-trixie/Dockerfile
Original file line number Diff line number Diff line change
@@ -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 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"
14 changes: 14 additions & 0 deletions base-internal/releases/node-22/22.19.0-trixie/README.md
Original file line number Diff line number Diff line change
@@ -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
9 changes: 9 additions & 0 deletions base-internal/releases/node-22/22.19.0-trixie/build.sh
Original file line number Diff line number Diff line change
@@ -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
11 changes: 4 additions & 7 deletions base-internal/releases/node-22/22.19.0-yarn-berry/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,18 +1,16 @@
# build it with command
# docker build -t cypress/base-internal:22.19.0-yarn-berry --platform linux/amd64 .
# docker build -t cypress/base-internal:22.19.0-yarn-berry-trixie --platform linux/amd64 .
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I didn't want to blow away the current tag as that could cause build issues. Once we have some guaranteed stability, I will remove the -trixie postfix and overwrite the original tag

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

postfix removed in 2a1ca1e

#
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 \
Expand All @@ -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/* \
Expand Down
4 changes: 2 additions & 2 deletions base-internal/releases/node-22/22.19.0-yarn-berry/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# cypress/base-internal:22.19.0-yarn-berry
# cypress/base-internal:22.19.0-yarn-berry-trixie

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:

Expand Down
2 changes: 1 addition & 1 deletion base-internal/releases/node-22/22.19.0-yarn-berry/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
set -e+x

# build image with Cypress dependencies
LOCAL_NAME=cypress/base-internal:22.19.0-yarn-berry
LOCAL_NAME=cypress/base-internal:22.19.0-yarn-berry-trixie

echo "Building $LOCAL_NAME"
docker build -t $LOCAL_NAME . --platform linux/amd64