summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRalf Habacker <ralf.habacker@freenet.de>2023-08-21 23:34:10 +0200
committerRalf Habacker <ralf.habacker@freenet.de>2023-09-01 14:05:08 +0000
commitff800514104d8c2c66e84e012d9e9ef5bac676f7 (patch)
tree0b5c65e2a1897063d9b4c2c514a7248edbff5378
parent0a90d29583be3161bf59d0abcbf874ad0ebfdd43 (diff)
Remove autotools support from CI jobs
The 'debian mingw32 autotools debug' job was replaced with a corresponding meson related job named 'debian mingw32 meson debug' and the remaining autotools related jobs were removed. The drop in replacement job for 'debian mingw64 autotools' is 'debian mingw32 meson' and is now build by default.
-rw-r--r--.gitlab-ci.yml52
-rwxr-xr-xtools/ci-build.sh103
-rwxr-xr-xtools/ci-install.sh11
3 files changed, 14 insertions, 152 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index fbf13c02..b385858d 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -167,16 +167,6 @@ debian image:
- .unix-host-build
stage: build
-debian autotools production:
- extends: .debian-build
- variables:
- ci_variant: "production"
-
-debian autotools debug:
- extends: .debian-build
- variables:
- ci_variant: "debug"
-
debian cmake:
extends:
- .cmake-common
@@ -204,18 +194,13 @@ debian meson clang debug:
- ./tools/ci-build.sh
# Also test that we can be used as a subproject:
# https://gitlab.freedesktop.org/dbus/dbus/-/merge_requests/388
+ - meson dist -C $ci_builddir --formats xztar
- mkdir -p test/use-as-subproject/subprojects/dbus
- - tar --strip-components=1 -C test/use-as-subproject/subprojects/dbus -xf ci-build-dist/*.tar.xz
+ - tar --strip-components=1 -C test/use-as-subproject/subprojects/dbus -xf $ci_builddir/meson-dist/*.tar.xz
- meson setup --wrap-mode=forcefallback test/use-as-subproject/_build test/use-as-subproject
- meson compile -C test/use-as-subproject/_build
- meson test -C test/use-as-subproject/_build
-debian mingw32 autotools debug:
- extends: .debian-build
- variables:
- ci_host: "i686-w64-mingw32"
- ci_variant: "debug"
-
debian meson reduced:
extends:
- .meson-common
@@ -246,14 +231,18 @@ debian mingw32 meson:
extends:
- .meson-common
- .debian-build
- when: manual
variables:
ci_host: "i686-w64-mingw32"
-debian mingw64 autotools:
- extends: .debian-build
+debian mingw32 meson debug:
+ extends:
+ - .meson-common
+ - .debian-build
+ when: manual
variables:
- ci_host: "x86_64-w64-mingw32"
+ ci_buildsys: "meson"
+ ci_host: "i686-w64-mingw32"
+ ci_variant: "debug"
debian mingw64 cmake debug:
extends:
@@ -273,11 +262,6 @@ debian mingw64 meson debug:
ci_host: "x86_64-w64-mingw32"
ci_variant: "debug"
-debian buster autotools:
- extends: .debian-build
- when: manual
- image: "debian:buster-slim"
-
opensuse image:
extends:
- .fdo.container-build@opensuse
@@ -335,13 +319,6 @@ opensuse mingw64 meson debug:
variables:
ci_distro: "ubuntu"
-ubuntu jammy autotools:
- extends: .ubuntu-build
- when: manual
- image: "ubuntu:jammy"
- variables:
- ci_suite: "jammy"
-
.win-build:
image: $WINDOWS_IMAGE
stage: build
@@ -493,15 +470,6 @@ freebsd cmake release:
# massively increases the VM image (and therefore container) size.
CI_BUILD_ARGS: "-DDBUS_ENABLE_DOXYGEN_DOCS=OFF -DDBUS_ENABLE_XML_DOCS=ON -DCMAKE_BUILD_TYPE=Release"
-freebsd autotools:
- extends: .build-env-freebsd
- variables:
- ci_buildsys: "autotools"
- # We don't build doxygen documentation, so the make dbus-docs.tar.xz target
- # is not available. Set ci_variant to avoid building that target.
- ci_variant: "production-no-upload-docs"
- CI_BUILD_ARGS: "--enable-xml-docs"
-
freebsd meson:
extends:
- .build-env-freebsd
diff --git a/tools/ci-build.sh b/tools/ci-build.sh
index d53b8bb4..239a69a3 100755
--- a/tools/ci-build.sh
+++ b/tools/ci-build.sh
@@ -75,8 +75,8 @@ init_wine() {
}
# ci_buildsys:
-# Build system under test: autotools or cmake
-: "${ci_buildsys:=autotools}"
+# Build system under test: meson or cmake
+: "${ci_buildsys:=meson}"
# ci_compiler:
# Compiler used to build dbus: gcc or clang
@@ -151,31 +151,7 @@ maybe_fail_tests () {
fi
}
-# Generate config.h.in and configure. We do this for both Autotools and
-# CMake builds, so that the CMake build can compare config.h.in with its
-# own checks.
-NOCONFIGURE=1 ./autogen.sh
-
-case "$ci_buildsys" in
- (cmake-dist|meson-dist)
- # clean up directories from possible previous builds
- rm -rf ci-build-dist
- rm -rf src-from-dist
-
- # Do an Autotools `make dist`, then build *that* with CMake or Meson,
- # to assert that our official release tarballs will be enough
- # to build with CMake or Meson.
- mkdir -p ci-build-dist
- ( cd ci-build-dist; ../configure )
- make -C ci-build-dist dist
- tar --xz -xvf ci-build-dist/dbus-1.*.tar.xz
- mv dbus-1.*/ src-from-dist
- srcdir="$(pwd)/src-from-dist"
- ;;
- (*)
- srcdir="$(pwd)"
- ;;
-esac
+srcdir="$(pwd)"
# setup default ci_builddir, if not present
if [ -z "$ci_builddir" ]; then
@@ -252,77 +228,6 @@ make="${make} -j${ci_parallel} V=1 VERBOSE=1"
export UBSAN_OPTIONS=print_stacktrace=1:print_summary=1:halt_on_error=1
case "$ci_buildsys" in
- (autotools)
- case "$ci_variant" in
- (debug)
- # Full developer/debug build.
- set _ "$@"
- set "$@" --enable-developer --enable-tests
- # Enable optional features that are off by default
- case "$ci_host" in
- *-w64-mingw32)
- ;;
- *)
- set "$@" --enable-user-session
- set "$@" SANITIZE_CFLAGS="-fsanitize=address -fsanitize=undefined -fPIE -pie"
- ;;
- esac
- shift
- # The test coverage for OOM-safety is too
- # verbose to be useful on travis-ci.
- export DBUS_TEST_MALLOC_FAILURES=0
- ;;
-
- (*)
- ;;
- esac
-
- case "$ci_host" in
- (*-w64-mingw32)
- set _ "$@"
- set "$@" --build="$(build-aux/config.guess)"
- set "$@" --host="${ci_host}"
- set "$@" CFLAGS=-${ci_runtime}-libgcc
- set "$@" CXXFLAGS=-${ci_runtime}-libgcc
- # don't run tests yet, Wine needs Xvfb and
- # more msys2 libraries
- ci_test=no
- # don't "make install" system-wide
- ci_sudo=no
- shift
- ;;
- esac
-
- ../configure \
- --enable-installed-tests \
- --enable-maintainer-mode \
- --enable-modular-tests \
- "$@"
-
- ${make}
- [ "$ci_test" = no ] || ${make} check || maybe_fail_tests
- cat test/test-suite.log || :
- [ "$ci_test" = no ] || ${make} distcheck || maybe_fail_tests
-
- ${make} install DESTDIR=$(pwd)/DESTDIR
- ( cd DESTDIR && find . -ls )
-
- if [ "$ci_variant" != "production-no-upload-docs" ]; then
- ${make} -C doc dbus-docs.tar.xz
- tar -C $(pwd)/DESTDIR -xf doc/dbus-docs.tar.xz
- ( cd DESTDIR/dbus-docs && find . -ls )
- fi
-
- if [ "$ci_sudo" = yes ] && [ "$ci_test" = yes ]; then
- sudo ${make} install
- sudo env LD_LIBRARY_PATH=/usr/local/lib \
- /usr/local/bin/dbus-uuidgen --ensure
- LD_LIBRARY_PATH=/usr/local/lib ${make} installcheck || \
- maybe_fail_tests
- cat test/test-suite.log || :
- fi
- ;;
-
(cmake|cmake-dist)
cmdwrapper=
cmake=cmake
@@ -552,7 +457,7 @@ case "$ci_buildsys" in
esac
case "$ci_buildsys" in
- (autotools | meson*)
+ (meson*)
if [ "$ci_sudo" = yes ] && [ "$ci_test" = yes ] && [ "$ci_host" = native ]; then
sudo env LD_LIBRARY_PATH=/usr/local/lib \
/usr/local/bin/dbus-uuidgen --ensure
diff --git a/tools/ci-install.sh b/tools/ci-install.sh
index c8524a65..2f116ca0 100755
--- a/tools/ci-install.sh
+++ b/tools/ci-install.sh
@@ -129,9 +129,6 @@ case "$ci_distro" in
packages=(
"${packages[@]}"
adduser
- autoconf-archive
- automake
- autotools-dev
ca-certificates
ccache
clang
@@ -193,11 +190,7 @@ case "$ci_distro" in
# build system
packages=(
"${packages[@]}"
- autoconf
- autoconf-archive
- automake
cmake
- libtool
meson
)
@@ -303,9 +296,6 @@ case "$ci_distro" in
$sudo pkg update
$sudo pkg upgrade -y
packages=(
- autoconf
- autoconf-archive
- automake
bash
cmake
docbook-xml
@@ -314,7 +304,6 @@ case "$ci_distro" in
glib
git
gmake
- libtool
libX11
libxslt
meson