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-10-03.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 build container: extends: - .fdo.container-build@ubuntu - .common_variables stage: container prep only: - master - branches - merge_requests - tags - pushes build-no-qmi: stage: build extends: - .fdo.distribution-image@ubuntu - .common_variables only: - master - 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=disabled -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: - master - 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=disabled - 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=disabled -Dbash_completion=false -Dmbim_qmux=disabled -Dqrtr=enabled -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: - master - 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=disabled -Dbash_completion=false -Dmbim_qmux=disabled -Dqrtr=disabled -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: - master - 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: - master - 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=disabled -Dbash_completion=false -Dmbim_qmux=disabled -Dqrtr=disabled -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=disabled -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=disabled - 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=disabled -Dbash_completion=false -Dmbim_qmux=enabled -Dqrtr=enabled -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 -Dintrospection=enabled -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=enabled - 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=enabled -Dbash_completion=false -Dmbim_qmux=enabled -Dqrtr=enabled -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: - master - 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: - master - 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=enabled -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=enabled - 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=enabled -Dbash_completion=false -Dmbim_qmux=enabled -Dqrtr=enabled -Dcollection=basic - ninja -C build - ninja -C build install - popd - meson setup build --buildtype=release --prefix=/usr -Dwerror=true -Dgtk_doc=false -Dintrospection=enabled -Dqmi=enabled -Dmbim=enabled -Dqrtr=enabled -Dpolkit=strict -Dsystemd_suspend_resume=true -Dsystemdsystemunitdir=/lib/systemd/system - ninja -C build - ninja -C build install - ninja -C build uninstall