Add meson build CI

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
This commit is contained in:
Marc-André Lureau 2022-02-06 02:44:59 +04:00 committed by Simon McVittie
parent 60a88f360c
commit 07ddd3597e
4 changed files with 73 additions and 3 deletions

View file

@ -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:

View file

@ -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:

View file

@ -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
)
;;

View file

@ -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)