Now that the spec file supports selectively disabling the native,
mingw32 and mingw64 parts, we can add coverage for the MinGW RPM
builds.
Signed-off-by: Andrea Bolognani <abologna(a)redhat.com>
---
.gitlab-ci.yml | 11 ++++++++---
ci/jobs.sh | 23 ++++++++++++++++++++++-
2 files changed, 30 insertions(+), 4 deletions(-)
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 1cdabed941..42c43a556e 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -57,10 +57,15 @@ include:
key: "$CI_JOB_NAME"
script:
- source ci/jobs.sh
- - run_build
- - if test "$CROSS" = "i686" ;
+ - if test -x /usr/bin/rpmbuild && test "$RPM" != "skip";
then
- run_test;
+ run_rpmbuild;
+ else
+ run_build;
+ if test "$CROSS" = "i686";
+ then
+ run_test;
+ fi;
fi
.cross_build_job_prebuilt_env:
diff --git a/ci/jobs.sh b/ci/jobs.sh
index ba522258a1..b9e0494338 100644
--- a/ci/jobs.sh
+++ b/ci/jobs.sh
@@ -72,10 +72,31 @@ run_potfile() {
run_rpmbuild() {
run_dist
+
+ # The spec file supports three types of builds: native, mingw32
+ # and mingw64. By default they're all enabled, but each of the
+ # containers in which our CI jobs are executed is only set up for
+ # one of them, so we have to explicitly disable the other two.
+ case "$CROSS" in
+ mingw32)
+ build1="native"
+ build2="mingw64"
+ ;;
+ mingw64)
+ build1="native"
+ build2="mingw32"
+ ;;
+ *)
+ build1="mingw32"
+ build2="mingw64"
+ ;;
+ esac
+
run_cmd rpmbuild \
--clean \
--nodeps \
- --define "_without_mingw 1" \
+ --define "_without_$build1 1" \
+ --define "_without_$build2 1" \
-ta build/meson-dist/libvirt-*.tar.xz
}
--
2.41.0