Commit graph

84 commits

Author SHA1 Message Date
George Kiagiadakis d1a6b8f23f ci: bump fedora version to 40 and alpine to 3.20
Latest alpine has gstreamer 1.24, which we should be compiling against because
the DMA_DRM code paths are not compiled with older versions. Unfortunately,
this is yet not in fedora 40.

Latest fedora is bumped just because. We should always test against latest
fedora and the previous ubuntu LTS, to make sure we support a relatively wide
range of system versions.
2024-05-30 13:31:34 +00:00
Pauli Virtanen 47c080496f CI: fix pages build stage
build_on_fedora_html_docs needs to be on earlier stage than pages so
that it can find the artifacts.
2024-04-06 11:17:12 +03:00
Arun Raghavan 6c348e0600 ci: Avoid running pages build on merge requests 2024-04-05 11:49:41 -04:00
Arun Raghavan ff95fcd901 ci: Switch only/except to rules
Only and except are deprecated, at least don't seem to be working for
the pages job.
2024-04-05 11:48:19 -04:00
Arun Raghavan dedb086148 ci: Make syntax highlighting a bit happier
At least neovim's YAML parser doesn't like the ' ' without a leading
space.
2024-04-05 11:48:19 -04:00
Pauli Virtanen d02cec53c6 CI: put docs from both 1.0 and master on pages 2024-04-01 07:16:24 +00:00
Pauli Virtanen da1a5568a1 doc: add options to change what /usr and /etc paths are shown
Add options to change the 'prefix' and 'sysconfdir' values shown in
documentation, e.g. on config file man pages.

Update CI to set them, so that its produced output doesn't show
/builds/pipewire/... on man pages
2024-03-10 22:25:42 +02:00
Wim Taymans ecd7a88ae8 Update .gitlab-ci.yml file 2024-02-16 09:17:49 +00:00
Wim Taymans 7eaa8c2ccc Update .gitlab-ci.yml file 2024-02-16 09:08:44 +00:00
Wim Taymans 6df96a7ab0 Update .gitlab-ci.yml file 2024-02-16 09:07:13 +00:00
Wim Taymans af59bf9137 Update .gitlab-ci.yml file 2024-02-16 08:27:06 +00:00
Wim Taymans 136e0b878e Update .gitlab-ci.yml file 2024-02-16 08:25:38 +00:00
Sergio Costas Rodriguez 10fe33c4f6 Trigger ubuntu rebuild 2024-01-12 11:35:17 +00:00
Sergio Costas Rodriguez d568dcd64f pipewire-pulse: add snap permissions support
SNAP containers have two main "audio" security rules:

 * audio-playback: the applications inside the container can
   send audio samples into a sink

 * audio-record: the applications inside the container can
   get audio samples from a source

Also, old SNAP containers had the "pulseaudio" rule, which just
exposed the pulseaudio socket directly, without limits. This
is similar to the current Flatpak audio permissions.

In the pulseaudio days, a specific pulseaudio module was used
that checked the permissions given to the application and
allowed or forbade access to the pulseaudio operations.
With the change to pipewire, this functionality must be
implemented in pipewire-pulse to guarantee the sandbox
security.

This patch adds support for sandboxing permissions in the
pulseaudio module, and implements support for the SNAP audio
security model, thus forbiding a SNAP application to record
audio unless it has permissions to do so.

The current code for pipewire-pulseaudio checks the permissions
of the snap and adds three properties to each new client:

 * pipewire.snap.id: contains the Snap ID of the client.

 * pipewire.snap.audio.playback: its value is 'true' if the client
   has permission to play audio, or 'false' if not.

 * pipewire.snap.audio.record: its value is 'true' if the client
   has permission to record audio, or 'false' if not.

These properties must be processed by wireplumber to add or
remove access permissions to the corresponding nodes. That
code is available in a separate patch: https://gitlab.freedesktop.org/pipewire/wireplumber/-/merge_requests/567
2024-01-12 11:35:17 +00:00
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