Jordan Petridis
a61ce97e48
ci: Use the existing checkout to create the subproject cache
...
Now that we have the monorepo, we always have a checkout
of gstreamer and we don't need to explicitly clone it again.
cbuild in ci-templates will always clone the repository in
/tmp/clone and we can use that to initialize the cache.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8994 >
2025-05-23 14:29:52 +00:00
Jordan Petridis
a74bda813b
ci: Always create the subproject cache from the upstream repo
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8994 >
2025-05-23 14:29:52 +00:00
Tim-Philipp Müller
ee0f2a0bb2
ci: check-diff: fix curl command line to handle redirects
...
Seems to be needed now with the new caching/bot-protection layers.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8949 >
2025-05-08 11:14:40 +01:00
Nirbheek Chauhan
d71d26d901
ci: Stop assuming that MR CI runs in a user namespace
...
This should un-break cerbero trigger pipelines.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8719 >
2025-05-05 11:53:47 +00:00
Tim-Philipp Müller
80a23d7132
ci: update Meson version used from 1.5.2 to 1.7.2
...
Should hopefully get rid of some issues on Windows
related to environment variables gitlab sets
(e.g. author names or MR descriptions).
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8840 >
2025-04-15 23:51:39 +00:00
Jordan Petridis
db17f54253
build: Add devcontainer manifest for our CI image
...
Devcontainer [1] is a popular container schema that makes
IDEs and tooling aware about the container image you want
to use and develop against.
The most popular implementation of devcontainer are Visual
Studio and VSCode and this allows us to have a out of the
box pre-defined and working build environment that is very
close to the environment CI runs against.
This also allows VSCode on Windows and Mac to setup a
Linux docker container (vm) to develop against if so
desired.
[1] https://containers.dev/
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7816 >
2025-04-12 10:11:29 +00:00
Jordan Petridis
2aa7dcd715
install-rust.sh: Remove rust-docs from the install
...
We don't make use use of the html documentation in
the ci image, so it only takes space.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7816 >
2025-04-12 10:11:29 +00:00
Jordan Petridis
f9cd0f0d9b
ci: Remove some leftover caches in the linux images
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7816 >
2025-04-12 10:11:29 +00:00
Jordan Petridis
5ce342f8fd
ci: Move containeruser creation into the main image
...
Doesn't need to be done only for toolbox and we will
need this when we switch the user gitlab-ci runs as.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7816 >
2025-04-12 10:11:28 +00:00
Jordan Petridis
ca44d76c4f
ci: Print some metadata at the start of the build
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7816 >
2025-04-12 10:11:28 +00:00
Jordan Petridis
b9c3e7c162
build-toolbox-image.sh: Install rust-analyzer into the image
...
If you develop against the image, then you can configure
your IDE to spawn rust-analyzer inside the container as well.
This works with devcontainer and vscode.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7816 >
2025-04-12 10:11:28 +00:00
Jordan Petridis
17cf7226f4
build-toolbox-image.sh: Hardcode the RUSTUP/CARGO_HOME env vars
...
We install the rust toolchain, but then we have to manually
source it in CI since the headless containers skip over
the shell profiles that rustup typically uses.
Ideally we'd set these as variables in the main image, but
we don't have access to the buildah instance used in
ci-templates/cbuild.
However adding them to the toolbox image is good enough to
have the toolbox setup work ootb even if it doesn't call the
ci/scripts/source_image_env.sh script like the gitlab-ci jobs
will do.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7816 >
2025-04-12 10:11:28 +00:00
Jordan Petridis
2ce8a1aea9
build-toolbox-image.sh: Only publish the latest tag on the appropriate branch
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7816 >
2025-04-12 10:11:28 +00:00
Jordan Petridis
22a83c8db6
build-toolbox-image.sh: Change the suggested name for the toolbox
...
Previously the script will give you a command like:
```
toolbox create gst-toolbox ..
```
Which is a bit redundant since we are already creating
toolbox, we don't need to label it as such.
Now instead use gst-$GST_UPSTREAM_BRANCH for the name,
so we will suggest gst-main and gst-1.24 instead
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7816 >
2025-04-12 10:11:28 +00:00
Sebastian Dröge
883ff6caaa
ci: Update to Rust 1.86 and cargo-c 0.10.12
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8783 >
2025-04-05 19:56:17 +03:00
Sebastian Dröge
83ae21e8fe
ci: Add libatomic to the system packages for the Fedora image
...
F40's gcc ships with a libatomic.so that points to libatomic.so.1.2.0 which is
not installed as a dependency. That breaks library checks / linking.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8637 >
2025-03-14 15:12:33 +00:00
Nirbheek Chauhan
7b3ec8c419
ci: Don't install WiX 3.x in the windows image
...
Fails to install, and we don't need it anymore either.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8532 >
2025-02-23 16:55:53 +00:00
Sebastian Dröge
3db85ca77a
ci: Update to cargo-c 0.10.11
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8532 >
2025-02-23 16:55:53 +00:00
Sebastian Dröge
f2bcd56571
ci: Update to Rust 1.85
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8532 >
2025-02-23 16:55:53 +00:00
Nirbheek Chauhan
8a36647064
ci: Fix builddir typo in build-docs script
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8403 >
2025-02-09 14:25:31 +00:00
Nicolas Dufresne
bb37ea168d
doc: v4l2codecs: Document all decoders
...
Add the documentation blob and since marker for all decoders.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5555 >
2025-02-06 00:58:01 +00:00
Andoni Morales Alastruey
bc5e1eeb16
build: remove gst-indent as a subproject
...
gst-indent is now installable with pip. Remove it as
a subproject and update the documentation.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8402 >
2025-02-05 17:43:57 +00:00
Andoni Morales Alastruey
3213e641ec
hooks: use pre-commit to run all hooks
...
Migrate all the pre-commit and commit-msg hooks to use
pre-commit (https://pre-commit.com/ )
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5192 >
2025-01-31 19:15:25 -03:00
L. E. Segovia
fab3da528e
gst-indent: build our own indent tool and make it available in the devenv
...
No more formatting mismatches owing to different GNU indent
versions shipped by different distro versions.
See #340
Co-authored-by: L. E. Segovia <amy@centricular.com>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5192 >
2025-01-31 19:14:41 -03:00
Thibault Saunier
58939e10ee
docs: Embed the gstreamer-rs documentation into our documentation in CI
...
Downloading the latest build of GStreamer-rs from its CI job and running a
script to embed the rustoc generated documentation into hotdoc based one.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8317 >
2025-01-23 10:52:50 +00:00
Sebastian Dröge
c513340c89
ci: Update to Rust 1.84 and cargo-c 0.10.8
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8285 >
2025-01-11 17:38:00 +02:00
Mathieu Duponchelle
7b4e6e67d3
docs: start using custom_target instead of run_command for sitemap
...
Intead of passing around the output of the config generator program,
which consists of paths joined by a separator we can have the generator
simply produce an extra file containing those paths.
This commit only implements the new approach for the core plugins, as
this was needed to avoid spurious meson rebuilds when the pre-commit
hook regenerates the core plugins_cache.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8231 >
2025-01-09 16:19:39 +00:00
Sebastian Dröge
2b1e4d4038
ci: Update to cargo-c 0.10.7
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8002 >
2024-11-30 12:38:28 +00:00
Sebastian Dröge
a91b48f5d5
ci: Update to Rust 1.83
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8002 >
2024-11-30 12:38:28 +00:00
Matthew Waters
fc30006290
ci/abi-check: provide the header dir to abidw
...
Allows the abi diff check to correctly filter out private types.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7981 >
2024-11-27 14:57:48 +00:00
Matthew Waters
5b32fe7b24
ci: add an ABI check job
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7875 >
2024-11-18 12:11:57 +11:00
L. E. Segovia
e0f0b5c829
ci/windows: Add WiX v5
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7881 >
2024-11-15 12:16:04 +00:00
Matthew Waters
76a037d29a
ci: handle changing wrap file refs
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7821 >
2024-11-05 02:38:38 +00:00
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] b3a5da5b5ca
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