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 }}."