This is an automated email from the ASF dual-hosted git repository. ronny pushed a commit to branch add-debian-trixie in repository https://gitbox.apache.org/repos/asf/couchdb-ci.git
commit 7c4ca904ea063a6ea4c4c5b8a75d1dc9d0241461 Author: Ronny Berndt <[email protected]> AuthorDate: Tue Sep 2 11:10:47 2025 +0200 Add Debian Trixie --- bin/apt-dependencies.sh | 8 ++++-- build.sh | 2 +- dockerfiles/debian-trixie | 68 ++++++++++++++++++++++++++++++++++++++++++++++ pull-all-couchdbdev-docker | 17 ++++++------ 4 files changed, 84 insertions(+), 11 deletions(-) diff --git a/bin/apt-dependencies.sh b/bin/apt-dependencies.sh index d08538a..73229c3 100755 --- a/bin/apt-dependencies.sh +++ b/bin/apt-dependencies.sh @@ -42,7 +42,7 @@ apt-get update && apt-get install -y lsb-release SCRIPTPATH="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" . ${SCRIPTPATH}/detect-arch.sh >/dev/null . ${SCRIPTPATH}/detect-os.sh >/dev/null -debians='(bullseye|bookworm)' +debians='(bullseye|bookworm|trixie)' ubuntus='(jammy|noble)' echo "Detected Ubuntu/Debian version: ${VERSION_CODENAME} arch: ${ARCH}" @@ -114,7 +114,7 @@ EOF fi # rest of python dependencies -if [ "${VERSION_CODENAME}" == "bookworm" -o "${VERSION_CODENAME}" == "noble" ]; then +if [ "${VERSION_CODENAME}" == "bookworm" ] || [ "${VERSION_CODENAME}" == "noble" ]; then # On Debian bookworm and Ubuntu noble, need the --break-system-package to into to default system location apt-get -y --no-install-recommends install sphinx-rtd-theme-common python3-nose python3-requests python3-hypothesis else @@ -144,6 +144,7 @@ if [ "$1" != "nojs" ]; then [ "${VERSION_CODENAME}" != "jammy" ] && \ [ "${VERSION_CODENAME}" != "bullseye" ] && \ [ "${VERSION_CODENAME}" != "bookworm" ] && \ + [ "${VERSION_CODENAME}" != "trixie" ] && \ [ "${ARCH}" != "s390x" ]; then curl https://couchdb.apache.org/repo/keys.asc | gpg --dearmor | tee /usr/share/keyrings/couchdb-archive-keyring.gpg >/dev/null 2>&1 source /etc/os-release @@ -165,6 +166,9 @@ if [ "$1" != "nojs" ]; then if [ "${VERSION_CODENAME}" == "bookworm" ]; then apt-get install --no-install-recommends -y libmozjs-78-dev fi + if [ "${VERSION_CODENAME}" == "trixie" ]; then + apt-get install --no-install-recommends -y libmozjs-128-dev + fi else # install js build-time dependencies only # we can't add the CouchDB repo here because the plat may not exist yet diff --git a/build.sh b/build.sh index 8ceb729..1ee74f8 100755 --- a/build.sh +++ b/build.sh @@ -46,7 +46,7 @@ SCRIPTPATH="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" # When updating the images, consider updating pull-all-couchdbdev-docker # script as well # -DEBIANS="debian-bullseye debian-bookworm" +DEBIANS="debian-bullseye debian-bookworm debian-trixie" UBUNTUS="ubuntu-jammy ubuntu-noble" CENTOSES="almalinux-8 almalinux-9" diff --git a/dockerfiles/debian-trixie b/dockerfiles/debian-trixie new file mode 100644 index 0000000..a8288e8 --- /dev/null +++ b/dockerfiles/debian-trixie @@ -0,0 +1,68 @@ +# 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:trixie + +# Install Java +ENV JAVA_HOME=/opt/java/openjdk +COPY --from=eclipse-temurin:21 $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=26.2.5.11 +ARG elixirversion=v1.18.4 +ARG nodeversion=20 + +# 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 e9b05d0..b61d15e 100644 --- a/pull-all-couchdbdev-docker +++ b/pull-all-couchdbdev-docker @@ -4,14 +4,15 @@ DOCKER_ORG="apache" # These are the images that are currently being used, so don't `docker rmi` them on cleanup. KEEP_IMAGES=( -couchdbci-debian:bookworm-erlang:27.3.4.1 -couchdbci-debian:bookworm-erlang:28.0.1 -couchdbci-debian:bookworm-erlang-26.2.5.13 -couchdbci-debian:bullseye-erlang:26.2.5.13 -couchdbci-ubuntu:noble-erlang-26.2.5.13 -couchdbci-ubuntu:jammy-erlang-26.2.5.13 -couchdbci-centos:9-erlang-26.2.5.13 -couchdbci-centos:8-erlang-26.2.5.13 +couchdbci-debian:trixie-erlang:28.0.2 +couchdbci-debian:trixie-erlang:27.3.4.2 +couchdbci-debian:trixie-erlang-26.2.5.14 +couchdbci-debian:bookworm-erlang-26.2.5.14 +couchdbci-debian:bullseye-erlang:26.2.5.14 +couchdbci-ubuntu:noble-erlang-26.2.5.14 +couchdbci-ubuntu:jammy-erlang-26.2.5.14 +couchdbci-centos:9-erlang-26.2.5.14 +couchdbci-centos:8-erlang-26.2.5.14 ) for image in ${KEEP_IMAGES[*]}
