ci: test minimum configuration
authorDavid Marchand <david.marchand@redhat.com>
Wed, 17 Nov 2021 11:28:43 +0000 (12:28 +0100)
committerThomas Monjalon <thomas@monjalon.net>
Wed, 17 Nov 2021 11:48:20 +0000 (12:48 +0100)
Disabling drivers and optional libraries was not tested.
Add a new target in test-meson-builds.sh and GHA with just the minimum
to run test-null.sh and any other optional component disabled.

Signed-off-by: David Marchand <david.marchand@redhat.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
.ci/linux-build.sh
.github/workflows/build.yml
devtools/test-meson-builds.sh

index ef0bd09..c10c1a8 100755 (executable)
@@ -87,6 +87,10 @@ OPTS="$OPTS -Dplatform=generic"
 OPTS="$OPTS --default-library=$DEF_LIB"
 OPTS="$OPTS --buildtype=debugoptimized"
 OPTS="$OPTS -Dcheck_includes=true"
+if [ "$MINI" = "true" ]; then
+    OPTS="$OPTS -Denable_drivers=bus/vdev,mempool/ring,net/null"
+    OPTS="$OPTS -Ddisable_libs=*"
+fi
 meson build --werror $OPTS
 ninja -C build
 
index 4151caf..2e9c4be 100644 (file)
@@ -21,6 +21,7 @@ jobs:
       CC: ccache ${{ matrix.config.compiler }}
       DEF_LIB: ${{ matrix.config.library }}
       LIBABIGAIL_VERSION: libabigail-1.8
+      MINI: ${{ matrix.config.mini != '' }}
       PPC64LE: ${{ matrix.config.cross == 'ppc64le' }}
       REF_GIT_TAG: none
       RUN_TESTS: ${{ contains(matrix.config.checks, 'tests') }}
@@ -32,6 +33,10 @@ jobs:
           - os: ubuntu-18.04
             compiler: gcc
             library: static
+          - os: ubuntu-18.04
+            compiler: gcc
+            library: shared
+            mini: mini
           - os: ubuntu-18.04
             compiler: gcc
             library: shared
index 9ec8e2b..4ed6132 100755 (executable)
@@ -220,6 +220,9 @@ for c in gcc clang ; do
        done
 done
 
+build build-mini cc skipABI $use_shared -Ddisable_libs=* \
+       -Denable_drivers=bus/vdev,mempool/ring,net/null
+
 # test compilation with minimal x86 instruction set
 # Set the install path for libraries to "lib" explicitly to prevent problems
 # with pkg-config prefixes if installed in "lib/x86_64-linux-gnu" later.