This is an automated email from the ASF dual-hosted git repository. vatamane pushed a commit to branch remove-unsupported-oses in repository https://gitbox.apache.org/repos/asf/couchdb-ci.git
commit abf9bb1ef09cbc8f14c72c1c8bbfefd03a3c21c9 Author: Nick Vatamaniuc <vatam...@gmail.com> AuthorDate: Fri May 10 18:37:44 2024 -0400 Remove buster, bionic and centos 7 Bionic support ended in April 2023 [1], and CentOS 7 and Buster [2] support is ending June 2024 [2][3]. We don't want to be distributuing potential unpatched security issues. [1] https://ubuntu.com/about/release-cycle [2] https://www.redhat.com/en/technologies/linux-platforms/enterprise-linux/centos-migration [3] https://wiki.debian.org/LTS/Buster --- bin/apt-dependencies.sh | 9 ++---- bin/install-dependencies.sh | 1 - build.sh | 15 +++------- dockerfiles/centos-7 | 69 --------------------------------------------- dockerfiles/debian-buster | 68 -------------------------------------------- dockerfiles/ubuntu-bionic | 66 ------------------------------------------- pull-all-couchdbdev-docker | 3 -- 7 files changed, 7 insertions(+), 224 deletions(-) diff --git a/bin/apt-dependencies.sh b/bin/apt-dependencies.sh index c5c0d9d..c50ef08 100755 --- a/bin/apt-dependencies.sh +++ b/bin/apt-dependencies.sh @@ -42,11 +42,11 @@ apt-get update && apt-get install --no-install-recommends -y lsb-release SCRIPTPATH="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" . ${SCRIPTPATH}/detect-arch.sh >/dev/null . ${SCRIPTPATH}/detect-os.sh >/dev/null -debians='(buster|bullseye|bookworm)' -ubuntus='(bionic|focal|jammy)' +debians='(bullseye|bookworm)' +ubuntus='(focal|jammy)' echo "Detected Ubuntu/Debian version: ${VERSION_CODENAME} arch: ${ARCH}" -# bionic Docker image seems to be missing /etc/timezone... +# ubuntu docker image seems to be missing /etc/timezone... if [ ! -f /etc/timezone ]; then rm -f /etc/localtime ln -snf /usr/share/zoneinfo/Etc/UTC /etc/localtime @@ -157,9 +157,6 @@ if [ "$1" != "nojs" ]; then apt-get install --no-install-recommends -y couch-libmozjs185-dev fi # newer releases have newer libmozjs - if [ "${VERSION_CODENAME}" == "buster" ]; then - apt-get install --no-install-recommends -y libmozjs-60-dev - fi if [ "${VERSION_CODENAME}" == "focal" ]; then apt-get install --no-install-recommends -y libmozjs-68-dev fi diff --git a/bin/install-dependencies.sh b/bin/install-dependencies.sh index c21545f..fd3f6cf 100755 --- a/bin/install-dependencies.sh +++ b/bin/install-dependencies.sh @@ -85,7 +85,6 @@ case "${OSTYPE}" in linux*) redhats='(rhel|centos|fedora|almalinux)' debians='(debian|ubuntu)' - latest='(stretch|buster|bionic)' if [[ ${ID} =~ ${redhats} ]]; then NODEVERSION=${NODEVERSION} \ diff --git a/build.sh b/build.sh index ce94ac0..01642f3 100755 --- a/build.sh +++ b/build.sh @@ -46,9 +46,9 @@ SCRIPTPATH="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" # When updating the images, consider updating pull-all-couchdbdev-docker # script as well # -DEBIANS="debian-buster debian-bullseye debian-bookworm" -UBUNTUS="ubuntu-bionic ubuntu-focal ubuntu-jammy" -CENTOSES="centos-7 almalinux-8 almalinux-9" +DEBIANS="debian-bullseye debian-bookworm" +UBUNTUS="ubuntu-focal ubuntu-jammy" +CENTOSES="almalinux-8 almalinux-9" XPLAT_BASE="debian-bullseye" XPLAT_ARCHES="arm64v8 ppc64le s390x" @@ -159,14 +159,7 @@ case "$1" in # For all platforms shift for plat in $DEBIANS $UBUNTUS $CENTOSES; do - # Some platforms only get x86_64 builds - if [ "${plat}" == "debian-buster" ] || \ - [ "${plat}" == "ubuntu-bionic" ] || \ - [ "${plat}" == "centos-7" ]; then - BUILDX_PLATFORMS=linux/amd64 buildx-platform $plat - else - buildx-platform $plat - fi + buildx-platform $plat done ;; couch) diff --git a/dockerfiles/centos-7 b/dockerfiles/centos-7 deleted file mode 100644 index 8067632..0000000 --- a/dockerfiles/centos-7 +++ /dev/null @@ -1,69 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations - -# NOTE: These are intended to be built using the arguments as -# described in ../build.sh. See that script for more details. - -FROM centos:7 - -# Install Java -ENV JAVA_HOME=/opt/java/openjdk -COPY --from=eclipse-temurin:11 $JAVA_HOME $JAVA_HOME -ENV PATH="${JAVA_HOME}/bin:${PATH}" - -# These are needed for the Clouseau integration -ENV CLOUSEAU_JAVA_HOME=/opt/java/openjdk8 -COPY --from=ibm-semeru-runtimes:open-8-jre /opt/java/openjdk $CLOUSEAU_JAVA_HOME -ENV PATH=/usr/local/lib/erlang/bin:"${PATH}" - -# Choose whether to install SpiderMonkey 1.8.5, default yes -ARG js=js -# Choose whether to install Erlang, default yes -ARG erlang=erlang -# Select version of Node, Erlang and Elixir to install -ARG erlangversion=24.3.4.17 -ARG elixirversion=v1.15.7 -ARG nodeversion=14 - -# Create Jenkins user and group -RUN groupadd --gid 910 jenkins; \ - useradd --uid 910 --gid jenkins --create-home jenkins - -# Copy couchdb-ci repo into root's home directory -ADD --chown=root:root bin /root/couchdb-ci/bin/ -ADD --chown=root:root files /root/couchdb-ci/files/ - -# Jenkins builds in /usr/src/couchdb. -RUN mkdir -p /usr/src/couchdb; \ - chown -R jenkins:jenkins /usr/src/couchdb - -# Add /usr/local/lib to global LD_LIBRARY_PATH for CentOS -RUN echo "/usr/local/lib" > /etc/ld.so.conf.d/local.conf - -# Install all dependencies, and optionally SM 1.8.5 -# This allows us to use the same Dockerfile for building SM -RUN ERLANGVERSION=$erlangversion \ - ELIXIRVERSION=$elixirversion \ - NODEVERSION=$nodeversion \ - /root/couchdb-ci/bin/install-dependencies.sh $js $erlang - -# Allow Jenkins to sudo -RUN echo "jenkins ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/jenkins - -USER jenkins - -# overwrite this with 'CMD []' in a dependent Dockerfile -CMD ["/bin/bash"] diff --git a/dockerfiles/debian-buster b/dockerfiles/debian-buster deleted file mode 100644 index 6204597..0000000 --- a/dockerfiles/debian-buster +++ /dev/null @@ -1,68 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations - -# NOTE: These are intended to be built using the arguments as -# described in ../build.sh. See that script for more details. - -ARG repository=debian - -FROM $repository:buster - -# Install Java -ENV JAVA_HOME=/opt/java/openjdk -COPY --from=eclipse-temurin:11 $JAVA_HOME $JAVA_HOME -ENV PATH="${JAVA_HOME}/bin:${PATH}" - -# These are needed for the Clouseau integration -ENV CLOUSEAU_JAVA_HOME=/opt/java/openjdk8 -COPY --from=ibm-semeru-runtimes:open-8-jre /opt/java/openjdk $CLOUSEAU_JAVA_HOME -ENV PATH=/usr/local/lib/erlang/bin:"${PATH}" - -# Choose whether to install SpiderMonkey 1.8.5, default yes -ARG js=js -# Choose whether to install Erlang, default yes -ARG erlang=erlang -# Select version of Node, Erlang and Elixir -ARG erlangversion=24.3.4.17 -ARG elixirversion=v1.15.7 -ARG nodeversion=18 - -# Create Jenkins user and group -RUN groupadd --gid 910 jenkins; \ - useradd --uid 910 --gid jenkins --create-home jenkins - -# Copy couchdb-ci repo into root's home directory -ADD --chown=root:root bin /root/couchdb-ci/bin/ -ADD --chown=root:root files /root/couchdb-ci/files/ - -# Jenkins builds in /usr/src/couchdb. -RUN mkdir -p /usr/src/couchdb; \ - chown -R jenkins:jenkins /usr/src/couchdb - -# Install all dependencies, and optionally SM 1.8.5 -# This allows us to use the same Dockerfile for building SM -RUN ERLANGVERSION=$erlangversion \ - ELIXIRVERSION=$elixirversion \ - NODEVERSION=$nodeversion \ - /root/couchdb-ci/bin/install-dependencies.sh $js $erlang - -# Allow Jenkins to sudo -RUN echo "jenkins ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/jenkins - -USER jenkins - -# overwrite this with 'CMD []' in a dependent Dockerfile -CMD ["/bin/bash"] diff --git a/dockerfiles/ubuntu-bionic b/dockerfiles/ubuntu-bionic deleted file mode 100644 index 8366e1a..0000000 --- a/dockerfiles/ubuntu-bionic +++ /dev/null @@ -1,66 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations - -# NOTE: These are intended to be built using the arguments as -# described in ../build.sh. See that script for more details. - -FROM ubuntu:bionic - -# Install Java -ENV JAVA_HOME=/opt/java/openjdk -COPY --from=eclipse-temurin:11 $JAVA_HOME $JAVA_HOME -ENV PATH="${JAVA_HOME}/bin:${PATH}" - -# These are needed for the Clouseau integration -ENV CLOUSEAU_JAVA_HOME=/opt/java/openjdk8 -COPY --from=ibm-semeru-runtimes:open-8-jre /opt/java/openjdk $CLOUSEAU_JAVA_HOME -ENV PATH=/usr/local/lib/erlang/bin:"${PATH}" - -# Choose whether to install SpiderMonkey 1.8.5, default yes -ARG js=js -# Choose whether to install Erlang, default yes -ARG erlang=erlang -# Select version of Node, Erlang and Elixir to install -ARG erlangversion=24.3.4.17 -ARG elixirversion=v1.15.7 -ARG nodeversion=16 - -# Create Jenkins user and group -RUN groupadd --gid 910 jenkins; \ - useradd --uid 910 --gid jenkins --create-home jenkins - -# Copy couchdb-ci repo into root's home directory -ADD --chown=root:root bin /root/couchdb-ci/bin/ -ADD --chown=root:root files /root/couchdb-ci/files/ - -# Jenkins builds in /usr/src/couchdb. -RUN mkdir -p /usr/src/couchdb; \ - chown -R jenkins:jenkins /usr/src/couchdb - -# Install all dependencies, and optionally SM 1.8.5 -# This allows us to use the same Dockerfile for building SM -RUN ERLANGVERSION=$erlangversion \ - ELIXIRVERSION=$elixirversion \ - NODEVERSION=$nodeversion \ - /root/couchdb-ci/bin/install-dependencies.sh $js $erlang - -# Allow Jenkins to sudo -RUN echo "jenkins ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/jenkins - -USER jenkins - -# overwrite this with 'CMD []' in a dependent Dockerfile -CMD ["/bin/bash"] diff --git a/pull-all-couchdbdev-docker b/pull-all-couchdbdev-docker index c8a0723..9400813 100644 --- a/pull-all-couchdbdev-docker +++ b/pull-all-couchdbdev-docker @@ -6,12 +6,9 @@ DOCKER_ORG="apache" KEEP_IMAGES=( couchdbci-debian:bullseye-erlang-25.3.2.12 couchdbci-debian:bullseye-erlang-26.2.5 -couchdbci-debian:buster-erlang-24.3.4.17 couchdbci-debian:bullseye-erlang-24.3.4.17 couchdbci-centos:9-erlang-24.3.4.17 couchdbci-centos:8-erlang-24.3.4.17 -couchdbci-centos:7-erlang-24.3.4.17 -couchdbci-ubuntu:bionic-erlang-24.3.4.17 couchdbci-ubuntu:jammy-erlang-24.3.4.17 couchdbci-ubuntu:focal-erlang-24.3.4.17 )