blob: ef0afadaa3d1cc62c8b0708d627efbd4e1b086f5 [file] [log] [blame]
name: libnl3-ci
on:
push:
pull_request:
jobs:
ci:
strategy:
matrix:
include:
- cc: gcc
- cc: clang
runs-on: ubuntu-latest
steps:
- name: Install packages
run: |
sudo apt-get update
sudo apt-get -y --no-install-recommends install \
check \
valgrind \
libtool-bin
- name: Check out repository code
uses: actions/checkout@v3
- name: Setup Python
uses: actions/setup-python@v4
with:
python-version: 3.x
- name: Lint Python
run: |
python3 -m pip install flake8
flake8 . --count --select=E703,E9,F63,F7,F82,Y --show-source --statistics
- name: Build
run: |
set -x
export CC="${{ matrix.cc }}"
export CFLAGS="-DNL_MORE_ASSERTS=1000 -O2 -Werror -Wall -Wdeclaration-after-statement -Wvla -std=gnu11"
if [ "$CC" = "clang" ]; then
CFLAGS="$CFLAGS -Wno-error=unused-command-line-argument -Wno-error=unused-function"
fi
./autogen.sh
./configure
make -j 5
shell: bash
- name: Build Unit Tests
run: make -j 5 check-progs
- name: Run Unit Tests
run: |
set -x
export NLTST_SEED_RAND=
for i in `seq 1 5`; do
tests/check-all
tests/check-direct
make -j check
done
- name: Run Unit Tests w/Valgrind
run: |
set -x
export NLTST_SEED_RAND=
CK_FORK=no libtool --mode=execute valgrind --error-exitcode=66 --leak-check=full -s --show-leak-kinds=all ./tests/check-all
CK_FORK=no libtool --mode=execute valgrind --error-exitcode=66 --leak-check=full -s --show-leak-kinds=all ./tests/check-direct
shell: bash
- name: Install packages for Release
run: |
test "${{ matrix.cc }}" == gcc || exit 0
sudo apt-get -y --no-install-recommends install \
asciidoc \
doxygen \
graphviz \
mscgen \
source-highlight \
python3-pygments
- name: Build Release
run: |
test "${{ matrix.cc }}" == gcc || exit 0
set -x
git clean -fdx
NO_GPG_SIGN=1 ./tools/build_release.sh BuildAll
- name: Build out-of-tree and disable-static
run: |
set -x
git clean -fdx
export CC="${{ matrix.cc }}"
export CFLAGS="-Werror -Wall -Wdeclaration-after-statement -Wvla -std=gnu11"
if [ "$CC" = "clang" ]; then
CFLAGS="$CFLAGS -Wno-error=unused-command-line-argument -Wno-error=unused-function"
fi
./autogen.sh
mkdir build
cd build
../configure --disable-static
make -j 5
make -j 5 check-progs
export NLTST_SEED_RAND=
make -j 5 check
- run: echo "🍏 This job's status is ${{ job.status }}."