| 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 |
| - NOCONFIGURE=1 ./autogen.sh |
| - ./configure --prefix=/usr --disable-gtk-doc --disable-introspection --without-qmi |
| - make |
| - make check |
| - make 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 |
| - NOCONFIGURE=1 ./autogen.sh |
| - ./configure --prefix=/usr --disable-gtk-doc --disable-introspection --without-mbim |
| - make |
| - make check |
| - make 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 |
| - NOCONFIGURE=1 ./autogen.sh |
| - ./configure --prefix=/usr --disable-gtk-doc --disable-introspection --without-mbim |
| - make |
| - make check |
| - make install |
| |
| build-no-qmi-no-mbim: |
| stage: build |
| extends: |
| - .fdo.distribution-image@ubuntu |
| - .common_variables |
| only: |
| - main |
| - merge_requests |
| - tags |
| - schedules |
| script: |
| - NOCONFIGURE=1 ./autogen.sh |
| - ./configure --prefix=/usr --disable-gtk-doc --disable-introspection --without-qmi --without-mbim |
| - make |
| - make check |
| - make install |
| |
| build-qmi-newest-commands: |
| 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 |
| - NOCONFIGURE=1 ./autogen.sh |
| - ./configure --prefix=/usr --disable-gtk-doc --disable-introspection --without-mbim CFLAGS="-DWITH_NEWEST_QMI_COMMANDS" |
| - make |
| - make check |
| - make 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-default: |
| 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 |
| - NOCONFIGURE=1 ./autogen.sh |
| - ./configure --prefix=/usr --enable-gtk-doc --enable-introspection --with-polkit=strict --with-suspend-resume=systemd --with-systemdsystemunitdir=/lib/systemd/system |
| - make |
| - make check |
| - make install |
| - make distcheck |
| |
| build-default-artifacts: |
| stage: build |
| extends: |
| - .fdo.distribution-image@ubuntu |
| - .common_variables |
| only: |
| - main |
| - tags |
| script: |
| - !reference [build-default, script] |
| - sha256sum $CI_PROJECT_NAME-*.tar.xz | awk '{print $1;}' > pkg_hash.txt |
| artifacts: |
| name: "$CI_PROJECT_NAME-$CI_COMMIT_SHORT_SHA" |
| paths: |
| - /builds/$CI_PROJECT_ROOT_NAMESPACE/$CI_PROJECT_NAME/$CI_PROJECT_NAME-*.tar.xz |
| - /builds/$CI_PROJECT_ROOT_NAMESPACE/$CI_PROJECT_NAME/pkg_hash.txt |
| expire_in: 2 days |
| |
| build-meson-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 |