Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/topic/christian/ci-refresh'
Browse files Browse the repository at this point in the history
* origin/topic/christian/ci-refresh:
  Add CI support for Debian 10, Fedora 31 & 33, FreeBSD 11, Ubuntu 20.04
  • Loading branch information
jsiwek committed Nov 10, 2020
2 parents 9fc4f6c + 13ecafd commit 721b232
Show file tree
Hide file tree
Showing 11 changed files with 204 additions and 6 deletions.
48 changes: 43 additions & 5 deletions .cirrus.yml
Original file line number Diff line number Diff line change
Expand Up @@ -73,17 +73,24 @@ 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
dockerfile: ci/fedora-32/Dockerfile
<< : *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

Expand All @@ -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
Expand All @@ -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
Expand Down Expand Up @@ -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
Expand Down
9 changes: 9 additions & 0 deletions CHANGES
Original file line number Diff line number Diff line change
@@ -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)
Expand Down
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
3.3.0-dev.504
3.3.0-dev.506
42 changes: 42 additions & 0 deletions ci/debian-10/Dockerfile
Original file line number Diff line number Diff line change
@@ -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++
2 changes: 2 additions & 0 deletions ci/debian-9-32bit/Dockerfile
Original file line number Diff line number Diff line change
@@ -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 \
Expand Down
2 changes: 2 additions & 0 deletions ci/debian-9/Dockerfile
Original file line number Diff line number Diff line change
@@ -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 \
Expand Down
31 changes: 31 additions & 0 deletions ci/fedora-31/Dockerfile
Original file line number Diff line number Diff line change
@@ -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 changes: 31 additions & 0 deletions ci/fedora-33/Dockerfile
Original file line number Diff line number Diff line change
@@ -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
2 changes: 2 additions & 0 deletions ci/ubuntu-16.04/Dockerfile
Original file line number Diff line number Diff line change
@@ -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 \
Expand Down
2 changes: 2 additions & 0 deletions ci/ubuntu-18.04/Dockerfile
Original file line number Diff line number Diff line change
@@ -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 \
Expand Down
39 changes: 39 additions & 0 deletions ci/ubuntu-20.04/Dockerfile
Original file line number Diff line number Diff line change
@@ -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

0 comments on commit 721b232

Please sign in to comment.