You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@couchdb.apache.org by va...@apache.org on 2024/05/10 22:43:38 UTC

(couchdb-ci) branch remove-unsupported-oses created (now abf9bb1)

This is an automated email from the ASF dual-hosted git repository.

vatamane pushed a change to branch remove-unsupported-oses
in repository https://gitbox.apache.org/repos/asf/couchdb-ci.git


      at abf9bb1  Remove buster, bionic and centos 7

This branch includes the following new commits:

     new abf9bb1  Remove buster, bionic and centos 7

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



(couchdb-ci) 01/01: Remove buster, bionic and centos 7

Posted by va...@apache.org.
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 <va...@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
 )