69 Commits
Author SHA1 Message Date
Dan Williams abf9babb02 build: add -Ddeprecated=[true|false] to control deprecated symbols
Instead of using CFLAGS="-DMM_DISABLE_DEPRECATED" meson ...
which doesn't handle -Werror very well let's make it an explicit
option. Defaults to true, and autodetects previous CFLAGS
mechanism to preserve backwards compatibility.

Signed-off-by: Dan Williams <dan@ioncontrol.co>
2026-08-29 23:29:13 -05:00
Sebastian Krzyszkowiak 4a33e408e3 ci: Add build_container as a dependency of verify_dco job
Otherwise it fails for first contributions.

Signed-off-by: Sebastian Krzyszkowiak <sebastian.krzyszkowiak@puri.sm>
2026-05-12 11:47:32 -05:00
Dan Williams 0636260a39 ci: bump Ubuntu version in CI image for meson >= 0.56 for libqmi
Latest libqmi requires meson 0.56 or later, which 22.04 has.

Signed-off-by: Dan Williams <dan@ioncontrol.co>
2026-01-05 22:36:47 -06:00
Guido Günther c21191b59a ci: Use dependencies
This allows the build job to start without waiting for
the dco check

Signed-off-by: Guido Günther <agx@sigxcpu.org>
2025-06-14 16:10:05 -05:00
Guido Günther e97bd6d407 ci: Run daemon tests under ASAN
Signed-off-by: Guido Günther <agx@sigxcpu.org>
2025-06-14 16:10:05 -05:00
Guido Günther bf8bd7c4ad ci: Build full libqmi
The basic collection is not enough for MM

Signed-off-by: Guido Günther <agx@sigxcpu.org>
2025-04-13 05:01:32 +00:00
Guido Günther 3504a438c2 ci: Move variables to common-variables
This makes it a bit more obvious where the vars are available.

Signed-off-by: Guido Günther <agx@sigxcpu.org>
2025-04-13 05:01:32 +00:00
Dan Williams be3c28f1a4 ci: fix DCO check yet again
The script was combining all commit messages into one due to the quoting
of "${COMMIT}", rather than leaving unquoted and picking each individual
commit from the space separated string.

Signed-off-by: Dan Williams <dan@ioncontrol.co>
2025-04-08 20:52:56 -05:00
Dan Williams ad841cc92b ci: ensure DCO check exits with correct error code on failure
Signed-off-by: Dan Williams <dan@ioncontrol.co>
2025-03-03 11:15:54 -06:00
Dan Williams 0bf02c88cb ci: fix job image ordering
With the FDO CI templates, the first container used must
be .fdo.container-build@ubuntu which builds the actual
container the rest of the pipeline can use with
.fdo.distribution-image@ubuntu.

.fdo.container-build@ubuntu uses a static 'image:' tag for
its job base image and then pushes to the project registry.
If the first job incorrectly uses .fdo.distribution-image@ubuntu
instead, it appears to fail for MR branches because that target
uses CI_REGISTRY_USER as part of the 'image:' tag which gitlab
sets to the username of the submitter. Which of course fails
because that user has never built the image before...

Using Docker executor with image registry.freedesktop.org/<username>/modemmanager/ubuntu/20.04:2023-01-03.1 ...
Authenticating with credentials from job payload (GitLab Registry)
Pulling docker image registry.freedesktop.org/<username>/modemmanager/ubuntu/20.04:2023-01-03.1 ...

Signed-off-by: Dan Williams <dan@ioncontrol.co>
2025-02-27 08:06:10 -06:00
Dan Williams 2a65ca978d ci: de-verbosify DCO check
Only print out the specific commits that fail DCO.

Signed-off-by: Dan Williams <dan@ioncontrol.co>
2025-02-27 08:06:01 -06:00
Dan Williams 41b1923d71 ci: only run DCO check on merge requests
Signed-off-by: Dan Williams <dan@ioncontrol.co>
2025-02-25 10:56:36 -06:00
Dan Williams ca6a68a280 ci: add DCO check action
Check each commit in an MR for Signed-off-by: Name <email>

Signed-off-by: Dan Williams <dan@ioncontrol.co>
2025-02-25 10:19:21 -06:00
Aleksander Morgado 609ff75033 Revert ".gitlab-ci.yml: use meson instead of ninja where possible"
This reverts commit ad6772df34.

The 'compile' command in meson was included in v0.53.0. Let's keep on
recommending the use of ninja to build everywhere.

Fixes https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/844
2024-04-01 10:10:01 +00:00
Yegor Yefremov ad6772df34 .gitlab-ci.yml: use meson instead of ninja where possible
Replace all ninja invocations but for the uninstall target with
meson.

meson build command can be omitted when executing test and install
targets that depend on compile target.
2024-02-27 15:11:48 +01:00
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