301 lines
8.0 KiB
YAML
301 lines
8.0 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
|
|
ninja -C build
|
|
ninja -C build install
|
|
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
|
|
ninja -C build
|
|
ninja -C build install
|
|
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
|
|
ninja -C build
|
|
ninja -C build install
|
|
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
|
|
- ninja -C build
|
|
- ninja -C build install
|
|
|
|
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
|
|
- ninja -C build
|
|
- ninja -C build install
|
|
|
|
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
|
|
- ninja -C build
|
|
- ninja -C build install
|
|
|
|
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
|
|
- ninja -C build
|
|
- ninja -C build test
|
|
- ninja -C build install
|
|
|
|
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
|
|
- ninja -C build
|
|
- ninja -C build install
|
|
|
|
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
|
|
- ninja -C build
|
|
- ninja -C build test
|
|
- ninja -C build install
|
|
|
|
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
|
|
- ninja -C build
|
|
- ninja -C build install
|
|
|
|
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
|
|
- ninja -C build
|
|
- ninja -C build install
|
|
|
|
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;
|
|
ninja -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;
|
|
ninja -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
|
|
- ninja -C build
|
|
- ninja -C build test
|
|
- ninja -C build install
|
|
- 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
|
|
- ninja -C build
|
|
- ninja -C build test
|
|
- ninja -C build install
|
|
- 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
|
|
- ninja -C build
|
|
- ninja -C build test
|
|
- ninja -C build install
|
|
- ninja -C build uninstall
|