Skip to content

Mbed TLS 4.x Compatibility Update #1336

Mbed TLS 4.x Compatibility Update

Mbed TLS 4.x Compatibility Update #1336

Workflow file for this run

name: Quality Assurance
on:
push:
pull_request:
jobs:
build-linux:
name: Linux (${{ matrix.platform.label }}, ${{ matrix.compiler.label }}, ${{ matrix.configure.label }})
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-24.04]
platform:
- {label: "x64", arch: "amd64", configure: ""} # nur noch x64
compiler:
- {label: "gcc", cc: "gcc", cxx: "g++"}
- {label: "clang", cc: "clang", cxx: "clang++"}
configure:
- {label: "with parser generation", opt: "--enable-parser-generation" }
- {label: "wo curl", opt: "--without-curl" }
- {label: "wo lua", opt: "--without-lua" }
- {label: "wo maxmind", opt: "--without-maxmind" }
- {label: "wo libxml", opt: "--without-libxml" }
- {label: "wo geoip", opt: "--without-geoip" }
- {label: "wo ssdeep", opt: "--without-ssdeep" }
- {label: "with lmdb", opt: "--with-lmdb" }
- {label: "with pcre", opt: "--with-pcre" }
# keine excludes mehr nötig – es gibt kein x32
steps:
- name: Setup Dependencies (common)
run: |
sudo dpkg --add-architecture ${{ matrix.platform.arch }}
sudo apt-get update -y -qq
sudo apt-get install -y libyajl-dev:${{ matrix.platform.arch }} \
libcurl4-openssl-dev:${{ matrix.platform.arch }} \
liblmdb-dev:${{ matrix.platform.arch }} \
liblua5.3-dev:${{ matrix.platform.arch }} \
libmaxminddb-dev:${{ matrix.platform.arch }} \
libpcre2-dev:${{ matrix.platform.arch }} \
pcre2-utils:${{ matrix.platform.arch }} \
libpcre3-dev:${{ matrix.platform.arch }} \
bison flex cmake \
libmbedtls-dev:${{ matrix.platform.arch }}
# x32-Setup fällt komplett weg
- name: Setup Dependencies (x64)
if: ${{ matrix.platform.label == 'x64' }}
run: |
sudo apt-get install -y libgeoip-dev:${{ matrix.platform.arch }} \
libfuzzy-dev:${{ matrix.platform.arch }}
- uses: actions/checkout@v6
with:
submodules: true
fetch-depth: 0
- name: Init git submodules
run: |
git submodule sync --recursive
git submodule update --init --recursive --force
- name: Build-Script ausführbar machen
run: chmod +x build_on_linux.sh
- name: build_on_linux.sh
run: ./build_on_linux.sh
- name: configure
env:
CC: ${{ matrix.compiler.cc }}
CXX: ${{ matrix.compiler.cxx }}
run: ./configure ${{ matrix.configure.opt }} --enable-assertions=yes --disable-dependency-tracking
- uses: ammaraskar/gcc-problem-matcher@master
- name: make
run: make -j `nproc`
- name: check
run: make check
build-macos:
name: macOS (${{ matrix.configure.label }})
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [macos-14, macos-15, macos-26]
configure:
- {label: "with parser generation", opt: "--enable-parser-generation --without-geoip" }
- {label: "wo curl", opt: "--without-curl --without-geoip" }
- {label: "wo lua", opt: "--without-lua --without-geoip" }
- {label: "wo maxmind", opt: "--without-maxmind --without-geoip" }
- {label: "wo libxml", opt: "--without-libxml --without-geoip" }
- {label: "wo geoip", opt: "--without-geoip" }
- {label: "wo ssdeep", opt: "--without-ssdeep --without-geoip" }
- {label: "with lmdb", opt: "--with-lmdb --without-geoip" }
- {label: "with pcre", opt: "--with-pcre --without-geoip" }
steps:
- name: Setup Homebrew
run: |
echo "PATH=/opt/homebrew/bin:$PATH" >> $GITHUB_ENV
echo "PKG_CONFIG_PATH=/opt/homebrew/lib/pkgconfig:/opt/homebrew/opt/openssl/lib/pkgconfig:/opt/homebrew/opt/pcre/lib/pkgconfig:/opt/homebrew/opt/pcre2/lib/pkgconfig:/opt/homebrew/opt/libxml2/lib/pkgconfig:/opt/homebrew/opt/curl/lib/pkgconfig:/opt/homebrew/opt/icu4c/lib/pkgconfig:/opt/homebrew/opt/openssl@3/lib/pkgconfig" >> $GITHUB_ENV
- name: Install Dependencies
run: |
brew update
brew install autoconf \
automake \
libtool \
yajl \
lmdb \
lua \
libmaxminddb \
libxml2 \
ssdeep \
pcre \
bison \
flex \
mbedtls
- uses: actions/checkout@v6
with:
submodules: true
fetch-depth: 0
- name: Init git submodules
run: |
git submodule sync --recursive
git submodule update --init --recursive --force
- name: Build-Script ausführbar machen
run: chmod +x build_on_macos.sh
- name: build_on_macos.sh
run: ./build_on_macos.sh
- name: configure
env:
CPPFLAGS: -I/opt/homebrew/opt/mbedtls/include
LDFLAGS: -L/opt/homebrew/opt/mbedtls/lib
run: ./configure ${{ matrix.configure.opt }} --enable-assertions=yes --disable-dependency-tracking
- uses: ammaraskar/gcc-problem-matcher@master
- name: make
run: make -j `sysctl -n hw.logicalcpu`
- name: check
run: make check
# build-windows:
# name: Windows (${{ matrix.configure.label }})
# runs-on: windows-latest
# strategy:
# matrix:
# configure:
# - {label: "default", opt: "" }
# - {label: "wo curl", opt: "-DWITH_CURL=OFF" }
# - {label: "wo lua", opt: "-DWITH_LUA=OFF" }
# - {label: "wo maxmind", opt: "-DWITH_MAXMIND=OFF" }
# - {label: "wo libxml", opt: "-DWITH_LIBXML2=OFF" }
# - {label: "with lmdb", opt: "-DWITH_LMDB=ON" }
# steps:
# - uses: actions/checkout@v6
# with:
# submodules: true
# fetch-depth: 0
# - name: Init git submodules
# run: |
# git submodule sync --recursive
# git submodule update --init --recursive --force
# - name: Install Conan
# run: |
# pip3 install conan
# - name: Configure Conan
# run: |
# conan profile detect
# - name: Configure CMake
# run: |
# cmake -S . -B build ${{ matrix.configure.opt }}
# - name: Build
# run: |
# cmake --build build --config Release
cppcheck-linux:
name: cppcheck (Linux)
runs-on: ubuntu-24.04
timeout-minutes: 120
steps:
- name: Setup Dependencies
run: |
sudo apt-get update -y -qq
sudo apt-get install -y \
cppcheck \
autoconf \
automake \
libtool
- uses: actions/checkout@v6
with:
submodules: true
fetch-depth: 0
- name: Init git submodules
run: |
git submodule sync --recursive
git submodule update --init --recursive --force
- name: Build-Script ausführbar machen
run: chmod +x build_on_linux.sh
- name: build_on_linux.sh
run: ./build_on_linux.sh
- name: configure
run: ./configure --disable-dependency-tracking
- name: cppcheck
run: make check-static JOBS=$(nproc)
cppcheck-macos:
name: cppcheck (macOS)
runs-on: macos-14
steps:
- name: Setup Dependencies
# curl, pcre2 not installed because they're from Apple
run: |
brew update
brew install autoconf \
automake \
libtool \
cppcheck \
mbedtls
- uses: actions/checkout@v6
with:
submodules: true
fetch-depth: 0
- name: Init git submodules
run: |
git submodule sync --recursive
git submodule update --init --recursive --force
- name: Build-Script ausführbar machen
run: chmod +x build_on_macos.sh
- name: build_on_macos.sh
run: ./build_on_macos.sh
- name: configure
env:
CPPFLAGS: -I/opt/homebrew/opt/mbedtls/include
LDFLAGS: -L/opt/homebrew/opt/mbedtls/lib
run: ./configure --disable-dependency-tracking
- name: cppcheck
run: make check-static -j$(nproc)