blob: 9d2e2a8d7327c0c11fae999525dcb1c3a0d6b542 [file] [log] [blame]
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: '2023-01-03.1'
FDO_DISTRIBUTION_PACKAGES: ca-certificates git gcc meson ninja-build gawk
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 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
before_script:
- export BUILD_MBIM=true
- export BUILD_QMI=true
- export BUILD_QRTR=true
.prepare_deps: &prepare_deps
- >
if [ "$BUILD_MBIM" == "true" ]; then
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
fi
- >
if [ "$BUILD_QRTR" == "true" ]; then
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
fi
- >
if [ "$BUILD_QMI" == "true" ]; then
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=$BUILD_MBIM -Dqrtr=$BUILD_QRTR -Dcollection=basic
ninja -C build
ninja -C build install
popd
fi
build-no-qmi:
stage: build
extends:
- .fdo.distribution-image@ubuntu
- .common_variables
only:
- main
- merge_requests
- tags
- schedules
script:
- export BUILD_QRTR=false
- export BUILD_QMI=false
- *prepare_deps
- meson setup build --prefix=/usr -Dgtk_doc=false -Dqmi=false -Dqrtr=false -Dmbim=true
- ninja -C build
- ninja -C build install
build-qmi-qrtr-no-mbim:
stage: build
extends:
- .fdo.distribution-image@ubuntu
- .common_variables
only:
- main
- merge_requests
- tags
- schedules
script:
- export BUILD_MBIM=false
- *prepare_deps
- meson setup build --prefix=/usr -Dgtk_doc=false -Dqmi=true -Dqrtr=true -Dmbim=false
- ninja -C build
- ninja -C build install
build-qmi-no-qrtr-no-mbim:
stage: build
extends:
- .fdo.distribution-image@ubuntu
- .common_variables
only:
- main
- merge_requests
- tags
- schedules
script:
- export BUILD_MBIM=false
- export BUILD_QRTR=false
- *prepare_deps
- meson setup build --prefix=/usr -Dgtk_doc=false -Dqmi=true -Dqrtr=false -Dmbim=false
- ninja -C build
- ninja -C build install
build-no-qmi-no-mbim:
stage: build
extends:
- .fdo.distribution-image@ubuntu
- .common_variables
only:
- main
- merge_requests
- tags
- schedules
script:
- export BUILD_MBIM=false
- export BUILD_QRTR=false
- export BUILD_QMI=false
- *prepare_deps
- meson setup build --prefix=/usr -Dgtk_doc=false -Dqmi=false -Dqrtr=false -Dmbim=false
- ninja -C build
- ninja -C build test
- ninja -C build install
build-no-qmi-no-mbim-no-tests:
stage: build
extends:
- .fdo.distribution-image@ubuntu
- .common_variables
only:
- main
- merge_requests
- tags
- schedules
script:
- export BUILD_MBIM=false
- export BUILD_QRTR=false
- export BUILD_QMI=false
- *prepare_deps
- meson setup build --prefix=/usr -Dgtk_doc=false -Dqmi=false -Dqrtr=false -Dmbim=false -Dtests=false
- ninja -C build
- ninja -C build install
build-no-suspend-resume:
stage: build
extends:
- .fdo.distribution-image@ubuntu
- .common_variables
only:
- main
- merge_requests
- tags
- schedules
script:
- *prepare_deps
- meson setup build --prefix=/usr -Dgtk_doc=false -Dsystemd_suspend_resume=false -Dpowerd_suspend_resume=false
- ninja -C build
- ninja -C build install
build-suspend-resume-powerd:
stage: build
extends:
- .fdo.distribution-image@ubuntu
- .common_variables
only:
- main
- merge_requests
- tags
- schedules
script:
- *prepare_deps
- meson setup build --prefix=/usr -Dgtk_doc=false -Dsystemd_suspend_resume=false -Dpowerd_suspend_resume=true
- ninja -C build
- ninja -C build install
build-single-plugins:
stage: build
extends:
- .fdo.distribution-image@ubuntu
- .common_variables
only:
- main
- tags
- schedules
script:
- *prepare_deps
- for PLUGIN in $(grep "plugin_" meson_options.txt | awk -F"'" '{ print $2 }'); do
meson setup build_$PLUGIN --prefix=/usr -Dgtk_doc=false -Dintrospection=false -Dbash_completion=false -Dauto_features=disabled -D$PLUGIN=enabled;
ninja -C build_$PLUGIN;
done
build-single-plugins-builtin:
stage: build
extends:
- .fdo.distribution-image@ubuntu
- .common_variables
only:
- main
- tags
- schedules
script:
- *prepare_deps
- for PLUGIN in $(grep "plugin_" meson_options.txt | awk -F"'" '{ print $2 }'); do
meson setup build_$PLUGIN --prefix=/usr -Dgtk_doc=false -Dintrospection=false -Dbash_completion=false -Dauto_features=disabled -D$PLUGIN=enabled -Dbuiltin_plugins=true;
ninja -C build_$PLUGIN;
done
build-release:
stage: build
extends:
- .fdo.distribution-image@ubuntu
- .common_variables
only:
- main
- merge_requests
- tags
- schedules
script:
- *prepare_deps
- 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
build-release-builtin:
stage: build
extends:
- .fdo.distribution-image@ubuntu
- .common_variables
only:
- main
- merge_requests
- tags
- schedules
script:
- *prepare_deps
- meson setup build --buildtype=release --prefix=/usr -Dwerror=true -Dgtk_doc=true -Dpolkit=strict -Dsystemdsystemunitdir=/lib/systemd/system -Dbuiltin_plugins=true
- ninja -C build
- ninja -C build test
- ninja -C build install
- ninja -C build uninstall