Merge remote-tracking branch 'origin/topic/christian/ci-refresh'

* origin/topic/christian/ci-refresh:
  Add CI support for Debian 10, Fedora 31 & 33, FreeBSD 11, Ubuntu 20.04
This commit is contained in:
Jon Siwek 2020-11-09 16:27:04 -08:00
commit 721b232d94
11 changed files with 204 additions and 6 deletions

View file

@ -73,6 +73,13 @@ env:
# Linux EOL timelines: https://linuxlifecycle.com/
# Fedora (~13 months): https://fedoraproject.org/wiki/Fedora_Release_Life_Cycle
fedora33_task:
container:
# Fedora 33 EOL: Around November 2022
dockerfile: ci/fedora-33/Dockerfile
<< : *RESOURCES_TEMPLATE
<< : *CI_TEMPLATE
fedora32_task:
container:
# Fedora 32 EOL: Around May 2021
@ -80,10 +87,10 @@ fedora32_task:
<< : *RESOURCES_TEMPLATE
<< : *CI_TEMPLATE
centos7_task:
fedora31_task:
container:
# CentOS 7 EOL: June 30, 2024
dockerfile: ci/centos-7/Dockerfile
# Fedora 31 EOL: Nov 24 2020
dockerfile: ci/fedora-31/Dockerfile
<< : *RESOURCES_TEMPLATE
<< : *CI_TEMPLATE
@ -99,6 +106,20 @@ centos8_task:
path: build.tgz
benchmark_script: ./ci/benchmark.sh
centos7_task:
container:
# CentOS 7 EOL: June 30, 2024
dockerfile: ci/centos-7/Dockerfile
<< : *RESOURCES_TEMPLATE
<< : *CI_TEMPLATE
debian10_task:
container:
# Debian 10 EOL: June 2024
dockerfile: ci/debian-10/Dockerfile
<< : *RESOURCES_TEMPLATE
<< : *CI_TEMPLATE
debian9_task:
container:
# Debian 9 EOL: June 2022
@ -113,6 +134,13 @@ debian9_32bit_task:
<< : *RESOURCES_TEMPLATE
<< : *CI_TEMPLATE
ubuntu20_task:
container:
# Ubuntu 20.04 EOL: April 2025
dockerfile: ci/ubuntu-20.04/Dockerfile
<< : *RESOURCES_TEMPLATE
<< : *CI_TEMPLATE
ubuntu18_task:
container:
# Ubuntu 18.04 EOL: April 2023
@ -144,10 +172,20 @@ macos_task:
CIRRUS_WORKING_DIR: /tmp/zeek
# FreeBSD EOL timelines: https://www.freebsd.org/security/security.html#sup
freebsd_task:
freebsd12_task:
freebsd_instance:
# FreeBSD 12 EOL: June 30, 2024
image_family: freebsd-12-1
image_family: freebsd-12-2
cpu: 8
# Not allowed to request less than 8GB for an 8 CPU FreeBSD VM.
memory: 8GB
prepare_script: ./ci/freebsd/prepare.sh
<< : *CI_TEMPLATE
freebsd11_task:
freebsd_instance:
# FreeBSD 11 EOL: September 30, 2021
image_family: freebsd-11-4
cpu: 8
# Not allowed to request less than 8GB for an 8 CPU FreeBSD VM.
memory: 8GB

View file

@ -1,3 +1,12 @@
3.3.0-dev.506 | 2020-11-09 16:27:04 -0800
* Add CI support for Debian 10, Fedora 31 & 33, FreeBSD 11, Ubuntu 20.04 (Christian Kreibich, Corelight)
This also adds two environment variables to the Dockerfiles for the
Debian/Ubuntu flavors to avoid stalling on user input when configuring
tzdata.
3.3.0-dev.504 | 2020-11-09 10:56:09 -0700
* Remove now-unused Packet::l2_valid field (Tim Wojtulewicz, Corelight)

View file

@ -1 +1 @@
3.3.0-dev.504
3.3.0-dev.506

42
ci/debian-10/Dockerfile Normal file
View file

@ -0,0 +1,42 @@
FROM debian:10
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 \
libkrb5-dev \
bsdmainutils \
sqlite3 \
curl \
wget \
xz-utils \
clang \
libc++-7-dev \
libc++abi-7-dev \
&& rm -rf /var/lib/apt/lists/*
RUN update-alternatives --install /usr/bin/cc cc /usr/bin/clang 100
RUN update-alternatives --install /usr/bin/c++ c++ /usr/bin/clang++ 100
# Many distros adhere to PEP 394's recommendation for `python` = `python2` so
# this is a simple workaround until we drop Python 2 support and explicitly
# use `python3` for all invocations (e.g. in shebangs).
RUN ln -sf /usr/bin/python3 /usr/local/bin/python
RUN ln -sf /usr/bin/pip3 /usr/local/bin/pip
RUN pip install junit2html
ENV CXXFLAGS=-stdlib=libc++

View file

@ -1,5 +1,7 @@
FROM i386/debian:9
ENV DEBIAN_FRONTEND="noninteractive" TZ="America/Los_Angeles"
RUN apt-get update && apt-get -y install \
git \
cmake \

View file

@ -1,5 +1,7 @@
FROM debian:9
ENV DEBIAN_FRONTEND="noninteractive" TZ="America/Los_Angeles"
RUN apt-get update && apt-get -y install \
git \
cmake \

31
ci/fedora-31/Dockerfile Normal file
View file

@ -0,0 +1,31 @@
FROM fedora:31
RUN yum -y install \
bison \
cmake \
diffutils \
findutils \
flex \
git \
gcc \
gcc-c++ \
libpcap-devel \
make \
openssl \
openssl-devel \
python3 \
python3-devel \
python3-pip\
sqlite \
swig \
which \
zlib-devel \
&& yum clean all && rm -rf /var/cache/yum
# Many distros adhere to PEP 394's recommendation for `python` = `python2` so
# this is a simple workaround until we drop Python 2 support and explicitly
# use `python3` for all invocations (e.g. in shebangs).
RUN ln -sf /usr/bin/python3 /usr/local/bin/python
RUN ln -sf /usr/bin/pip3 /usr/local/bin/pip
RUN pip install junit2html

31
ci/fedora-33/Dockerfile Normal file
View file

@ -0,0 +1,31 @@
FROM fedora:33
RUN yum -y install \
bison \
cmake \
diffutils \
findutils \
flex \
git \
gcc \
gcc-c++ \
libpcap-devel \
make \
openssl \
openssl-devel \
python3 \
python3-devel \
python3-pip\
sqlite \
swig \
which \
zlib-devel \
&& yum clean all && rm -rf /var/cache/yum
# Many distros adhere to PEP 394's recommendation for `python` = `python2` so
# this is a simple workaround until we drop Python 2 support and explicitly
# use `python3` for all invocations (e.g. in shebangs).
RUN ln -sf /usr/bin/python3 /usr/local/bin/python
RUN ln -sf /usr/bin/pip3 /usr/local/bin/pip
RUN pip install junit2html

View file

@ -1,5 +1,7 @@
FROM ubuntu:16.04
ENV DEBIAN_FRONTEND="noninteractive" TZ="America/Los_Angeles"
RUN apt-get update && apt-get -y install \
git \
cmake \

View file

@ -1,5 +1,7 @@
FROM ubuntu:18.04
ENV DEBIAN_FRONTEND="noninteractive" TZ="America/Los_Angeles"
RUN apt-get update && apt-get -y install \
git \
cmake \

View file

@ -0,0 +1,39 @@
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/*
# Many distros adhere to PEP 394's recommendation for `python` = `python2` so
# this is a simple workaround until we drop Python 2 support and explicitly
# use `python3` for all invocations (e.g. in shebangs).
RUN ln -sf /usr/bin/python3 /usr/local/bin/python
RUN ln -sf /usr/bin/pip3 /usr/local/bin/pip
RUN pip install junit2html
RUN gem install coveralls-lcov