First add the meson required bits to be able to run the build.
NOTE: inspired by our gitlab-ci.yml

Signed-off-by: Erik Skultety <[email protected]>
---
 ci/Makefile | 10 ++++++++--
 ci/build.sh | 20 +++++---------------
 2 files changed, 13 insertions(+), 17 deletions(-)

diff --git a/ci/Makefile b/ci/Makefile
index c7c8eb9a45..f76600240f 100644
--- a/ci/Makefile
+++ b/ci/Makefile
@@ -35,6 +35,9 @@ CI_CONFIGURE = $(CI_CONT_SRCDIR)/configure
 # Default to using all possible CPUs
 CI_SMP = $(shell getconf _NPROCESSORS_ONLN)
 
+# Any extra arguments to pass to ninja
+CI_NINJA_ARGS =
+
 # Any extra arguments to pass to make
 CI_MAKE_ARGS =
 
@@ -227,6 +230,8 @@ ci-run-command@%: ci-prepare-tree
                  CI_CONFIGURE="$(CI_CONFIGURE)" \
                  CI_CONFIGURE_ARGS="$(CI_CONFIGURE_ARGS)" \
                  CI_MAKE_ARGS="$(CI_MAKE_ARGS)" \
+                 MESON_OPTS="$$MESON_OPTS" \
+                 CI_NINJA_ARGS="$(CI_NINJA_ARGS)" \
                  $(CI_COMMAND) || exit 1'
        @test "$(CI_CLEAN)" = "1" && rm -rf $(CI_SCRATCHDIR) || :
 
@@ -236,8 +241,8 @@ ci-shell@%:
 ci-build@%:
        $(MAKE) -C $(CI_ROOTDIR) ci-run-command@$* 
CI_COMMAND="$(CI_USER_HOME)/build"
 
-ci-check@%:
-       $(MAKE) -C $(CI_ROOTDIR) ci-build@$* CI_MAKE_ARGS="check"
+ci-test@%:
+       $(MAKE) -C $(CI_ROOTDIR) ci-build@$* CI_NINJA_ARGS=test
 
 ci-list-images:
        @echo
@@ -268,4 +273,5 @@ ci-help:
        @echo "    CI_ENGINE=auto      - container engine to use (podman, 
docker)"
        @echo "    CI_CONFIGURE_ARGS=  - extra arguments passed to configure"
        @echo "    CI_MAKE_ARGS=       - extra arguments passed to make, e.g. 
space delimited list of targets"
+       @echo "    CI_NINJA_ARGS=      - extra arguments passed to ninja"
        @echo
diff --git a/ci/build.sh b/ci/build.sh
index 2da84c080a..21b053a4cd 100644
--- a/ci/build.sh
+++ b/ci/build.sh
@@ -7,26 +7,16 @@
 #
 # to make.
 
-mkdir -p "$CI_CONT_BUILDDIR" || exit 1
-cd "$CI_CONT_BUILDDIR"
+mkdir -p "$CI_CONT_SRCDIR" || exit 1
+cd "$CI_CONT_SRCDIR"
 
 export VIR_TEST_DEBUG=1
-NOCONFIGURE=1 "$CI_CONT_SRCDIR/autogen.sh" || exit 1
 
-# $CONFIGURE_OPTS is a env that can optionally be set in the container,
-# populated at build time from the Dockerfile. A typical use case would
-# be to pass --host/--target args to trigger cross-compilation
-#
-# This can be augmented by make local args in $CI_CONFIGURE_ARGS
-"$CI_CONFIGURE" $CONFIGURE_OPTS $CI_CONFIGURE_ARGS
-if test $? != 0; then
-    test -f config.log && cat config.log
-    exit 1
-fi
+meson build --werror $MESON_OPTS || (cat build/meson-logs/meson-log.txt && 
exit 1)
+ninja -C build $CI_NINJA_ARGS
+
 find -name test-suite.log -delete
 
-make -j"$CI_SMP" $CI_MAKE_ARGS
-
 if test $? != 0; then \
     LOGS=$(find -name test-suite.log)
     if test "$LOGS"; then
-- 
2.26.2

Reply via email to