Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Publish v20.10.0. [release] #375

Merged
merged 1 commit into from
Nov 22, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
31 changes: 31 additions & 0 deletions 20.10/Dockerfile
@@ -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
@@ -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
@@ -1,2 +1,2 @@
lts=20.9.0
current=21.2.0
lts=20.10.0
2 changes: 1 addition & 1 deletion GEN-CHECK
@@ -1 +1 @@
GEN_CHECK=(21.2.0=current)
GEN_CHECK=(20.10.0=lts)
4 changes: 2 additions & 2 deletions build-images.sh
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
@@ -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