blob: 6ad26997775a23ea39c18765db9d7348b1f61506 [file] [log] [blame]
include:
- project: freedesktop/ci-templates
ref: 290b79e0e78eab67a83766f4e9691be554fc4afd
file:
- templates/ubuntu.yml
stages:
- container prep
- build
.common_variables:
variables:
LIBMBIM_BRANCH: mbim-1-26
LIBQRTR_BRANCH: main
LIBQMI_BRANCH: qmi-1-30
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:
- 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 --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
- 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 --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
- 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=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:
- master
- merge_requests
- tags
- schedules
script:
- 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=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:
- 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 --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=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 --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
- 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
- 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 -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 --branch $LIBMBIM_BRANCH 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 --branch $LIBQRTR_BRANCH 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 --branch $LIBQMI_BRANCH 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:
- 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 --branch $LIBMBIM_BRANCH 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 --branch $LIBQRTR_BRANCH 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 --branch $LIBQMI_BRANCH 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=false -Dpolkit=strict -Dsystemdsystemunitdir=/lib/systemd/system
- ninja -C build
- ninja -C build install
- ninja -C build uninstall