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