Commit Graph

54 Commits

Author SHA1 Message Date
diekleinekuh
4d02e9d463 ci: support overriding branch of dependency libs
(cherry picked from commit b3e1edaf1afc28a92dfcc52ab0fb1e8a97b446bb)
2023-07-13 08:28:14 +00:00
Aleksander Morgado
06646001ce ci: don't attempt to build container on branches or pushes 2023-04-10 16:54:30 +00:00
Aleksander Morgado
06618fb3ae ci: add explicit debug build with all features
The release buildtype will disable certain warnings that we do see in
debug builds. Ensure we have a test build with all features enabled in
debug mode.
2023-04-10 15:47:06 +00:00
Aleksander Morgado
2af954a21a ci: always build with -Dwerror=true
Selecting the build type as release limits the amount of warnings that
are enabled, so ensure we always build with warnings treated as errors
so that we don't miss any warning that would happen on debug builds.
2023-04-10 15:30:06 +00:00
Aleksander Morgado
6058d3ded6 ci: test build without deprecated symbols support 2023-03-15 09:19:50 +00:00
Aleksander Morgado
aa28fc7a9e ci: build single plugins also in main and tags 2023-01-03 17:01:00 +01:00
Aleksander Morgado
ce2a2614e6 ci: list of plugins from meson configuration itself 2023-01-03 17:00:49 +01:00
Aleksander Morgado
6c6ece19c1 ci: update image with gawk and without autotools 2023-01-03 17:00:49 +01:00
Aleksander Morgado
6eae758a11 ci: fix enabling qmi/mbim/qrtr support in single-plugin tests 2023-01-03 17:00:49 +01:00
Aleksander Morgado
4a552aa362 ci: fix disabling introspection in single-plugin tests 2023-01-03 17:00:49 +01:00
Aleksander Morgado
efcabb2cd6 ci: run suspend-resume build tests also in master and tags 2023-01-03 16:17:03 +01:00
Aleksander Morgado
5f3565f95a ci: use YAML anchor to setup dependencies 2023-01-03 16:12:31 +01:00
Aleksander Morgado
e3dae370da ci: add tests for builtin plugins 2023-01-03 15:08:22 +01:00
Aleksander Morgado
3c430ce292 ci: completely switch to meson 2022-11-07 14:25:34 +00:00
Aleksander Morgado
71a60c86a2 ci: fix systemd suspend-resume enabling in default test 2022-08-09 09:12:00 +00:00
Aleksander Morgado
70c95151d5 ci: new test to build with powerd suspend-resume support 2022-08-09 09:10:58 +00:00
Aleksander Morgado
1c8f951cff ci: new test to build without suspend-resume support 2022-08-09 09:09:00 +00:00
Aleksander Morgado
6c46794c21 ci: remove check for WITH_NEWEST_QMI_COMMANDS
The newest QMI commands are already builtin the default compilation of
ModemManager.
2022-08-09 09:05:39 +00:00
Aleksander Morgado
bc07143f41 ci: move no-tests check before the default ones 2022-08-09 09:05:39 +00:00
Dylan Van Assche
57637132c9 ci: build without testcases
Verify if ModemManager builds with everything disabled
2022-07-25 11:01:57 +02:00
Aleksander Morgado
5d953bbe8d ci: enable gtk-doc in meson build 2022-02-16 00:30:20 +01:00
Aleksander Morgado
9d4f3fff7e ci: enable tests in meson build 2022-02-16 00:29:17 +01:00
Iñigo Martínez
ec2e5403f1 build,meson: Make feature options boolean
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.
2021-11-08 09:28:55 +00:00
Aleksander Morgado
8680afffe0 ci: switch to trigger pipelines on the 'main' branch 2021-11-04 23:33:02 +01:00
Aleksander Morgado
f9645c30b7 Revert "ci: temporarily build single plugins on merge requests"
This reverts commit 18b8a3c784.

We no longer need this, back to only on schedules.
2021-10-14 10:56:36 +02:00
Aleksander Morgado
18b8a3c784 ci: temporarily build single plugins on merge requests 2021-10-14 10:34:40 +02:00
Aleksander Morgado
a5f2f84f44 ci: switch single plugins build to use meson 2021-10-14 10:34:30 +02:00
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
Aleksander Morgado
727410048f ci: add meson build test
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.
2021-09-16 09:35:33 +02:00
Aleksander Morgado
c753f857f9 ci: Use feature values for libqmi, libmbim and libqrtr-glib
`libmbim`, `libqmi` and `libqrtr-glib` have started using `feature`
options in their meson builds.
2021-09-13 11:14:31 +00:00
Aleksander Morgado
180bd63381 ci: switch to build libqrtr-glib from git using meson 2021-08-06 10:47:13 +02:00
Aleksander Morgado
7eb6495c48 ci: switch to build libqmi from git using meson 2021-08-06 10:19:29 +02:00
Aleksander Morgado
2590c4f0d7 ci: switch to build libmbim from git using meson 2021-07-28 16:14:45 +02:00
Aleksander Morgado
c43ab6d330 ci: remove autoconf-archive from template 2021-07-27 00:11:56 +02:00
Aleksander Morgado
58f28c2a45 ci: build with artifacts only in master and tags 2021-05-26 12:30:58 +02:00
Aleksander Morgado
342b0ba648 ci: don't trigger build on branches or pushes
We rely on merge requests to merge new changes, so let's free a bit
the number of pipelines we launch, and avoid doing it on every branch
update.
2021-05-26 12:27:04 +02:00
Aleksander Morgado
4593eec173 ci: disable introspection and gtk-doc in all tests that don't need it
The template image we're using already contains all the necessary
build deps to enable introspection and gtk-doc, so we need to
explicitly disable them where we don't need them, or otherwise they'll
be automatically enabled as the deps are found.
2021-04-28 22:13:35 +02:00
Aleksander Morgado
d9072562cd ci: use latest ubuntu LTS by default 2021-04-28 22:13:35 +02:00
Aleksander Morgado
d2ffb47ec8 ci: add build tests with QRTR support 2021-04-14 11:27:27 +02:00
Benjamin Tissoires
01f2109ae0 CI: make use of ci-templates
full list of benefits at:
https://freedesktop.pages.freedesktop.org/ci-templates/templates.html#why-use-the-ci-templates

But the main ones are:
- reproducible (just download the container and run the `script` part
  to be in the same environment the CI was running)
- no more before script that pulls hundreds of MB and spend useless time.

Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
2021-04-08 11:39:48 +02:00
Frederic Martinsons
89cd1696c3 tools: add unit test for test-modemmanager-service.py
The tests spawn the service via GTestDBus framework and make
some test API call while checking libmm interface to verify
that informations are well propagated.

To be able to use the fresh built libmm typelib, I used a
wrapper script to set GI_TYPELIB_PATH (because DBus activation
process clean the environment so it is not possible to set
it directly in the file).

This requires also the install of libgirepository-dev and python3-gi
in the CI docker.

Signed-off-by: Frederic Martinsons <frederic.martinsons@sigfox.com>
2021-01-15 16:44:19 +00:00
Aleksander Morgado
8fc60754dd qcom-soc: new plugin for Qualcomm SoCs
This plugin implements support for old Qualcomm SoCs like the MSM8916
or the MSM8974, where:
 * control ports are available via RPMSG channels exported as devices
   e.g. with rpmsgexport:
   https://github.com/andersson/rpmsgexport
 * network ports are exposed by the bam-dmux kernel driver:
   https://github.com/msm8916-mainline/linux/commits/bam-dmux

Adding support for newer Qualcomm SoCs (e.g. QRTR+IPA) could be done
in a similar way on this very same plugin.

This plugin is the first and only one that implements support for a
modem device that is "built in" the system, as opposed to external
modems that may be available via USB or PCI.

The ID_MM_PHYSDEV_UID based udev tags provided by the plugin provide
the logic to bind all the SoC ports together in the same modem object,
and therefore ID_MM_PHYSDEV_UID should not be used by users to
override the ones set by the plugin.

All "rpmsg[0-9]*" ports that are considered part of the modem are
flagged as candidate, ignoring the parent "rpmsg_ctrl[0-9]*" ports on
purpose. This setup therefore assumes that the channels have been
exported already as devices (e.g. using rpmsgexport).

libqmi 1.27.2 is required to support the "WDS Bind Data Port" message.
2020-11-20 09:24:51 +00:00
wicadmin
72d8bae65b ci: create release tarball and hash as build artifacts 2020-09-29 08:58:08 +00:00
Aleksander Morgado
9397ed420d gosuncn: new plugin
For now, just with port type hints for the GM800 in MBIM mode.
2020-09-28 08:22:35 +00:00
Aleksander Morgado
65f56122b5 ci: add build test for WITH_NEWEST_QMI_COMMANDS
We keep this logic around, so lets add a build test as well.
2020-08-19 14:59:55 +02:00
Aleksander Morgado
fd28f94750 ci: always build libqmi with basic collection
Which must be the minimum set of supported messages required by
ModemManager.
2020-06-01 15:57:41 +02:00
Aleksander Morgado
26b589cc02 broadmobi: new plugin
Right now, just with port type hints for the BM818.
2020-05-10 10:51:45 +02:00
Aleksander Morgado
792f15648c ci: redefine when jobs are run
* single-plugin builds only on schedules
 * with/without qmi/mbim builds on master and merge requests
 * default build always, including on branches and when git pushing
2019-11-27 10:11:43 +00:00
Aleksander Morgado
c4991165c2 ci: new job to build all single-plugin configurations 2019-11-27 10:11:43 +00:00
Aleksander Morgado
913f0d638d ci: require autoconf-archive 2019-11-22 11:06:26 +01:00