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

bneradt pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/trafficserver-ci.git


The following commit(s) were added to refs/heads/main by this push:
     new a2d7892  Ubuntu 24.04 (#404)
a2d7892 is described below

commit a2d789232483285ce8d177d457620379b82b4c2f
Author: Brian Neradt <[email protected]>
AuthorDate: Wed Dec 3 12:54:59 2025 -0600

    Ubuntu 24.04 (#404)
---
 docker/ubuntu2404/Dockerfile | 70 ++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 70 insertions(+)

diff --git a/docker/ubuntu2404/Dockerfile b/docker/ubuntu2404/Dockerfile
new file mode 100644
index 0000000..b8917d3
--- /dev/null
+++ b/docker/ubuntu2404/Dockerfile
@@ -0,0 +1,70 @@
+FROM ubuntu:24.04
+
+ENV DEBIAN_FRONTEND=noninteractive
+
+RUN <<EOF
+    set -e
+
+    apt-get update
+
+    apt-get -y install build-essential llvm lld ccache \
+    make pkgconf bison flex g++ clang gettext libc++-dev autoconf automake \
+    libtool autotools-dev git distcc file wget openssl hwloc intltool-debian \
+    clang-tools-14 clang-14 cmake ninja-build
+
+    apt-get -y install libssl-dev libexpat1-dev \
+    libpcre3-dev libcap-dev libhwloc-dev libunwind8 libunwind-dev zlib1g-dev \
+    libjemalloc-dev libluajit-5.1-dev liblzma-dev \
+    libhiredis-dev libbrotli-dev libncurses-dev libgeoip-dev libmagick++-dev \
+    libmaxminddb-dev libcjose-dev libcjose0 libjansson-dev
+
+    apt-get -y autoremove
+    apt-get -y clean
+EOF
+
+# We put our custom packages in /opt.
+RUN <<EOF
+  set -e
+  mkdir -p /opt/bin
+  chmod 755 /opt/bin
+  echo 'PATH=/opt/bin:$PATH' | tee -a /etc/bash.bashrc
+EOF
+
+ARG PATH=/opt/bin:$PATH
+
+# Install nuraft for the stek_share plugin. Distros, unfortunately, do not
+# package these, so this has to be built by hand.
+RUN <<EOF
+  set -e
+
+  git clone https://github.com/eBay/NuRaft.git
+  cd NuRaft
+  ./prepare.sh
+
+  cmake \
+    -B build \
+    -G Ninja \
+    -DCMAKE_INSTALL_PREFIX=/opt/
+  cmake --build build
+  cmake --install build
+  cd ../
+  rm -rf NuRaft
+EOF
+
+# Add the CI's test user. N.B: 1200 is the uid that our jenkins user is
+# configured with, so that has to be used. Otherwise there will be permissions
+# issues.
+ARG username=jenkins
+ARG uid=1200
+RUN <<EOF
+  set -e
+  useradd \
+    --home-dir /home/${username} \
+    --groups users,sudo \
+    --uid ${uid} \
+    --shell /bin/bash \
+    --create-home \
+    ${username}
+  echo "${username} ALL=(ALL:ALL) NOPASSWD:ALL" >> /etc/sudoers
+  chown -R ${username} /home/${username}
+EOF

Reply via email to