Replace all ninja invocations but for the uninstall target with meson. meson build command can be omitted when executing test and install targets that depend on compile target.
287 lines
7.7 KiB
YAML
287 lines
7.7 KiB
YAML
include:
|
|
- project: freedesktop/ci-templates
|
|
ref: 290b79e0e78eab67a83766f4e9691be554fc4afd
|
|
file:
|
|
- templates/ubuntu.yml
|
|
|
|
stages:
|
|
- container prep
|
|
- build
|
|
|
|
.common_variables:
|
|
variables:
|
|
FDO_UPSTREAM_REPO: mobile-broadband/ModemManager
|
|
FDO_DISTRIBUTION_VERSION: '20.04'
|
|
FDO_DISTRIBUTION_TAG: '2023-01-03.1'
|
|
FDO_DISTRIBUTION_PACKAGES: ca-certificates git gcc meson ninja-build gawk
|
|
libgettextpo-dev libgirepository1.0-dev libglib2.0-dev
|
|
libgudev-1.0-dev python3-dbus python3-gi autopoint
|
|
xsltproc dbus gettext gtk-doc-tools libglib2.0-doc
|
|
gobject-introspection python-is-python3 libsystemd-dev
|
|
libpolkit-gobject-1-dev valac libdbus-1-dev
|
|
bash-completion udev policykit-1 help2man
|
|
LIBQMI_BRANCH: 'main'
|
|
LIBQRTR_BRANCH: 'main'
|
|
LIBMBIM_BRANCH: 'main'
|
|
|
|
build container:
|
|
extends:
|
|
- .fdo.container-build@ubuntu
|
|
- .common_variables
|
|
stage: container prep
|
|
only:
|
|
- main
|
|
- merge_requests
|
|
- tags
|
|
- schedules
|
|
|
|
before_script:
|
|
- export BUILD_MBIM=true
|
|
- export BUILD_QMI=true
|
|
- export BUILD_QRTR=true
|
|
|
|
.prepare_deps: &prepare_deps
|
|
- >
|
|
if [ "$BUILD_MBIM" == "true" ]; then
|
|
git clone --depth 1 --branch ${LIBMBIM_BRANCH} https://gitlab.freedesktop.org/mobile-broadband/libmbim.git
|
|
pushd libmbim
|
|
meson setup build --prefix=/usr -Dgtk_doc=false -Dintrospection=false -Dbash_completion=false
|
|
meson install -C build
|
|
popd
|
|
fi
|
|
- >
|
|
if [ "$BUILD_QRTR" == "true" ]; then
|
|
git clone --depth 1 --branch ${LIBQRTR_BRANCH} https://gitlab.freedesktop.org/mobile-broadband/libqrtr-glib.git
|
|
pushd libqrtr-glib
|
|
meson setup build --prefix=/usr -Dgtk_doc=false -Dintrospection=false
|
|
meson install -C build
|
|
popd
|
|
fi
|
|
- >
|
|
if [ "$BUILD_QMI" == "true" ]; then
|
|
git clone --depth 1 --branch ${LIBQMI_BRANCH} https://gitlab.freedesktop.org/mobile-broadband/libqmi.git
|
|
pushd libqmi
|
|
meson setup build --prefix=/usr -Dgtk_doc=false -Dintrospection=false -Dbash_completion=false -Dmbim_qmux=$BUILD_MBIM -Dqrtr=$BUILD_QRTR -Dcollection=basic
|
|
meson install -C build
|
|
popd
|
|
fi
|
|
|
|
build-no-qmi:
|
|
stage: build
|
|
extends:
|
|
- .fdo.distribution-image@ubuntu
|
|
- .common_variables
|
|
only:
|
|
- main
|
|
- merge_requests
|
|
- tags
|
|
- schedules
|
|
script:
|
|
- export BUILD_QRTR=false
|
|
- export BUILD_QMI=false
|
|
- *prepare_deps
|
|
- meson setup build --prefix=/usr -Dwerror=true -Dgtk_doc=false -Dqmi=false -Dqrtr=false -Dmbim=true
|
|
- meson install -C build
|
|
|
|
build-qmi-qrtr-no-mbim:
|
|
stage: build
|
|
extends:
|
|
- .fdo.distribution-image@ubuntu
|
|
- .common_variables
|
|
only:
|
|
- main
|
|
- merge_requests
|
|
- tags
|
|
- schedules
|
|
script:
|
|
- export BUILD_MBIM=false
|
|
- *prepare_deps
|
|
- meson setup build --prefix=/usr -Dwerror=true -Dgtk_doc=false -Dqmi=true -Dqrtr=true -Dmbim=false
|
|
- meson install -C build
|
|
|
|
build-qmi-no-qrtr-no-mbim:
|
|
stage: build
|
|
extends:
|
|
- .fdo.distribution-image@ubuntu
|
|
- .common_variables
|
|
only:
|
|
- main
|
|
- merge_requests
|
|
- tags
|
|
- schedules
|
|
script:
|
|
- export BUILD_MBIM=false
|
|
- export BUILD_QRTR=false
|
|
- *prepare_deps
|
|
- meson setup build --prefix=/usr -Dwerror=true -Dgtk_doc=false -Dqmi=true -Dqrtr=false -Dmbim=false
|
|
- meson install -C build
|
|
|
|
build-no-qmi-no-mbim:
|
|
stage: build
|
|
extends:
|
|
- .fdo.distribution-image@ubuntu
|
|
- .common_variables
|
|
only:
|
|
- main
|
|
- merge_requests
|
|
- tags
|
|
- schedules
|
|
script:
|
|
- export BUILD_MBIM=false
|
|
- export BUILD_QRTR=false
|
|
- export BUILD_QMI=false
|
|
- *prepare_deps
|
|
- meson setup build --prefix=/usr -Dwerror=true -Dgtk_doc=false -Dqmi=false -Dqrtr=false -Dmbim=false
|
|
- meson test -C build
|
|
- meson install -C build
|
|
|
|
build-no-qmi-no-mbim-no-tests:
|
|
stage: build
|
|
extends:
|
|
- .fdo.distribution-image@ubuntu
|
|
- .common_variables
|
|
only:
|
|
- main
|
|
- merge_requests
|
|
- tags
|
|
- schedules
|
|
script:
|
|
- export BUILD_MBIM=false
|
|
- export BUILD_QRTR=false
|
|
- export BUILD_QMI=false
|
|
- *prepare_deps
|
|
- meson setup build --prefix=/usr -Dwerror=true -Dgtk_doc=false -Dqmi=false -Dqrtr=false -Dmbim=false -Dtests=false
|
|
- meson install -C build
|
|
|
|
build-no-deprecated:
|
|
stage: build
|
|
extends:
|
|
- .fdo.distribution-image@ubuntu
|
|
- .common_variables
|
|
only:
|
|
- main
|
|
- merge_requests
|
|
- tags
|
|
- schedules
|
|
script:
|
|
- export BUILD_MBIM=false
|
|
- export BUILD_QRTR=false
|
|
- export BUILD_QMI=false
|
|
- *prepare_deps
|
|
- CFLAGS="-DMM_DISABLE_DEPRECATED" meson setup build --prefix=/usr -Dwerror=true -Dgtk_doc=false -Dqmi=false -Dqrtr=false -Dmbim=false
|
|
- meson test -C build
|
|
- meson install -C build
|
|
|
|
build-no-suspend-resume:
|
|
stage: build
|
|
extends:
|
|
- .fdo.distribution-image@ubuntu
|
|
- .common_variables
|
|
only:
|
|
- main
|
|
- merge_requests
|
|
- tags
|
|
- schedules
|
|
script:
|
|
- *prepare_deps
|
|
- meson setup build --prefix=/usr -Dwerror=true -Dgtk_doc=false -Dsystemd_suspend_resume=false -Dpowerd_suspend_resume=false
|
|
- meson install -C build
|
|
|
|
build-suspend-resume-powerd:
|
|
stage: build
|
|
extends:
|
|
- .fdo.distribution-image@ubuntu
|
|
- .common_variables
|
|
only:
|
|
- main
|
|
- merge_requests
|
|
- tags
|
|
- schedules
|
|
script:
|
|
- *prepare_deps
|
|
- meson setup build --prefix=/usr -Dgtk_doc=false -Dsystemd_suspend_resume=false -Dpowerd_suspend_resume=true
|
|
- meson install -C build
|
|
|
|
build-single-plugins:
|
|
stage: build
|
|
extends:
|
|
- .fdo.distribution-image@ubuntu
|
|
- .common_variables
|
|
only:
|
|
- main
|
|
- tags
|
|
- schedules
|
|
script:
|
|
- *prepare_deps
|
|
- for PLUGIN in $(grep "plugin_" meson_options.txt | awk -F"'" '{ print $2 }'); do
|
|
meson setup build_$PLUGIN --prefix=/usr -Dwerror=true -Dgtk_doc=false -Dintrospection=false -Dbash_completion=false -Dauto_features=disabled -D$PLUGIN=enabled;
|
|
meson compile -C build_$PLUGIN;
|
|
done
|
|
|
|
build-single-plugins-builtin:
|
|
stage: build
|
|
extends:
|
|
- .fdo.distribution-image@ubuntu
|
|
- .common_variables
|
|
only:
|
|
- main
|
|
- tags
|
|
- schedules
|
|
script:
|
|
- *prepare_deps
|
|
- for PLUGIN in $(grep "plugin_" meson_options.txt | awk -F"'" '{ print $2 }'); do
|
|
meson setup build_$PLUGIN --prefix=/usr -Dgtk_doc=false -Dintrospection=false -Dbash_completion=false -Dauto_features=disabled -D$PLUGIN=enabled -Dbuiltin_plugins=true;
|
|
meson compile -C build_$PLUGIN;
|
|
done
|
|
|
|
build-debug:
|
|
stage: build
|
|
extends:
|
|
- .fdo.distribution-image@ubuntu
|
|
- .common_variables
|
|
only:
|
|
- main
|
|
- merge_requests
|
|
- tags
|
|
- schedules
|
|
script:
|
|
- *prepare_deps
|
|
- meson setup build --buildtype=debug --prefix=/usr -Dwerror=true -Dgtk_doc=true -Dpolkit=strict -Dsystemdsystemunitdir=/lib/systemd/system
|
|
- meson test -C build
|
|
- meson install -C build
|
|
- ninja -C build uninstall
|
|
|
|
build-release:
|
|
stage: build
|
|
extends:
|
|
- .fdo.distribution-image@ubuntu
|
|
- .common_variables
|
|
only:
|
|
- main
|
|
- merge_requests
|
|
- tags
|
|
- schedules
|
|
script:
|
|
- *prepare_deps
|
|
- meson setup build --buildtype=release --prefix=/usr -Dwerror=true -Dgtk_doc=true -Dpolkit=strict -Dsystemdsystemunitdir=/lib/systemd/system
|
|
- meson test -C build
|
|
- meson install -C build
|
|
- ninja -C build uninstall
|
|
|
|
build-release-builtin:
|
|
stage: build
|
|
extends:
|
|
- .fdo.distribution-image@ubuntu
|
|
- .common_variables
|
|
only:
|
|
- main
|
|
- merge_requests
|
|
- tags
|
|
- schedules
|
|
script:
|
|
- *prepare_deps
|
|
- meson setup build --buildtype=release --prefix=/usr -Dwerror=true -Dgtk_doc=true -Dpolkit=strict -Dsystemdsystemunitdir=/lib/systemd/system -Dbuiltin_plugins=true
|
|
- meson test -C build
|
|
- meson install -C build
|
|
- ninja -C build uninstall
|