From ce38b5a05629f3ba06aeee5f9ad344d1cba8ae6c Mon Sep 17 00:00:00 2001 From: Johanna Amann Date: Wed, 17 Nov 2021 13:18:04 +0000 Subject: [PATCH] Add OpenSSL 3.0 CI test --- .cirrus.yml | 12 ++++++++++++ ci/openssl-3.0/Dockerfile | 35 +++++++++++++++++++++++++++++++++++ 2 files changed, 47 insertions(+) create mode 100644 ci/openssl-3.0/Dockerfile diff --git a/.cirrus.yml b/.cirrus.yml index 3b0b6bc8d9..c6cc08954b 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -14,6 +14,7 @@ config: &CONFIG --build-type=release --enable-cpp-tests --disable-broker-tests - static_config: &STATIC_CONFIG --build-type=release --enable-cpp-tests --disable-broker-tests --enable-static-broker --enable-static-binpac --prefix=$CIRRUS_WORKING_DIR/install sanitizer_config: &SANITIZER_CONFIG --build-type=debug --enable-cpp-tests --disable-broker-tests --sanitizers=address,undefined --enable-fuzzers --enable-coverage mobile_ipv6_config: &MOBILE_IPV6_CONFIG --build-type=release --enable-cpp-tests --enable-mobile-ipv6 --disable-broker-tests --prefix=$CIRRUS_WORKING_DIR/install +openssl30_config: &OPENSSL30_CONFIG --build-type=release --enable-cpp-tests --disable-broker-tests --with-openssl=/opt/openssl --prefix=$CIRRUS_WORKING_DIR/install resources_template: &RESOURCES_TEMPLATE cpu: *CPUS @@ -268,6 +269,17 @@ freebsd12_task: prepare_script: ./ci/freebsd/prepare.sh << : *CI_TEMPLATE +# This can be removed as soon as the first distribution that we use ships +# OpenSSL 3.0 +openssl30_task: + container: + # Tweaked Ubuntu 20.04 EOL: April 2025 + dockerfile: ci/openssl-3.0/Dockerfile + << : *RESOURCES_TEMPLATE + << : *CI_TEMPLATE + env: + ZEEK_CI_CONFIGURE_FLAGS: *OPENSSL30_CONFIG + sanitizer_task: container: # Just uses a recent/common distro to run memory error/leak checks. diff --git a/ci/openssl-3.0/Dockerfile b/ci/openssl-3.0/Dockerfile new file mode 100644 index 0000000000..3fa5873699 --- /dev/null +++ b/ci/openssl-3.0/Dockerfile @@ -0,0 +1,35 @@ +FROM ubuntu:20.04 + +ENV DEBIAN_FRONTEND="noninteractive" TZ="America/Los_Angeles" + +RUN apt-get update && apt-get -y install \ + git \ + cmake \ + make \ + gcc \ + g++ \ + flex \ + bison \ + libpcap-dev \ + libssl-dev \ + python3 \ + python3-dev \ + python3-pip\ + swig \ + zlib1g-dev \ + libmaxminddb-dev \ + libkrb5-dev \ + bsdmainutils \ + sqlite3 \ + curl \ + wget \ + unzip \ + ruby \ + bc \ + lcov \ + && rm -rf /var/lib/apt/lists/* + +RUN wget https://www.openssl.org/source/openssl-3.0.0.tar.gz && tar xvf ./openssl-3.0.0.tar.gz && cd ./openssl-3.0.0 && ./Configure --prefix=/opt/openssl && make install && cd .. && rm -rf openssl-3.0.0 + +RUN pip3 install junit2html +RUN gem install coveralls-lcov