Commit Graph
32 Commits
Author SHA1 Message Date
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
Aleksander Morgado f30d3d46b9 ci: ignore errors on apt update
Just to avoid e.g. invalid signature errors. The important command is
the actual install of required packages.
2019-10-16 18:33:50 +02:00
Aleksander Morgado 0a5d638726 ci: run distcheck on default build 2019-03-13 13:35:17 +01:00
Aleksander Morgado 8fba3a2318 ci: include builds without qmi and/or without mbim 2019-03-13 11:20:56 +01:00
Eric Caruso bf0b5a07ca Add .gitlab-ci.yml
This allows us to run unit tests on every commit to the gitlab
instance.
2019-02-14 13:31:58 -08:00