From 0c7ec7b3b9f85c36fe327a4e3eec89f3ce0207e7 Mon Sep 17 00:00:00 2001 From: CircleCI CPE Image Bot <126817036+cpe-image-bot@users.noreply.github.com> Date: Fri, 2 Jun 2023 15:54:01 -0500 Subject: [PATCH] Publish v1.70.0. [release] (#110) --- 1.70/Dockerfile | 23 +++++++++++++++ 1.70/browsers/Dockerfile | 63 ++++++++++++++++++++++++++++++++++++++++ 1.70/node/Dockerfile | 20 +++++++++++++ GEN-CHECK | 2 +- build-images.sh | 6 ++-- push-images.sh | 12 ++++---- 6 files changed, 116 insertions(+), 10 deletions(-) create mode 100644 1.70/Dockerfile create mode 100644 1.70/browsers/Dockerfile create mode 100644 1.70/node/Dockerfile diff --git a/1.70/Dockerfile b/1.70/Dockerfile new file mode 100644 index 0000000..b845171 --- /dev/null +++ b/1.70/Dockerfile @@ -0,0 +1,23 @@ +# 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.04 + +LABEL maintainer="Community & Partner Engineering Team " + +ENV RUST_VERSION=1.70.0 \ + PATH=/home/circleci/.cargo/bin:$PATH + +RUN curl -O https://static.rust-lang.org/rustup/dist/x86_64-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.70/browsers/Dockerfile b/1.70/browsers/Dockerfile new file mode 100644 index 0000000..f797154 --- /dev/null +++ b/1.70/browsers/Dockerfile @@ -0,0 +1,63 @@ +# vim:set ft=dockerfile: + +FROM cimg/rust:1.70.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.70/node/Dockerfile b/1.70/node/Dockerfile new file mode 100644 index 0000000..182920f --- /dev/null +++ b/1.70/node/Dockerfile @@ -0,0 +1,20 @@ +# vim:set ft=dockerfile: + +FROM cimg/rust:1.70.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-) && \ + curl -L -o node.tar.xz "https://nodejs.org/dist/v${NODE_VERSION}/node-v${NODE_VERSION}-linux-x64.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 1387ecc..e34c0c8 100644 --- a/GEN-CHECK +++ b/GEN-CHECK @@ -1 +1 @@ -GEN_CHECK=(1.69.0) +GEN_CHECK=(1.70.0) diff --git a/build-images.sh b/build-images.sh index 0ec7d55..ef35a2e 100755 --- a/build-images.sh +++ b/build-images.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash # Do not edit by hand; please use build scripts/templates to make changes -docker build --file 1.69/Dockerfile -t cimg/rust:1.69.0 -t cimg/rust:1.69 --platform linux/amd64 . -docker build --file 1.69/node/Dockerfile -t cimg/rust:1.69.0-node -t cimg/rust:1.69-node --platform linux/amd64 . -docker build --file 1.69/browsers/Dockerfile -t cimg/rust:1.69.0-browsers -t cimg/rust:1.69-browsers --platform linux/amd64 . +docker build --file 1.70/Dockerfile -t cimg/rust:1.70.0 -t cimg/rust:1.70 --platform linux/amd64 . +docker build --file 1.70/node/Dockerfile -t cimg/rust:1.70.0-node -t cimg/rust:1.70-node --platform linux/amd64 . +docker build --file 1.70/browsers/Dockerfile -t cimg/rust:1.70.0-browsers -t cimg/rust:1.70-browsers --platform linux/amd64 . diff --git a/push-images.sh b/push-images.sh index 123e2bb..a1032ab 100755 --- a/push-images.sh +++ b/push-images.sh @@ -1,8 +1,8 @@ #!/usr/bin/env bash # Do not edit by hand; please use build scripts/templates to make changes -docker push cimg/rust:1.69 -docker push cimg/rust:1.69.0 -docker push cimg/rust:1.69-node -docker push cimg/rust:1.69.0-node -docker push cimg/rust:1.69-browsers -docker push cimg/rust:1.69.0-browsers +docker push cimg/rust:1.70 +docker push cimg/rust:1.70.0 +docker push cimg/rust:1.70-node +docker push cimg/rust:1.70.0-node +docker push cimg/rust:1.70-browsers +docker push cimg/rust:1.70.0-browsers