The system template is updated to add new packages required at build time: * libdbus-1-dev is added so that we can autodetect the service directory path via the installed pkg-config file. * udev is added so that we can autodetect the udev rules directory path via the installed pkg-config file. * policykit-1 is added so that the i18n operation merging policy files is able to use the installed ITS files. * bash-completion is added to enable the feature in the meson build. The 'dist' step in the test is fully skipped for now, as the meson port doesn't fully support running all unit tests successfully.
274 lines
9.0 KiB
YAML
274 lines
9.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: '2021-09-16.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
|
|
- NOCONFIGURE=1 ./autogen.sh
|
|
- 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
|
|
./configure --prefix=/usr --disable-gtk-doc --disable-introspection --disable-all-plugins --enable-plugin-$plugin;
|
|
make;
|
|
make clean;
|
|
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
|