[PATCH v2 1/5] ci: test minimum configuration

David Marchand david.marchand at redhat.com
Wed Nov 17 12:28:43 CET 2021


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 at redhat.com>
---
Changes since v1:
- dropped target cleanup in test-meson-builds.sh, this will be handled
  in a separate series in the future,
- disabled all drivers but mempool/ring and net/null,
  required to pass test-null.sh. bus/vdev is explicitly enabled for 

---
 .ci/linux-build.sh            | 4 ++++
 .github/workflows/build.yml   | 5 +++++
 devtools/test-meson-builds.sh | 3 +++
 3 files changed, 12 insertions(+)

diff --git a/.ci/linux-build.sh b/.ci/linux-build.sh
index ef0bd099be..6e8bd7baa9 100755
--- a/.ci/linux-build.sh
+++ b/.ci/linux-build.sh
@@ -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
 
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 4151cafee7..2e9c4be6d0 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -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
diff --git a/devtools/test-meson-builds.sh b/devtools/test-meson-builds.sh
index 9ec8e2bc7e..4ed61328b9 100755
--- a/devtools/test-meson-builds.sh
+++ b/devtools/test-meson-builds.sh
@@ -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.
-- 
2.23.0



More information about the dev mailing list