Commit graph

166 commits

Author SHA1 Message Date
Jordan Petridis
145321929c ci/fedora: Install mesa-va-drivers package
In the CI we don't have x11 or wayland compositor running,
so the va plugins don't initialize and the tests will keep
running against software encoders/decoders.

However when running locally or inside toolbox, this will
allow va plugins to initialize and be tested.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7762>
2024-11-02 11:46:25 +00:00
Jordan Petridis
94737cc108 ci: Install all the glbic langpacks in the fedora image
Also remove the coreutils swap from the toolbox since
it's already done in the base image

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7762>
2024-11-02 11:46:25 +00:00
Jordan Petridis
dba08b2405 ci/fedora: Remove the usage of builddep when creating the image
Instead list all the dependencies we want explicitly so we have
more control over them and avoid changes we didn't anticipate
based on the fedora package metadata and updates.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7762>
2024-11-02 11:46:25 +00:00
Jordan Petridis
b3b15764ac ci: Add more explicit deps into fedora/deps.txt
And use the pkgconfig() syntax to install things based
on the .pc file rather than the package name.

Current list generated from meson introspect --dependencies

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7762>
2024-11-02 11:46:25 +00:00
Jordan Petridis
9cf259229a ci/fedora: Add qt6 packages to the deps
It's already getting installed but add them explicitly

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7762>
2024-11-02 11:46:24 +00:00
Guillaume Desmottes
62de46872c ci: install qrencode
Required to build the qroverlay plugin.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7649>
2024-10-31 15:02:59 +00:00
Jordan Petridis
5ad8258a7d ci/build-toolbox-image.sh: Always print how to use fetch the image
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7769>
2024-10-31 05:22:26 +00:00
Jordan Petridis
19d5a58450 ci: Add a default non-root user in the toolbox image
Toolbox itself will try to make a new user and map the host
uid:gid to it, however it good to also have a default user
set in the image itself in case it needs to be used with
other tooling or debugging.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7769>
2024-10-31 05:22:26 +00:00
Nirbheek Chauhan
60e6b62dae ci: Switch from URL to PATH for trigger CI variable
Use a path, which contains the namespace and the repo name instead of
the complete URL when triggering the Cerbero CI pipeline. Some of the
jobs in the Cerbero pipeline (specifically the examples build) need to
curl the API, and they need the path for that, not the website or git
URL.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7799>
2024-10-31 04:04:13 +05:30
Seungha Yang
5b089caa09 ci: Update fluster VP8 result
Updating vp80-03-segmentation-1425 and vp80-03-segmentation-1436
results

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7710>
2024-10-29 20:19:15 +00:00
Jordan Petridis
ef745265be ci/scripts/test: Place XDG_RUNTIME_DIR in /tmp when running locally
Avoid polluting the pwd/current checkout you are working from

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7591>
2024-10-28 13:47:18 +00:00
Jordan Petridis
e6e2653bf8 ci: Always run the tests using software rasterization
This way when run locally the environment matches what
happens in the headless CI runners without a gpu.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7591>
2024-10-28 13:47:18 +00:00
Jordan Petridis
9c5523d529 ci: Make it easier to run the build scripts locally
* Move the exported PATH variables into a script so
we can source it in all the wrapper scripts.

* Add a guard to only copy over the cache when the
SUBPROJECTS_CACHE_DIR variable is set, which only
happens on CI by default

* Make it possible to run the scripts with default
values for some of the variables, like WERROR and MESON_ARGS.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7591>
2024-10-28 13:47:18 +00:00
Jordan Petridis
ef4bb38ebe ci/windows: Bump meson version to 1.5.2
This matches the version we use in linux [1]

[1] b3a5da5b5c

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7434>
2024-10-26 14:19:05 +03:00
Tim-Philipp Müller
b3a5da5b5c ci: pin Meson on fedora/debian docker images to 1.5.2 for now
Fixes g-ir-scanner breakage that seems to happen with latest Meson 1.6.0.

/usr/bin/ld: build/tmp-introspectki7q5vp9/GstBase-1.0.o: undefined reference to symbol 'gst_init'
/usr/bin/ld: build/subprojects/gstreamer/gst/libgstreamer-1.0.so.0: error adding symbols: DSO missing from command line

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7753>
2024-10-25 19:27:06 +01:00
Detlev Casanova
1c0ed5137e ci: fedora: deps: Add systemd-udev
An udevd implementation is needed to run virtme tests.

In Fedora 40, it is provided by systemd-udev, add it as a dependency.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7455>
2024-10-25 13:55:20 +00:00
Jordan Petridis
c0357f8f8b ci: Disable avx2+ extensions for valgrind jobs
Match what valgrind supports and set the appropriate
openssl variable for it.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7455>
2024-10-25 13:55:20 +00:00
Edward Hervey
1a1f1f3e0a ci/docs: Use new changes from hotdoc
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7455>
2024-10-25 13:55:20 +00:00
Jordan Petridis
60f71b14d5 ci: fluster: add bc to the image
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7455>
2024-10-25 13:55:19 +00:00
Jordan Petridis
8bb75d0234 ci: Do not install weak_deps into the image
Only pull what we need to keep the image size smaller.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7455>
2024-10-25 13:55:19 +00:00
Jordan Petridis
7cf69a0f2f ci: Create a separate image for fluster
Move the fluster setup into it's own image.

It's only one job using it and this allows us to make
the build image used for the rest of the jobs smaller.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7455>
2024-10-25 13:55:19 +00:00
Jordan Petridis
2cd382af73 ci: Cleanup the cargo registry in the images
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7455>
2024-10-25 13:55:19 +00:00
Jordan Petridis
6ebf8de722 ci: Enable the debuginfo repos in the images
Always enable the debuginfo repos, so the debug packages
installed are automatically kept in sync when upgrading
the system.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7455>
2024-10-25 13:55:19 +00:00
Jordan Petridis
815a26f982 ci: Ensure only rustc from rustup is installed
We use rustup to source our rustc toolchain, however
due to rust being a common dependency, the toolchain
might get install when installing build depds of
packages.

Ensure rust can cargo are removed if that happens

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7455>
2024-10-25 13:55:19 +00:00
Jordan Petridis
a31c8cf370 ci: Push a dedicated toolbox image
This is mostly done to remove the hardcoded HOME
env var that ci-templates appends to the image. See [1]

[1] https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2433#note_2243222

But it also allows us to add extra things useful for local
development to it, as long they don't interfere with the
build enviornment.

This also means we can switch the build image to be based
on top of the normal fedora one rather than toolbox,
so it will no longer advertise the toolbox compatible labels
since it was buggy anyway.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7455>
2024-10-25 13:55:19 +00:00
Edward Hervey
10437c1677 ci: Install valgrind-devel
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7455>
2024-10-25 13:55:19 +00:00
Jordan Petridis
d9c35760b8 ci: Update fedora base image to f40
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7455>
2024-10-25 13:55:18 +00:00
Nirbheek Chauhan
15b0b49918 ci: Add scripts to retry windows builds on spurious errors
Similar to cerbero, we run meson commands inside a powershell script
that will examine the output for spurious errors and re-run that
particular command.

https://gitlab.freedesktop.org/slomo/gstreamer/-/jobs/65265526

https://gitlab.freedesktop.org/slomo/gstreamer/-/jobs/65265524

https://gitlab.freedesktop.org/nirbheek/gstreamer/-/jobs/65331410

https://gitlab.freedesktop.org/jcowgill/gstreamer/-/jobs/65489856

https://github.com/rust-lang/rust/issues/127883#issuecomment-2290594194

Co-Authored-by: L. E. Segovia <amy@centricular.com>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7680>
2024-10-23 14:38:20 +00:00
Sebastian Dröge
22e5e57d44 ci: Update to cargo-c 0.10.5
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7683>
2024-10-19 00:06:50 +00:00
Sebastian Dröge
d56fa94146 ci: Update to Rust 1.82
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7678>
2024-10-17 22:39:45 +00:00
Olivier Crête
8055b0386f h264parse: Don't fake IDR without at least an i-slice
There was an override to fake an IDR as soon as a SPS/PPS
is encountered, but that's not valid, at least an i-slice is needed.

Amend the visl result, as the output is slightly more correct, not
duplicating frame_num.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7330>
2024-10-02 20:33:13 +00:00
Jordan Petridis
120f2a6b83 ci: Explicitly set the number of jobs validate-launcher will run
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7592>
2024-10-02 13:58:09 +00:00
Jordan Petridis
a0b561b492 ci: Pass --builddir to gst-env.py in build-docs.sh
The CI uses a builddir name that gst-env can autodetect,
but that's not always the case if you run the script locally.

Pass the builddir explicitly to avoid this.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7559>
2024-09-30 20:47:44 +00:00
Sebastian Dröge
2d989058a7 ci: Update to cargo-c 0.10.4
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7458>
2024-09-05 20:05:38 +00:00
Sebastian Dröge
0f5e894931 ci: Update to Rust 1.81
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7458>
2024-09-05 20:05:38 +00:00
Nirbheek Chauhan
cb89358d74 ci: Don't build the gtk subproject unless the changes are relevant
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7439>
2024-09-03 01:30:57 +05:30
Thibault Saunier
87c69e5174 ci: Fail tests if we forget to checkout expectation files
And add missing expectation files

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7400>
2024-08-21 17:53:38 +00:00
Tim-Philipp Müller
2263caff45 ci: update Rust to 1.80.1 and cargo-c to 10.3
And use cargo install --locked

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7326>
2024-08-14 04:34:28 +00:00
Nirbheek Chauhan
6a913a98ca ci: Fix subprojects cache dir usage on macOS jobs
The location is on `/subprojects` on macOS. In all cases, the actual
location is specified in `.gitlab-ci.yml`.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7236>
2024-07-25 16:09:08 +05:30
Jordan Petridis
a80fef34a2 ci/scripts: Specify arguments by args rather than env vars
This dehardcodes the builddir the scripts use, and allows
us to pass it as a cli argument.

It also allows us to pass the test stuite string as an
arg for test.sh

This makes the scripts a bit more usable for local development
as well.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7114>
2024-07-04 15:07:28 +03:00
Jordan Petridis
1126c1d90e ci: Use gst-indent-1.0 in the lint job
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6624>
2024-05-28 13:27:57 +00:00
Jordan Petridis
83694a1094 ci: Remove pip install version limits for meson/hotdoc
We used to have them pinned to avoid unexpected issues
when we wanted to update the image, however we haven't
needed them lately and we should be good to install the
latest stable version always.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6656>
2024-04-24 15:01:27 +00:00
Jordan Petridis
472d1b52d3 ci: Add a simple build job based on debian
The gstreamer-rs repos use debian based images already,
which we can later base on this one. Additionally it's
good to have another distro target so we avoid weird
fedoraisms when possible.

It will also be simpler to keep it up to date, as we
don't need to run the test suite against this build as
well.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6656>
2024-04-24 15:01:27 +00:00
Tim-Philipp Müller
3f90dca733 ci: trigger_cerbero_pipeline: improve error in case of insufficient permissions
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6608>
2024-04-12 18:01:28 +00:00
Sebastian Dröge
78099afdbe ci: Update to Rust 1.77.2
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6593>
2024-04-11 02:00:28 +00:00
Daniel Morin
93b8a1777d ci/fluster: Revert results for visl
- Make test pass without h264parse AU boundary detection changes

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6540>
2024-04-07 15:25:23 +00:00
Sebastian Dröge
9854c79ad6 ci: Update to Rust 1.77.1
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6482>
2024-03-29 19:55:09 +00:00
Sebastian Dröge
cfe55115c3 ci: Update to Rust 1.77 / cargo-c 0.31 / rustup 1.27
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6426>
2024-03-22 21:31:03 +00:00
Jordan Petridis
dc5b866d87 ci: Run the commit lint job as a user
Part of #2433

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5938>
2024-02-20 18:28:52 +02:00
Sebastian Dröge
d49a2ae00f ci: Update to cargo-c 0.9.30
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6106>
2024-02-13 21:25:08 +00:00