| 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: '2021-11-05.1' |
| FDO_DISTRIBUTION_PACKAGES: ca-certificates git gcc autoconf automake libtool |
| 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 meson ninja-build |
| libdbus-1-dev bash-completion udev policykit-1 help2man |
| |
| build container: |
| extends: |
| - .fdo.container-build@ubuntu |
| - .common_variables |
| stage: container prep |
| only: |
| - main |
| - branches |
| - merge_requests |
| - tags |
| - pushes |
| |
| build-no-qmi: |
| stage: build |
| extends: |
| - .fdo.distribution-image@ubuntu |
| - .common_variables |
| only: |
| - main |
| - merge_requests |
| - tags |
| - schedules |
| script: |
| - git clone --depth 1 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 |
| - meson setup build --prefix=/usr -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: |
| - git clone --depth 1 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 |
| - git clone --depth 1 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=false -Dcollection=basic |
| - ninja -C build |
| - ninja -C build install |
| - popd |
| - meson setup build --prefix=/usr -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: |
| - git clone --depth 1 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=false -Dqrtr=false -Dcollection=basic |
| - ninja -C build |
| - ninja -C build install |
| - popd |
| - meson setup build --prefix=/usr -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: |
| - meson setup build --prefix=/usr -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: |
| - meson setup build --prefix=/usr -Dgtk_doc=false -Dqmi=false -Dqrtr=false -Dmbim=false -Dtests=false |
| - ninja -C build |
| - ninja -C build install |
| |
| build-no-suspend-resume: |
| stage: build |
| extends: |
| - .fdo.distribution-image@ubuntu |
| - .common_variables |
| only: |
| - merge_requests |
| - schedules |
| script: |
| - git clone --depth 1 https://gitlab.freedesktop.org/mobile-broadband/libmbim.git |
| - pushd libmbim |
| - meson setup build --prefix=/usr -Dgtk_doc=false -Dbash_completion=false |
| - ninja -C build |
| - ninja -C build install |
| - popd |
| - git clone --depth 1 https://gitlab.freedesktop.org/mobile-broadband/libqrtr-glib.git |
| - pushd libqrtr-glib |
| - meson setup build --prefix=/usr -Dgtk_doc=false |
| - ninja -C build |
| - ninja -C build install |
| - popd |
| - git clone --depth 1 https://gitlab.freedesktop.org/mobile-broadband/libqmi.git |
| - pushd libqmi |
| - meson setup build --prefix=/usr -Dgtk_doc=false -Dbash_completion=false -Dcollection=basic |
| - ninja -C build |
| - ninja -C build install |
| - popd |
| - meson setup build --prefix=/usr -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: |
| - merge_requests |
| - schedules |
| script: |
| - git clone --depth 1 https://gitlab.freedesktop.org/mobile-broadband/libmbim.git |
| - pushd libmbim |
| - meson setup build --prefix=/usr -Dgtk_doc=false -Dbash_completion=false |
| - ninja -C build |
| - ninja -C build install |
| - popd |
| - git clone --depth 1 https://gitlab.freedesktop.org/mobile-broadband/libqrtr-glib.git |
| - pushd libqrtr-glib |
| - meson setup build --prefix=/usr -Dgtk_doc=false |
| - ninja -C build |
| - ninja -C build install |
| - popd |
| - git clone --depth 1 https://gitlab.freedesktop.org/mobile-broadband/libqmi.git |
| - pushd libqmi |
| - meson setup build --prefix=/usr -Dgtk_doc=false -Dbash_completion=false -Dcollection=basic |
| - ninja -C build |
| - ninja -C build install |
| - popd |
| - 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: |
| - schedules |
| script: |
| - git clone --depth 1 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 |
| - git clone --depth 1 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 |
| - git clone --depth 1 https://gitlab.freedesktop.org/mobile-broadband/libqmi.git |
| - pushd libqmi |
| - meson setup build --prefix=/usr -Dgtk_doc=false -Dintrospection=false -Dbash_completion=false -Dcollection=basic |
| - ninja -C build |
| - ninja -C build install |
| - popd |
| - for plugin in generic altair_lte anydata broadmobi cinterion |
| dell dlink fibocom foxconn gosuncn haier huawei iridium |
| linktop longcheer mbm motorola mtk nokia nokia_icera |
| novatel novatel_lte option option_hso pantech |
| qcom_soc quectel samsung sierra_legacy sierra simtech |
| telit thuraya tplink ublox via wavecom x22x zte; do |
| meson setup build_$plugin --prefix=/usr -Dgtk_doc=false -Dintrospection=disabled -Dbash_completion=false -Dauto_features=disabled -Dqmi=enabled -Dmbim=enabled -Dqrtr=enabled -Dplugin_$plugin=enabled; |
| ninja -C build_$plugin; |
| done |
| |
| build-release: |
| stage: build |
| extends: |
| - .fdo.distribution-image@ubuntu |
| - .common_variables |
| only: |
| - main |
| - merge_requests |
| - tags |
| - schedules |
| script: |
| - git clone --depth 1 https://gitlab.freedesktop.org/mobile-broadband/libmbim.git |
| - pushd libmbim |
| - meson setup build --prefix=/usr -Dgtk_doc=false -Dbash_completion=false |
| - ninja -C build |
| - ninja -C build install |
| - popd |
| - git clone --depth 1 https://gitlab.freedesktop.org/mobile-broadband/libqrtr-glib.git |
| - pushd libqrtr-glib |
| - meson setup build --prefix=/usr -Dgtk_doc=false |
| - ninja -C build |
| - ninja -C build install |
| - popd |
| - git clone --depth 1 https://gitlab.freedesktop.org/mobile-broadband/libqmi.git |
| - pushd libqmi |
| - meson setup build --prefix=/usr -Dgtk_doc=false -Dbash_completion=false -Dcollection=basic |
| - ninja -C build |
| - ninja -C build install |
| - popd |
| - 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 |