LADI
/
spa
1
Fork 0
Commit Graph

62 Commits

Author SHA1 Message Date
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
Peter Hutterer 3f325819da gitlab CI: add a build job for Ubuntu 20.04
To avoid adding dependencies that may be considered a bit too recent, let's
build on the current Ubuntu LTS.

Unlike the current Fedora job, this is just the default build with no special
options. They can be added by anyone motivated enough to track down the
required package names :)
2021-06-10 20:39:28 +10:00
Arun Raghavan d95870d8d3 module-echo-cancel: Wire up the webrtc echo canceller
Mostly uses the existing infrastructure, but the webrtc canceller has a
fixed blocksize, so we:

  1. Use the canceller blocksize if configured
  2. Accumulate output data in a ringbuffer
  3. Push out the data in the required chunk size
2021-06-02 17:56:40 -04:00
Peter Hutterer 5bed3f1ff3 ci: hook up shellcheck 2021-05-11 07:01:21 +00:00
Peter Hutterer 7594767cf7 ci: re-order dependencies in alphabetical order 2021-05-11 07:01:21 +00:00
Peter Hutterer 2f78829fda ci: split the build_on_fedora job up into a template and a real job
Let's use a template for the generic case of "building on Fedora"
and a named job for the specific job itself.

The real change here is the artifact handling: by default the artifacts
collected for a .build job are only the meson build logs.

The build_on_fedora job collects the installed files as well (to be used in
the pages job later).
2021-04-15 13:48:25 +10:00
Peter Hutterer 2d8ee2b86d ci: fix the pages job
Regression introduced in 7e741ef983, the
change of BUILD_ID in that commit caused the pages job to break.
Fix it by relying on the same path expansion we use for the artifacts in the
parent job instead of a hardcoded path.
2021-04-15 13:48:25 +10:00
Peter Hutterer 7e741ef983 ci: add build jobs for automatic and custom-tailored options
Simple jobs that run a standard meson build process, once with no options
selected, once with a matrix of various options explicitly enabled or
disabled. This should pick up any accidental build errors.

The CI_JOB_NAME now includes brackets which cause issues in file paths, so
we use the CI_JOB_ID instead as build dir.
2021-04-14 11:04:03 +00:00
Peter Hutterer b758afbc22 ci: abstract the default build options into a variable
This enables us to have build jobs that set custom meson options instead of
always relying on the default set.
2021-04-14 11:04:03 +00:00