Files
ModemManager/.gitlab-ci.yml
T
Aleksander Morgado 7c30471d94 ci: bump image template to refresh CA certificates
At the end of September 2021, Let's Encrypt's DST Root CA X3
certificate expired, and the new ISRG Root X1 took over.
Update the CI template so that the new certificate is available and we
can keep on cloning the libmbim/libqmi/libqrtr-glib repos without
failures.
2021-10-03 14:47:09 +02:00

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-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
- 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