Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added FreeBSD and OpenBSD, and install missed cairo on macOS #271

Merged
merged 2 commits into from
Dec 23, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
62 changes: 55 additions & 7 deletions .github/workflows/continuous-integration.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
# 2020-06-27 - slg - expanded to G++ for MacOS
# 2020-07-03 - slg - ported to be13_api; removed python (be13_api doesn't use python)

name: TCPFLOW CI ON MAC AND UBUNTU (c++14)
name: TCPFLOW CI (c++14)
on:
push:
branches:
Expand All @@ -13,7 +13,7 @@ on:
branches:
- main # Specify the branches for which pull_request events should trigger the action
jobs:
build:
native:
runs-on: ${{ matrix.os }}
strategy:
matrix:
Expand All @@ -29,11 +29,11 @@ jobs:
- name: Install C++ dependencies on MacOS
if: startsWith(matrix.os, 'macOS')
run: |
brew install libtool autoconf automake boost openssl libpcap
echo LDFLAGS="-L$(brew --prefix libpcap)/lib -L$(brew --prefix openssl)/lib -L$(brew --prefix boost)/lib" >> $GITHUB_ENV
echo CFLAGS="-I$(brew --prefix libpcap)/include -I$(brew --prefix openssl)/include -I$(brew --prefix boost)/include" >> $GITHUB_ENV
echo CXXFLAGS="-I$(brew --prefix libpcap)/include -I$(brew --prefix openssl)/include -I$(brew --prefix boost)/include" >> $GITHUB_ENV
echo PKG_CONFIG_PATH="$(brew --prefix libpcap)/pkgconfig:$(brew --prefix openssl)/lib/pkgconfig" >> $GITHUB_ENV
brew install libtool autoconf automake boost openssl libpcap cairo
echo LDFLAGS="-L$(brew --prefix cairo)/lib -L$(brew --prefix libpcap)/lib -L$(brew --prefix openssl)/lib -L$(brew --prefix boost)/lib" >> $GITHUB_ENV
echo CFLAGS="-I$(brew --prefix cairo)/include -I$(brew --prefix libpcap)/include -I$(brew --prefix openssl)/include -I$(brew --prefix boost)/include" >> $GITHUB_ENV
echo CXXFLAGS="-I$(brew --prefix cairo)/include -I$(brew --prefix libpcap)/include -I$(brew --prefix openssl)/include -I$(brew --prefix boost)/include" >> $GITHUB_ENV
echo PKG_CONFIG_PATH="$(brew --prefix cairo)/pkgconfig:$(brew --prefix libpcap)/pkgconfig:$(brew --prefix openssl)/lib/pkgconfig" >> $GITHUB_ENV

- name: Install C++ dependencies on Ubuntu
if: startsWith(matrix.os, 'ubuntu')
Expand All @@ -55,3 +55,51 @@ jobs:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
run: |
bash .make-codecov

freebsd:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: recursive

- name: Test in FreeBSD
uses: vmactions/freebsd-vm@v1
with:
usesh: true
prepare: |
pkg install -y bash autoconf automake boost-all openssl libpcap cairo

run: |
set -e
bash bootstrap.sh
./configure
make
make check

openbsd:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: recursive

- name: Test in OpenBSD
uses: vmactions/openbsd-vm@v1
with:
usesh: true
prepare: |
pkg_add bash autoconf%2.72 automake%1.16 boost cairo

# OpenBSD has it's own libpcap which can't read some pcap, nuke it!
run: |
set -e
env AUTOCONF_VERSION=2.72 AUTOMAKE_VERSION=1.16 bash bootstrap.sh
./configure
make
rm ./tests/test1-out-of-order.pcap
rm ./tests/test5-lines-randomized.pcap
rm ./tests/test5-lines-randomized2.pcap
make check

# NetBSD VM quite unstable, it hangs on installing cairo, bash bootstrap.sh and so on
Loading