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

big-r81 pushed a commit to branch add-ubuntu-resolute
in repository https://gitbox.apache.org/repos/asf/couchdb-ci.git

commit 1f61307bff4d6e172caba4d5effad84423e7aca2
Author: Ronny Berndt <[email protected]>
AuthorDate: Fri May 15 09:21:59 2026 +0200

    Add Ubuntu Resolute Raccoon
---
 bin/apt-dependencies.sh     |  5 +++-
 build.sh                    |  2 +-
 dockerfiles/ubuntu-resolute | 68 +++++++++++++++++++++++++++++++++++++++++++++
 pull-all-couchdbdev-docker  |  1 +
 4 files changed, 74 insertions(+), 2 deletions(-)

diff --git a/bin/apt-dependencies.sh b/bin/apt-dependencies.sh
index a44b9c8..9a9b3cc 100755
--- a/bin/apt-dependencies.sh
+++ b/bin/apt-dependencies.sh
@@ -110,7 +110,7 @@ fi
 # Since Debian bookworm and Ubuntu noble, to install python packages as system 
packages, add the "python3-"prefix
 if [ "${VERSION_CODENAME}" == "bookworm" ] || [ "${VERSION_CODENAME}" == 
"noble" ]; then
     apt-get -y --no-install-recommends install python3-nose python3-requests 
python3-hypothesis
-elif [ "${VERSION_CODENAME}" == "trixie" ]; then
+elif [ "${VERSION_CODENAME}" == "trixie" ] || [ "${VERSION_CODENAME}" == 
"resolute" ]; then
     apt-get -y --no-install-recommends install python3-nose2 python3-requests 
python3-hypothesis
 else
     pip3 --default-timeout=10000 install --upgrade nose requests 
hypothesis==3.79.0
@@ -135,6 +135,9 @@ fi
 # js packages, as long as we're not told to skip them
 if [ "$1" != "nojs" ]; then
   # newer releases have newer libmozjs
+  if [ "${VERSION_CODENAME}" == "resolute" ]; then
+      apt-get install --no-install-recommends -y libmozjs-128-dev
+  fi
   if [ "${VERSION_CODENAME}" == "noble" ]; then
     apt-get install --no-install-recommends -y libmozjs-102-dev 
libmozjs-115-dev
   fi
diff --git a/build.sh b/build.sh
index db8142a..d1b60d8 100755
--- a/build.sh
+++ b/build.sh
@@ -47,7 +47,7 @@ SCRIPTPATH="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
 # script as well
 #
 DEBIANS="debian-bullseye debian-bookworm debian-trixie"
-UBUNTUS="ubuntu-jammy ubuntu-noble"
+UBUNTUS="ubuntu-jammy ubuntu-noble ubuntu-resolute"
 CENTOSES="almalinux-8 almalinux-9 almalinux-10"
 
 PASSED_BUILDARGS="$buildargs"
diff --git a/dockerfiles/ubuntu-resolute b/dockerfiles/ubuntu-resolute
new file mode 100644
index 0000000..ff1bd9d
--- /dev/null
+++ b/dockerfiles/ubuntu-resolute
@@ -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.
+
+FROM ubuntu:resolute
+
+# 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
+# This is the same as for Nouveau for the moment, but perhaps it is better to
+# keep it separate as there is no guarantee that they will be bumped at the
+# same pace.
+ENV CLOUSEAU_JAVA_HOME="${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=26.2.5.20
+ARG elixirversion=v1.18.4
+ARG nodeversion=24
+
+# 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 56b1960..fb38a5f 100644
--- a/pull-all-couchdbdev-docker
+++ b/pull-all-couchdbdev-docker
@@ -12,6 +12,7 @@ apache/couchdbci-debian:bookworm-erlang:27.3.4.8
 apache/couchdbci-debian:bookworm-erlang-26.2.5.20
 apache/couchdbci-debian:bullseye-erlang:26.2.5.20
 apache/couchdbci-debian:trixie-erlang:26.2.5.20
+apache/couchdbci-ubuntu:resolute-erlang-26.2.5.20
 apache/couchdbci-ubuntu:noble-erlang-26.2.5.20
 apache/couchdbci-ubuntu:jammy-erlang-26.2.5.20
 apache/couchdbci-centos:10-erlang-26.2.5.20

Reply via email to