From a071ddd0d271c6c6937df5c3f5a7fd45e8e675cf Mon Sep 17 00:00:00 2001 From: cpe-image-bot Date: Thu, 18 Sep 2025 15:56:17 +0000 Subject: [PATCH] Publish v1.90.0. [release] --- 1.90/Dockerfile | 24 +++++++++++++++ 1.90/browsers/Dockerfile | 63 ++++++++++++++++++++++++++++++++++++++++ 1.90/node/Dockerfile | 21 ++++++++++++++ GEN-CHECK | 2 +- build-images.sh | 6 ++-- 5 files changed, 112 insertions(+), 4 deletions(-) create mode 100644 1.90/Dockerfile create mode 100644 1.90/browsers/Dockerfile create mode 100644 1.90/node/Dockerfile diff --git a/1.90/Dockerfile b/1.90/Dockerfile new file mode 100644 index 0000000..2a793dc --- /dev/null +++ b/1.90/Dockerfile @@ -0,0 +1,24 @@ +# 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:2024.02 + +LABEL maintainer="CircleCI Execution Team " + +ENV RUST_VERSION=1.90.0 \ + PATH=/home/circleci/.cargo/bin:$PATH + +RUN [[ $(uname -m) == "x86_64" ]] && ARCH="x86_64" || ARCH="aarch64" && \ + curl -O https://static.rust-lang.org/rustup/dist/${ARCH}-unknown-linux-gnu/rustup-init && \ + chmod +x rustup-init && \ + ./rustup-init -y --no-modify-path --default-toolchain $RUST_VERSION && \ + rm rustup-init && \ + rustc --version && \ + cargo --version + +RUN rustup component add rustfmt diff --git a/1.90/browsers/Dockerfile b/1.90/browsers/Dockerfile new file mode 100644 index 0000000..0adc2f0 --- /dev/null +++ b/1.90/browsers/Dockerfile @@ -0,0 +1,63 @@ +# vim:set ft=dockerfile: + +FROM cimg/rust:1.90.0-node + +LABEL maintainer="CircleCI Community & Partner Engineering Team " + +# 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 && \ + sudo apt-get install --yes --no-install-recommends \ + xvfb \ + && \ + + # 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 && \ + 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 + +# Install a single version of Firefox. This isn't intended to be a regularly +# updated thing. Instead, if this version of Firefox isn't what the end user +# wants they should install a different version via the Browser Tools Orb. +# +# Canonical made a major technology change in how Firefox is installed from +# Ubuntu 21.10 and up. The general CI space doesn't seem to be ready for a snap +# based Firefox right now so we are installing it from the Mozilla PPA. +RUN echo 'Package: *' | sudo tee -a /etc/apt/preferences.d/firefox.pref && \ + echo 'Pin: release o=LP-PPA-mozillateam' | sudo tee -a /etc/apt/preferences.d/firefox.pref && \ + echo 'Pin-Priority: 1001' | sudo tee -a /etc/apt/preferences.d/firefox.pref && \ + sudo add-apt-repository --yes ppa:mozillateam/ppa && \ + sudo apt-get install --no-install-recommends --yes firefox && \ + sudo rm -rf /var/lib/apt/lists/* && \ + firefox --version + +# Install a single version of Google Chrome Stable. This isn't intended to be a +# regularly updated thing. Instead, if this version of Chrome isn't what the +# end user wants they should install a different version via the Browser Tools +# Orb. +RUN wget -q -O - "https://dl.google.com/linux/linux_signing_key.pub" | sudo apt-key add - && \ + echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" | sudo tee /etc/apt/sources.list.d/google-chrome.list && \ + sudo apt-get update && \ + sudo apt-get install google-chrome-stable && \ + sudo rm -rf /var/lib/apt/lists/* + +ENTRYPOINT ["/docker-entrypoint.sh"] +CMD ["/bin/sh"] diff --git a/1.90/node/Dockerfile b/1.90/node/Dockerfile new file mode 100644 index 0000000..3c61d7b --- /dev/null +++ b/1.90/node/Dockerfile @@ -0,0 +1,21 @@ +# vim:set ft=dockerfile: + +FROM cimg/rust:1.90.0 + +LABEL maintainer="Community & Partner Engineering Team " + +# Dockerfile will pull the latest LTS release from cimg-node. +RUN curl -sSL "https://raw.githubusercontent.com/CircleCI-Public/cimg-node/main/ALIASES" -o nodeAliases.txt && \ + NODE_VERSION=$(grep "lts" ./nodeAliases.txt | cut -d "=" -f 2-) && \ + [[ $(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 nodeAliases.txt && \ + sudo ln -s /usr/local/bin/node /usr/local/bin/nodejs + +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 diff --git a/GEN-CHECK b/GEN-CHECK index 67519bc..1708894 100644 --- a/GEN-CHECK +++ b/GEN-CHECK @@ -1 +1 @@ -GEN_CHECK=(1.89.0) +GEN_CHECK=(1.90.0) diff --git a/build-images.sh b/build-images.sh index 6332757..e4e9d51 100755 --- a/build-images.sh +++ b/build-images.sh @@ -4,6 +4,6 @@ set -eo pipefail docker context create cimg docker buildx create --use cimg -docker buildx build --platform=linux/amd64,linux/arm64 --file 1.89/Dockerfile -t cimg/rust:1.89.0 -t cimg/rust:1.89 --push . -docker buildx build --platform=linux/amd64,linux/arm64 --file 1.89/node/Dockerfile -t cimg/rust:1.89.0-node -t cimg/rust:1.89-node --push . -docker buildx build --platform=linux/amd64 --file 1.89/browsers/Dockerfile -t cimg/rust:1.89.0-browsers -t cimg/rust:1.89-browsers --push . +docker buildx build --platform=linux/amd64,linux/arm64 --file 1.90/Dockerfile -t cimg/rust:1.90.0 -t cimg/rust:1.90 --push . +docker buildx build --platform=linux/amd64,linux/arm64 --file 1.90/node/Dockerfile -t cimg/rust:1.90.0-node -t cimg/rust:1.90-node --push . +docker buildx build --platform=linux/amd64 --file 1.90/browsers/Dockerfile -t cimg/rust:1.90.0-browsers -t cimg/rust:1.90-browsers --push .