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 c6082ec  Add abi checking tools to fedora:39 (#314)
c6082ec is described below

commit c6082ec3059db20f6f02de508206c542137abb8b
Author: Brian Neradt <[email protected]>
AuthorDate: Wed Jan 17 14:10:19 2024 -0600

    Add abi checking tools to fedora:39 (#314)
---
 docker/fedora39/Dockerfile | 43 +++++++++++++++++++++++++++++++++++--------
 1 file changed, 35 insertions(+), 8 deletions(-)

diff --git a/docker/fedora39/Dockerfile b/docker/fedora39/Dockerfile
index ceae10c..234af12 100644
--- a/docker/fedora39/Dockerfile
+++ b/docker/fedora39/Dockerfile
@@ -2,6 +2,9 @@ FROM fedora:39
 
 
#-------------------------------------------------------------------------------
 # Install the various system packages we use.
+#
+# Try to keep all or at least most dnf commands at the beginning and clean
+# afterwards to keep the Docker images smaller.
 
#-------------------------------------------------------------------------------
 RUN <<EOF
   set -e
@@ -33,6 +36,23 @@ RUN <<EOF
   dnf -y install \
     python3 httpd-tools procps-ng nmap-ncat python3-pip \
     python3-gunicorn python3-requests python3-devel python3-psutil telnet
+
+  # Needed to install openssl-quic
+  dnf -y install libev-devel jemalloc-devel libxml2-devel \
+    c-ares-devel libevent-devel cjose-devel jansson-devel zlib-devel \
+    systemd-devel perl-FindBin cargo
+
+  # build_h3_tools will install its own version of golang.
+  dnf remove -y golang
+
+  # lcov is used for code coverage.
+  dnf install -y lcov
+
+  # abi tool dependencies.
+  dnf install -y ctags elfutils-libelf-devel wdiff rfcdiff
+
+  # Cleaning before this RUN command finishes keeps the image size smaller.
+  dnf clean all
 EOF
 
 
#-------------------------------------------------------------------------------
@@ -55,12 +75,8 @@ RUN pip3 install pipenv httpbin
 
#-------------------------------------------------------------------------------
 # Install the HTTP/3 build tools, including openssl-quic.
 
#-------------------------------------------------------------------------------
-RUN dnf -y install libev-devel jemalloc-devel libxml2-devel \
-    c-ares-devel libevent-devel cjose-devel jansson-devel zlib-devel \
-    systemd-devel perl-FindBin cargo
 
 # go will be installed by build_h3_tools.
-RUN dnf remove -y golang
 ARG h3_tools_dir=/root/build_h3_tools
 RUN mkdir -p ${h3_tools_dir}
 COPY /build_h3_tools.sh ${h3_tools_dir}/build_h3_tools.sh
@@ -72,7 +88,6 @@ RUN <<EOF
   rm -rf ${h3_tools_dir} /root/.rustup
 EOF
 
-
 
#-------------------------------------------------------------------------------
 # Various CI Job and Test Requirements.
 
#-------------------------------------------------------------------------------
@@ -138,8 +153,20 @@ RUN <<EOF
   chown -R ${username} /home/${username}
 EOF
 
-# Install lcov
-RUN dnf install -y lcov
+# Install abi checking tools.
+RUN <<EOF
+  set -e
+  mkdir -p /root/src/abi
+  cd /root/src/abi
+  git clone https://github.com/lvc/installer.git
+  cd installer
+  for i in abi-dumper abi-tracker abi-compliance-checker vtable-dumper 
abi-monitor
+  do
+    make install prefix=/opt target=${i}
+  done
+  cd /root
+  rm -rf src/abi
+EOF
 
-# Keep this at the end to clean up the dnf cache.
+# Keep this at the end to ensure the dnf cache is cleared out.
 RUN dnf clean all

Reply via email to