From: Marc-André Lureau Date: Sat, 5 Feb 2022 22:44:59 +0000 (+0400) Subject: Add meson build CI X-Git-Tag: dbus-1.15.0~32^2~27 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=07ddd3597e0ee4dfad35629eaaa80f6936fc8609;p=thirdparty%2Fdbus.git Add meson build CI Signed-off-by: Marc-André Lureau --- diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 5591da74a..ee993cf15 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -44,7 +44,7 @@ variables: # If you are hacking on them or need a them to rebuild, its enough # to change any part of the string of the image you want. ### - WINDOWS_TAG: "2022-01-07.1" + WINDOWS_TAG: "2022-02-06.2" UPSTREAM_BRANCH: 'master' UPSTREAM_REPO: 'dbus/dbus' @@ -77,6 +77,17 @@ variables: reports: junit: $CI_PROJECT_DIR/test-results.xml +.meson-common: + variables: + ci_buildsys: "meson" + artifacts: + reports: + junit: "$builddir/meson-logs/testlog.junit.xml" + name: "dbus-$CI_JOB_NAME" + when: always + paths: + - "$builddir/meson-logs/testlog.txt" + windows amd64 image: stage: "build docker" variables: @@ -165,6 +176,13 @@ debian cmake: variables: ci_buildsys: "cmake-dist" +debian meson: + extends: + - .meson-common + - .debian-build + variables: + builddir: "ci-build-production-native" + debian mingw32 autotools debug: extends: .debian-build variables: @@ -240,6 +258,16 @@ opensuse mingw64 cmake debug: ci_local_packages: "no" ci_variant: "debug" +opensuse mingw64 meson debug: + extends: + - .meson-common + - .suse-build + variables: + ci_host: "x86_64-w64-mingw32" + ci_local_packages: "no" + ci_variant: "debug" + builddir: "ci-build-$ci_variant-$ci_host" + .ubuntu-build: extends: .unix-host-build image: "ubuntu:latest" @@ -290,4 +318,24 @@ windows vs15-64 cmake: # FIXME: a few tests timeout on gitlab runner for unknown reason - cd build ; ctest -C Debug -VV --timeout 1200 -E '(dbus-daemon|monitor)' --output-junit $ci_cmake_junit_output +windows-meson-mingw-ucrt64: + extends: .win-build + script: + - $env:MSYSTEM = "UCRT64" + - $env:CHERE_INVOKING = "1" + - $env:MSYS2_PATH_TYPE = "inherit" + - $env:PATH += ";C:\msys64\usr\bin" + # FIXME: -j1: for some reason on CI ninja: fatal: pipe: Too many open files + - C:\msys64\usr\bin\bash -lc " + meson build && + ninja -j1 -C build && + meson test -C build" + +windows-meson-vs15-x86: + extends: .win-build + script: + - cmd.exe /C "C:\BuildTools\Common7\Tools\VsDevCmd.bat -host_arch=amd64 -arch=x86 && + meson build && + meson test -C build" + # vim:set sw=2 sts=2 et: diff --git a/tools/ci-build.sh b/tools/ci-build.sh index 3772daad1..7b8f1e717 100755 --- a/tools/ci-build.sh +++ b/tools/ci-build.sh @@ -427,6 +427,25 @@ case "$ci_buildsys" in ${make} install DESTDIR=$(pwd)/DESTDIR ( cd DESTDIR && find . -ls) ;; + + (meson) + # The test coverage for OOM-safety is too verbose to be useful on + # travis-ci, and too slow when running under wine. + export DBUS_TEST_MALLOC_FAILURES=0 + + meson=meson + case "$ci_host" in + (*-w64-mingw32) + meson=mingw64-meson + ;; + esac + # FIXME: ducktype target fails on debian CI.. + $meson setup -Dducktype_docs=disabled + $meson compile + [ "$ci_test" = no ] || $meson test + DESTDIR=DESTDIR $meson install + ( cd DESTDIR && find . -ls) + ;; esac # vim:set sw=4 sts=4 et: diff --git a/tools/ci-install.sh b/tools/ci-install.sh index 48197c52e..0d93566bc 100755 --- a/tools/ci-install.sh +++ b/tools/ci-install.sh @@ -169,6 +169,8 @@ case "$ci_distro" in libselinux1-dev libsystemd-dev libx11-dev + meson + ninja-build sudo valgrind wget @@ -206,6 +208,7 @@ case "$ci_distro" in automake cmake libtool + meson ) # docs @@ -272,7 +275,7 @@ case "$ci_distro" in "${packages[@]}" mingw${bits}-cross-gcc-c++ mingw${bits}-libexpat-devel - mingw${bits}-glib2-devel + mingw${bits}-cross-meson ) ;; diff --git a/tools/docker/windows/Dockerfile b/tools/docker/windows/Dockerfile index c9a912002..bff4c501c 100644 --- a/tools/docker/windows/Dockerfile +++ b/tools/docker/windows/Dockerfile @@ -29,7 +29,7 @@ RUN (New-Object System.Net.WebClient).DownloadString('https://wrapdb.mesonbuild. RUN (New-Object System.Net.WebClient).DownloadString('https://zlib.net/fossils/') >$null # MinGW environment -RUN c:\msys64\usr\bin\bash -lc 'pacman -S --noconfirm mingw-w64-ucrt-x86_64-toolchain expat glib2-devel' +RUN c:\msys64\usr\bin\bash -lc 'pacman -S --noconfirm mingw-w64-ucrt-x86_64-toolchain expat glib2-devel ninja' # Visual Studio can't be installed with choco. # It depends on dotnetfx v4.8.0.20190930, which requires a reboot: dotnetfx (exit code 3010)