Skip to content

Commit

Permalink
Publish v20.10.0. [release] (#375)
Browse files Browse the repository at this point in the history
Publish v20.10.0. [release]
  • Loading branch information
cpe-image-bot committed Nov 22, 2023
1 parent a73632f commit 844f50c
Show file tree
Hide file tree
Showing 6 changed files with 105 additions and 6 deletions.
31 changes: 31 additions & 0 deletions 20.10/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# vim:set ft=dockerfile:

# Do not edit individual Dockerfiles manually. Instead, please make changes to the Dockerfile.template, which will be used by the build script to generate Dockerfiles.

# By policy, the base image tag should be a quarterly tag unless there's a
# specific reason to use a different one. This means January, April, July, or
# October.

FROM cimg/base:2023.07

LABEL maintainer="Community & Partner Engineering Team <community-partner@circleci.com>"

ENV NODE_VERSION 20.10.0

RUN [[ $(uname -m) == "x86_64" ]] && ARCH="x64" || ARCH="arm64" && \
curl -L -o node.tar.xz "https://nodejs.org/dist/v${NODE_VERSION}/node-v${NODE_VERSION}-linux-${ARCH}.tar.xz" && \
sudo tar -xJf node.tar.xz -C /usr/local --strip-components=1 && \
rm node.tar.xz && \
sudo ln -s /usr/local/bin/node /usr/local/bin/nodejs

ENV PATH /home/circleci/.yarn/bin:$PATH

ENV YARN_VERSION 1.22.19
RUN curl -L -o yarn.tar.gz "https://yarnpkg.com/downloads/${YARN_VERSION}/yarn-v${YARN_VERSION}.tar.gz" && \
sudo tar -xzf yarn.tar.gz -C /opt/ && \
rm yarn.tar.gz && \
sudo ln -s /opt/yarn-v${YARN_VERSION}/bin/yarn /usr/local/bin/yarn && \
sudo ln -s /opt/yarn-v${YARN_VERSION}/bin/yarnpkg /usr/local/bin/yarnpkg

# Install an alternative, but growing in popularity Node.js package manager
RUN sudo npm install -g pnpm
68 changes: 68 additions & 0 deletions 20.10/browsers/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
# vim:set ft=dockerfile:

# This file is a duplicate of:
# https://github.com/CircleCI-Public/cimg-shared/blob/master/variants/browsers.Dockerfile.template
# The reason this exists is that the Node.js image needed its own version of
# the browsers variant. The normal version is based on the node variant of that
# image. As this IS a Node image, there isn't a node variant.

FROM cimg/node:20.10.0

LABEL maintainer="CircleCI Community & Partner Engineering Team <community-partner@circleci.com>"

# Install Selenium
ENV SELENIUM_VER=3.141.59
RUN curl -sSL -o selenium-server-standalone-${SELENIUM_VER}.jar "https://selenium-release.storage.googleapis.com/${SELENIUM_VER%.*}/selenium-server-standalone-${SELENIUM_VER}.jar" && \
sudo cp selenium-server-standalone-${SELENIUM_VER}.jar /usr/local/bin/selenium.jar && \
rm selenium-server-standalone-${SELENIUM_VER}.jar

RUN sudo apt-get update && \

# Install Java only if it's not already available
# Java is installed for Selenium
if ! command -v java > /dev/null; then \
echo "Java not found in parent image, installing..." && \
sudo apt-get install -y --no-install-recommends --no-upgrade openjdk-11-jre; \
fi && \

# Firefox deps
sudo apt-get install -y --no-install-recommends --no-upgrade \
libdbus-glib-1-2 \
libgtk-3-dev \
libxt6 \
&& \
# Google Chrome deps
# Some of these packages should be pulled into their own section
sudo apt-get install -y --no-install-recommends --no-upgrade \
fonts-liberation \
libappindicator3-1 \
libasound2 \
libatk-bridge2.0-0 \
libatspi2.0-0 \
libcairo2 \
libcups2 \
libgbm1 \
libgdk-pixbuf2.0-0 \
libgtk-3-0 \
libpango-1.0-0 \
libpangocairo-1.0-0 \
libxcursor1 \
libxss1 \
xdg-utils \
xvfb \
&& \
sudo rm -rf /var/lib/apt/lists/*

# Below is setup to allow xvfb to start when the container starts up.
# The label in particular allows this image to override what CircleCI does
# when booting the image.
LABEL com.circleci.preserve-entrypoint=true
ENV DISPLAY=":99"
#RUN printf '#!/bin/sh\nXvfb :99 -screen 0 1280x1024x24 &\nexec "$@"\n' > /tmp/entrypoint && \
# chmod +x /tmp/entrypoint && \
# sudo mv /tmp/entrypoint /docker-entrypoint.sh
RUN printf '#!/bin/sh\nXvfb :99 -screen 0 1280x1024x24 &\nexec "$@"\n' | sudo tee /docker-entrypoint.sh && \
sudo chmod +x /docker-entrypoint.sh

ENTRYPOINT ["/docker-entrypoint.sh"]
CMD ["/bin/sh"]
2 changes: 1 addition & 1 deletion ALIASES
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
lts=20.9.0
current=21.2.0
lts=20.10.0
2 changes: 1 addition & 1 deletion GEN-CHECK
Original file line number Diff line number Diff line change
@@ -1 +1 @@
GEN_CHECK=(21.2.0=current)
GEN_CHECK=(20.10.0=lts)
4 changes: 2 additions & 2 deletions build-images.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,5 @@ set -eo pipefail

docker context create cimg
docker buildx create --use cimg
docker buildx build --platform=linux/amd64,linux/arm64 --file 21.2/Dockerfile -t cimg/node:21.2.0 -t cimg/node:21.2 --push .
docker buildx build --platform=linux/amd64 --file 21.2/browsers/Dockerfile -t cimg/node:21.2.0-browsers -t cimg/node:21.2-browsers --push .
docker buildx build --platform=linux/amd64,linux/arm64 --file 20.10/Dockerfile -t cimg/node:20.10.0 -t cimg/node:20.10 --push .
docker buildx build --platform=linux/amd64 --file 20.10/browsers/Dockerfile -t cimg/node:20.10.0-browsers -t cimg/node:20.10-browsers --push .
4 changes: 2 additions & 2 deletions push-images.sh
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#!/usr/bin/env bash
# Do not edit by hand; please use build scripts/templates to make changes
set -eo pipefail
docker buildx imagetools create -t cimg/node:current cimg/node:21.2.0
docker buildx imagetools create -t cimg/node:current-browsers cimg/node:21.2.0-browsers
docker buildx imagetools create -t cimg/node:lts cimg/node:20.10.0
docker buildx imagetools create -t cimg/node:lts-browsers cimg/node:20.10.0-browsers

0 comments on commit 844f50c

Please sign in to comment.