Commit graph

106 commits

Author SHA1 Message Date
Pauli Virtanen
9f1a149876 ci: add file package, for coverity
Try to fix coverity by adding missing 'file' package to container
2025-10-25 12:42:45 +03:00
Pauli Virtanen
0b78a2d97c ci: bump Fedora version to Fedora 42
This brings newer Doxygen.
2025-10-15 20:39:14 +00:00
Barnabás Pőcze
126d61db1b ci: build_on_debian: set test timeout multiplier
Some tests - for example test-fmt-ops - are compute heavy. Since tests
in non-x86 builds are run inside qemu, they can be significantly slower,
exceeding the default 30 second timeout.

So set the timeout multiplier to 2 to allow for slower execution.
2025-10-10 16:06:16 +00:00
Barnabás Pőcze
e4480cf804 ci: enable ffmpeg in build_on_debian
The dependencies are already installed, but since the ffmpeg related
meson options are set to `disabled`, they were not used.
2025-10-06 12:10:23 +00:00
Pauli Virtanen
9daf499fff ci: build pages only from master branch
The job on master branch builds pages for all versions at the same time.
It should not be run on branches.
2025-09-15 18:03:33 +00:00
Barnabás Pőcze
0fcabdbd0c ci: cross compile on debian 13 to multiple architectures
Debian supports many architectures, and it is relatively easy to work
with multiarch packages, and finally `meson env2mfile` supports
generating cross files with the `--debarch` option.

Previously only native builds were done in the CI, so use debian to
build pipewire for multiple architectures.

Some packages are unfortunately not multiarch compatible, so a separate
container is built for every architecture.
2025-08-13 07:14:33 +00:00
Barnabás Pőcze
9438df8d30 Revert "ci: Add an x86 build"
This reverts commit 2042a0483b.
A new approach is added in subsequent commits based on debian
for more architectures.
2025-08-13 07:14:33 +00:00
Wim Taymans
ae226a12b6 CI: trigger rebuild 2025-07-17 13:47:59 +02:00
Wim Taymans
c38dc1cf72 CI: add onnxruntime 2025-07-17 13:29:03 +02:00
Pauli Virtanen
f073a1a59b ci: add spandsp & liblc3 2025-07-12 19:59:33 +00:00
Sam James
69eaa6d098
ci: add fftw 2025-06-28 08:23:59 +01:00
Arun Raghavan
2042a0483b ci: Add an x86 build
Fairly minimal for now to save time, but we can add more deps and cover
more code as needed. We don't test or install as this isn't a native
build and we just want to make sure it builds for now.
2025-05-29 08:29:34 +00:00
Barnabás Pőcze
a0eb12e4be ci: specify explicit dependencies between jobs
Use `needs` to specify job dependencies explicitly instead of relying on
stages for ordering. This allows jobs from multiple stages to run concurrently
without having to wait for unrelated jobs in earlier stages.

See https://docs.gitlab.com/ci/yaml/#needs for more information.
2025-05-14 09:41:44 +00:00
Barnabás Pőcze
09a5b7ee35 ci: do not install libv4l
`libv4l` has not been necessary for a long time, so drop it.
2025-05-12 09:39:35 +00:00
Pauli Virtanen
4c51e6518b bluez5: ldac decoding support
Add support for LDAC decoding, if libldac decoder is available.
2025-04-10 13:22:57 +00:00
Pauli Virtanen
e9a2406314 CI: bump to Fedora 41
Fedora 40 EOL is next month, and newer Doxygen version is better for
docs.pipewire.org.
2025-04-06 12:12:59 +03:00
Pauli Virtanen
b8ad9acbc7 CI: build also 1.4 docs 2025-04-05 11:27:32 +00:00
Arun Raghavan
4ae348254e ci: Bump to latest ci-templates 2025-03-25 17:27:48 +00:00
Barnabás Pőcze
ff75f550ad ci: add missing libebur128 dependency
The `build_all` job enables most features, including the ebur128
filter-graph plugin. However, the dependency is currently not
installed, which leads to meson failing to set up the build.

Fixes: df271d13f3 ("filter-chain: add ebur128 filter")
2024-12-10 22:18:46 +00:00
psykose
6fe0bd75be ci: add elogind to alpine CI
this should now be picked up, so add it to make sure elogind is checked in CI
2024-09-21 21:56:34 +00:00
Arun Raghavan
15b5185e6f ci: Add workflow rules to avoid duplicate branch/MR pipelines 2024-08-07 15:44:40 -04:00
Pauli Virtanen
23f02b0d98 CI: build docs also for 1.2 branch, and show them on main page 2024-07-25 21:25:48 +03:00
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