1
Fork 0
Commit Graph

70 Commits

Author SHA1 Message Date
Pauli Virtanen a3e86f1733 CI: bump fedora to 39
Needed to get new enough Doxygen version.
2023-11-22 20:10:49 +02:00
Pauli Virtanen 7cd242bffb CI: install pandoc for module manpage generation 2023-11-19 16:39:15 +00:00
Wim Taymans 9e547753ad Try to fix ci 2023-10-15 18:43:06 +02:00
Barnabás Pőcze c47df433f7 ci: set some ASan and UBSan options
This is needed in part for UBSan to make tests actually
fail on encountering undefined behaviour.
2023-10-15 16:19:30 +00:00
Jan Alexander Steffens (heftig) 43db03909b ci: ShellCheck preprocessed scripts separately
Change the shellcheck job so that we configure the build and check the
preprocessed versions of the scripts, not the bare ones, which might not
be syntactically valid yet.
2023-09-15 08:49:36 +00:00
Barnabás Pőcze 7fb7c679d0 ci: fix quotation in `MESON_OPTIONS`
Fix quotation in `MESON_OPTIONS` because it is not expanded the way we want it.

Fixes: 44367eef12 ("ci: add `-UFASTPATH` to build_all")
2023-05-31 19:08:39 +02:00
Barnabás Pőcze 44367eef12 ci: add `-UFASTPATH` to build_all
To catch issue in from `spa_log_trace_fp()` and
`pw_log_trace_fp()` macro invocations.
2023-05-31 15:29:12 +00:00
Barnabás Pőcze b89942017b ci: install `libffado-devel` on fedora
To build test `libpipewire-module-ffado-driver`.
2023-05-31 15:29:12 +00:00
Niklāvs Koļesņikovs 5c72539e2e gitlab-ci: hopefully fix the CI failures after base image bumps
The Ubuntu image needs a rebuild, because there's already an image with that
same version which lacks meson. And likewise Fedora needs a rebuild, because
we still need python3-pip for two sub-images and this is (probably) the least
bad way to deal with that.

Signed-off-by: Niklāvs Koļesņikovs <89q1r14hd@relay.firefox.com>
2023-04-18 08:47:28 +00:00
Niklāvs Koļesņikovs 12f415381a gitlab-ci: update Fedora image from 35 to 37
According to gkiagia Fedora 37 is a better choice, because it's newer and its
compatibility with Coverity has been verified by WirePlumber's CI setup already.
Therefore upgrading the CI image to F37 should be safe.

Also fixed a typo in a previous commit's comment introduced by autocompletion.

Signed-off-by: Niklāvs Koļesņikovs <89q1r14hd@relay.firefox.com>
2023-04-18 08:47:28 +00:00
Niklāvs Koļesņikovs 3e23a7028b gitlab-ci: update Alpine image to 3.17
Back when it was added, the latest stable version was used. So it makes sense
to keep using using the latest stable image, which is now 3.17.

Signed-off-by: Niklāvs Koļesņikovs <89q1r14hd@relay.firefox.com>
2023-04-18 08:47:28 +00:00
Niklāvs Koļesņikovs e1fb9d1987 gitlab-ci: update the version of Ubuntu used to 22.04
Signed-off-by: Niklāvs Koļesņikovs <89q1r14hd@relay.firefox.com>
2023-04-18 08:47:28 +00:00
Barnabás Pőcze 9dcfcd7099 ci: add job that builds with ASan and UBSan 2023-03-10 00:00:53 +01:00
Barnabás Pőcze defd9be03c ci: use meson to compile 2023-03-10 00:00:53 +01:00
Barnabás Pőcze 7b5ac42699 ci: use meson to install build artifacts 2023-03-10 00:00:53 +01:00
Barnabás Pőcze 6021cea49c ci: use meson to run tests 2023-03-10 00:00:53 +01:00
Barnabás Pőcze b382d2eba8 ci: do not omit "setup" from the meson command
meson prints the following warning:

  WARNING: Running the setup command as `meson [options]` instead
           of `meson setup [options]` is ambiguous and deprecated.
2023-03-10 00:00:52 +01:00
Barnabás Pőcze c8260e16d2 ci: install libbluetooth-dev on ubuntu
Test building the bluez5 SPA plugin on ubuntu as well
since it is an important plugin.
2023-02-16 20:55:55 +01:00
Dmitry Sharshakov 3e0dc2678b filter-chain: add spatializer
SOFA is a file format used for storing and accessing spatial audio data, namely head-related transfer functions. These can be used to create binaural spatial sound using head- or earphones.

This commit introduces libmysofa as an optional dependency for loading SOFA files and creates a spatializer plugin for the filter-chain

ci: install libmysofa-devel for full build

ci: bump FDO_DISTRIBUTION_TAG
2023-01-30 21:07:06 +03:00
Jonas Holmberg bac7b10226 gitlab-ci: Add readline dependency 2022-11-07 16:30:40 +01:00
George Kiagiadakis 500a5a689e gitlab-ci: disable building session managers
...except in the build_session_managers job.

This decouples pipewire's CI from wireplumber's dependencies
and potential failures. The build_session_managers job is supposed
to catch session manager integration errors, not any other job.
2022-10-18 14:51:56 +00:00
George Kiagiadakis 8a3c1bedde gitlab-ci: move check_missing_headers into its own job and hide the script 2022-10-18 17:19:28 +03:00
Tycho Haemers ae116399ca Update .gitlab-ci.yml file 2022-10-12 10:23:39 +00:00
Tycho Haemers dc2d5e8bc6 Update .gitlab-ci.yml file 2022-10-12 10:23:39 +00:00
Frédéric Danis d02a646366 ci: Add ModemManager-dev
This library is requested to build ModemManager support in bluez native
backend
2022-10-05 19:31:50 +00:00
Frédéric Danis 201fd7755d bluez5: Add LC3 codec support to LE Audio BAP
By default this codec is disabled as the BlueZ support for LE Audio is
still experimental.
2022-09-15 11:17:20 +00:00
Pauli Virtanen 6a8bdf1bfe ci: don't require lc3plus
The lc3plus codec isn't packaged, so don't try to check if it builds.
2022-05-01 15:09:00 +03:00
Pauli Virtanen 9cb55852f4 CI: add functional test program deps 2022-03-05 17:51:22 +00:00
George Kiagiadakis 5b9ec53bf8 gitlab-ci: rebuild fedora & coverity images to update coverity
coverity's latest version (2021.12) works fine with fedora's gcc,
so that should fix the failures we are currently observing
2022-02-16 18:13:01 +02:00
Bart Ribbers b3394f36b9 ci: add Alpine target to test Musl builds 2022-01-29 07:29:34 +00:00
Peter Hutterer 6bd1bec2a4 ci: test with all auto() features enabled
This should catch any potential issues with conflicting options, missing
libraries, etc.

We need to disable aptx and roc because Fedora doesn't ship those
libraries, and we disable libcamera because it's a moving target and
shouldn't hold up the pipeline.
2022-01-28 10:45:11 +10:00
Peter Hutterer 3c6e93b69d ci: bump to use Fedora 35 2022-01-27 14:51:19 +10:00
Peter Hutterer 4a745026bc ci: bump to the latest ci-templates
Let's pick up the various fixes to the templates in the last year or so.
2022-01-27 14:50:57 +10:00
Peter Hutterer 82e321da14 ci: use FDO_CI_CONCURRENT to determine the ninja job count 2021-11-11 08:19:28 +00:00
Peter Hutterer cd3bd825c1 ci: add a job to build with the minimum required meson version
We can't build the session managers though, both require higher meson
versions than us.
2021-10-26 06:28:30 +00:00
Peter Hutterer cc38f8cc79 ci: add a job to build with the latest meson prerelease
This avoids us running into possible regressions in meson, see
https://nibblestew.blogspot.com/2021/10/a-call-for-more-downstream-testing-of.html
2021-10-26 06:28:30 +00:00
Peter Hutterer 1bced6b2ef Remove media-session from this tree
It is now available as a separate project in
https://gitlab.freedesktop.org/pipewire/media-session

The code required by pw-reservice has moved to src/tools/reserve.{c|h}
2021-10-18 20:44:07 +10:00
Peter Hutterer 6f74dc1375 ci: add a build job for the various session managers we build
We allow those jobs to fail so a theoretical issue in the session
managers doesn't prevent our pipeline from completing.
The failure could however be due to our integration of the session
managers, so failures should still be inspected nonetheless.
2021-10-18 09:19:21 +10:00
Peter Hutterer bff243d7f3 ci: clarify a debug message
Where MESON_OPTIONS is empty, the single line "Building with" is not
particularly self-explanatory.
2021-10-18 09:19:21 +10:00
Peter Hutterer 6843d1bffb ci: rebuild the ubuntu container to pick up newer ca-certificates
Otherwise git clone fails for the subprojects.
2021-10-18 08:14:56 +10:00
Peter Hutterer 52e6f2883d ci: build the default no-options and the release build jobs with clang too
Just to make sure that works, all other jobs are built with gcc only.
2021-10-12 10:05:19 +10:00
George Kiagiadakis 7e8446e984 coverity: fix multiple source code parse errors
Coverity scans the source code for static analysis, but its parser
has a couple of flaws...
The most common one is the failure to parse deprecation macros in
enum definitions, like:

```
  G_PARAM_PRIVATE GLIB_DEPRECATED_ENUMERATOR_IN_2_26 = G_PARAM_STATIC_NAME,
                  ^
  SD_JOURNAL_SYSTEM_ONLY _sd_deprecated_ = SD_JOURNAL_SYSTEM /* old name */
                         ^
```

but also recent gcc built-in macros, like:

```
  #if __has_builtin(__builtin_is_constant_evaluated)
      ^
  #if _GLIBCXX_HAS_BUILTIN(__has_unique_object_representations)
      ^
```

The solution is to replace the code with regular expressions at an earlier
stage. This can be configured directly in coverity with cov-configure
2021-09-22 15:17:20 +03:00
Peter Hutterer c2b11b09f1 ci: bump the Fedora distribution to F34 2021-09-09 09:49:12 +00:00
Peter Hutterer 959d289bca ci: add a check for modules being linked correctly in the doc
A new module requires a \subpage entry in the respective parent page.
Check for that.
2021-09-07 07:52:45 +00:00
Niklāvs Koļesņikovs e41187d643 man: move from xmltoman to rst2man
xmltoman looks dead and uses XML as well as pulls in a long list of
Perl dependencies. This replaces it with rst2man that has almost no
dependencies beyond Python, which is already required for the Meson
build system.

Naturally rst2man uses reStructuredText and the pages were rewritten
via regex and manual editing to be as close to original XML format
as possible. A few fixes and updates were done too. Most notably a
note was added to indicate that production deployments should not be
starting the session manager via pipewire.conf file.

There's three slight formatting issues/differences:
1. rst2man produces simpler footer.
2. "-f | --foo=value" confuses the parser and it fails to correctly
   add argument specific syntax highlighting to assignment value.
3. XML version had inconsistent use of <arg> and <opt> which has
   been partially addressed. But different manual pages still have
   their differences to what and how is highlighted.
2021-09-03 11:41:45 +00:00
Nils Tonnätt 2488e87fde [CI] Update Meson 2021-08-06 07:56:16 +00:00
Peter Hutterer 5c78cbd356 ci: add a build test for buildtype=release 2021-07-27 10:24:44 +10:00
Peter Hutterer 257fd83f65 Replace Pipewire with PipeWire for consistency
And set up a CI job to check for that.
2021-07-14 16:56:54 +10:00
Peter Hutterer de394866e3 ci: hook up a valgrind run 2021-07-07 11:03:23 +00:00
George Kiagiadakis 9e0ce7cbd6 ci: install a more recent meson in the ubuntu 20.04 image 2021-06-18 18:06:28 +03:00