Different options are set as `feature`, also every possible plugin, but this may cause confusion. All options set as `feature` but plugins have been made `boolean` to avoid further confusions. `help2man` is also installed in the CI image because is required to build different libraries.
272 lines
8.6 KiB
YAML
272 lines
8.6 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-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=false -Dpolkit=strict -Dsystemdsystemunitdir=/lib/systemd/system
|
|
- ninja -C build
|
|
- ninja -C build install
|
|
- ninja -C build uninstall
|