Commit graph

176 commits

Author SHA1 Message Date
Jordan Petridis
7dc638e620 ci: Update the .cargo/config file
```
warning: `/builds/alatiera/gstreamer-rs/.cargo/config` is deprecated in favor of `config.toml`
```

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1506>
2024-08-22 11:00:34 +01:00
Jordan Petridis
625bd4140d ci: Add a default retry policy for jobs
Automatically retry if it's a system failure or similar

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1506>
2024-08-22 10:57:54 +01:00
Jordan Petridis
68377c41d6 ci: Use gstreamer runners for jobs that recursively clone submodules
Seems like the placeholder runner is having issues with git-lfs atm.

```
Could not pull
Errors logged to '/builds/alatiera/gstreamer-rs/.git/modules/gir-files/lfs/logs/20240820T212811.645856902.log'.
Use `git lfs logs last` to view the log.
fatal: run_command returned non-zero status for gir-files
```

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1506>
2024-08-22 10:57:50 +01:00
Jordan Petridis
61814c9b0c ci: Avoid cloning the submodules when they are not needed
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1506>
2024-08-22 10:57:40 +01:00
Jordan Petridis
d1d2111413 ci: Pin the windows jobs to gstreamer runners for now
There seem to be some seemingly random failures if the
jobs get scheduled on the hyper-v isolation runners,
and they need to be debugged further.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1506>
2024-08-22 10:57:35 +01:00
Nirbheek Chauhan
3685935554 ci: Bump linux image tag, and make a separate tag for windows
It is fairly common to rebuild only the linux or windows image. This
avoids needless rebuilds and then (v slow) downloads into the docker
cache of runners.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1506>
2024-08-22 10:56:55 +01:00
Nirbheek Chauhan
4349ef5b03 ci: Use debian's gtk package instead of building our own
GTK 4.14 needs a newer glib, but we cannot build and use our own
because the system glib ends up taking precedence because cargo-c
doesn't set RPATHs for the plugins it builds.

The oldest GTK that supports glib 2.74 is GTK 4.10, and Debian 12
ships GTK 4.8, so let's just use the system GTK.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1506>
2024-08-22 10:56:51 +01:00
Nirbheek Chauhan
d8137106c1 ci: Don't pip install tomli on Debian anymore
It ships Python 3.11 which ships with a toml module.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1506>
2024-08-22 10:56:47 +01:00
Nirbheek Chauhan
d01c3e65a5 ci: Force fallback for glib when building gstreamer
Also canonicalize some argument passing in install-gst.sh

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1506>
2024-08-22 10:55:05 +01:00
Jordan Petridis
77ceb9ebe1 ci: Remove the manual trigger for the rust msrv windows job
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1506>
2024-08-22 10:54:38 +01:00
Jordan Petridis
4696c3c3ce ci: Update ci-templates ref
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1506>
2024-08-22 10:51:46 +01:00
Jordan Petridis
781b352d32 ci: Generate html and cobertura coverage with a single command
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1506>
2024-08-22 10:06:04 +01:00
Tomasz Andrzejak
207694ca6c Add libmysofa-dev to CI image
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1473>
2024-07-02 00:32:14 +02:00
Jordan Petridis
cb560e59a3 ci: Move GST_UPSTREAM_BRANCH into the images_template.yml
Used for determining which version of gstreamer we will build
in the docker images. Move it along ther other variables so
it will be easier to update.

Also change ci/install-gst.sh to avoid hardoding the version
and instead use the variable like the windows build does.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1433>
2024-04-28 10:29:37 +03:00
Sebastian Dröge
da1f53f4c7 ci: tag linter and sanity check jobs as a "placeholder" jobs
They hardly use any resources and almost finish immediately.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1420>
2024-04-09 09:09:51 +03:00
Jordan Petridis
a7ebe45ff3 ci: Add libflac in the debian image
So we can build flac elements.

Related: https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1401
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1417>
2024-04-04 15:37:42 +03:00
Sebastian Dröge
77b2800caf Publish docs for 0.22 release 2024-02-08 15:24:21 +02:00
Bilal Elmoussaoui
9617731206 ci/docs: Add missing cfg docsrs
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1350>
2023-11-16 17:29:36 +00:00
Sebastian Dröge
754b6487d4 ci: Run cargo update as part of the cargo deny / cargo outdated jobs 2023-11-10 08:56:32 +02:00
Sebastian Dröge
41519511aa Add Cargo.lock to the repository
This makes sure that any broken dependency updates are not breaking our
build, at the cost of requiring us to update the lock file regularly.

See also https://blog.rust-lang.org/2023/08/29/committing-lockfiles.html

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1340>
2023-11-09 10:07:47 +02:00
Sebastian Dröge
b93113c4c6 ci: Run cargo-deny on the whole workspace with all features enabled
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1308>
2023-09-07 15:20:43 +03:00
Sebastian Dröge
f4486f5d61 Drop 0.20 docs to reduce disk usage requirements
https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/482
2023-08-22 11:14:11 +03:00
Sebastian Dröge
76b8281709 ci: Build 0.21 docs and drop 0.19 docs 2023-08-08 19:48:54 +03:00
Sebastian Dröge
c0f9551fc4 ci: Install GTK from the GStreamer monorepo
Force-build the gtk subproject when building gstreamer

This subproject is only pulled in when -Drs=enabled by gst-plugins-rs,
so we need to force-enable it here.

Co-authored-by: Nirbheek Chauhan <nirbheek@centricular.com>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1298>
2023-07-19 17:58:37 +05:30
Sebastian Dröge
a53069208b ci: Move extra packages from gst-plugins-rs CI images here
No need to have two layers of CI images for these few additional
packages. It only complicates the whole setup.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1298>
2023-07-19 09:39:25 +03:00
Guillaume Gomez
8fba09e1ed Use --generate-link-to-definition option when generating documentation
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1297>
2023-07-17 18:06:40 +02:00
Sebastian Dröge
92327be3b1 ci: Add various missing dependencies to the Linux image
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1295>
2023-07-17 10:29:20 +03:00
Jordan Petridis
63c79d377f ci: Update ci-templates ref
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1295>
2023-07-14 02:54:43 +03:00
Sebastian Dröge
89ab9d09c8 Remove GTK3 examples/tutorials
GTK3 is deprecated and the GTK videooverlay example does not even work
on modern systems with Wayland anymore.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1293>
2023-07-06 17:25:28 +03:00
Sebastian Dröge
9d61e39ed2 ci: Pass --all-features to the documentation build
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1257>
2023-05-04 10:02:57 +03:00
Sebastian Dröge
5c331e7e77 ci: Update docs generation for new configuration mechanism
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1256>
2023-05-04 09:19:29 +03:00
Guillaume Desmottes
68e0ae9a9c ci: check for typos
https://github.com/crate-ci/typos is quite nice, and is even written in Rust.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1246>
2023-04-07 17:09:48 +02:00
Jordan Petridis
368e1cacb6 ci: Update base image to debian 12 bookworm
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1234>
2023-03-09 21:03:28 +02:00
Sebastian Dröge
7d9c12f8d1 ci: Build 0.20 docs and drop 0.18 docs 2023-02-10 00:16:13 +02:00
Jordan Petridis
c4dc549a5e ci: Make the plugin update jobs depend on the image builds
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1210>
2023-02-02 14:04:10 +02:00
Jordan Petridis
dfc6344f59 ci: move tests scripts to individual files
Instead of inling bash scripts in yaml

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1175>
2022-12-25 13:25:30 +02:00
Jordan Petridis
bed4b8644b ci: Include x264 in the gst build
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1169>
2022-12-18 11:50:23 +00:00
Jordan Petridis
8344cbc829 ci: use a multiline string for FDO_DISTRIBUTION_PACKAGES
Makes it easier to read and change

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1169>
2022-12-18 11:50:23 +00:00
Jordan Petridis
d867077c3a ci: Combine windows features builds
Part of gstreamer/gstreamer-rs#417

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1166>
2022-12-13 20:43:24 +02:00
Jordan Petridis
1935e04dd8 ci: Fix DAG deps for contianer build jobs
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1159>
2022-12-09 17:37:01 +02:00
Jordan Petridis
e87de384e1 ci: avoid always running build/test jobs
Introduce a trigger job with rules that will allow it to always
run when the MR is assigned to Marge and the final tests will be
run before being merge.

This means that Post-merge pipelines and MR pipelines that are
not assigned to Marge, will require a manual run of the trigger
job before the build/test will execute.

This should help easy the load on the gitlab runners.

Related to gstreamer/gstreamer-rs#417

Close gstreamer/gstreamer-rs#401

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1155>
2022-11-23 18:44:12 +02:00
Sebastian Dröge
efb85f416e ci: Only warn about unknown lints instead of denying 2022-11-01 11:14:31 +02:00
Sebastian Dröge
2cad43cd0f ci: Remove 0.16 and 0.17 docs
Otherwise the pages are too big.
2022-10-24 20:09:15 +03:00
Sebastian Dröge
67ecf0823d ci: Add 0.19 release to the docs job 2022-10-22 21:12:40 +03:00
Tim-Philipp Müller
bfbcdb5925 ci: make windows msrv job manual to reduce load on windows runners
https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/417
2022-10-20 13:56:41 +01:00
Jordan Petridis
253ba03a7a ci: Use correct variable for the upstream image repo 2022-09-20 17:47:43 +03:00
Jordan Petridis
a75d881272 ci: Don't filter out scheduled pipelines
Close #370

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1105>
2022-09-16 16:18:55 +03:00
François Laignel
069c6a2c01 Rename feature 'ser_de' as 'serde'
When I introduced the 'ser_de' feature, I couldn't find a way to
name it 'serde' while also make it pull the optional 'serde'
crate together with the other related dependencies.

With rustc >= 1.60 we can use 'dep:serde' to refer to the 'serde'
dependency as part of the 'serde' feature.
2022-09-12 19:36:30 +02:00
Sebastian Dröge
8d982d8b51 ci: Checkout git submodules before running gir checks 2022-09-04 22:46:57 +03:00
Sebastian Dröge
a7618aecc2 ci: Add job that checks that all generated files and submodules are in the correct version
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/400
2022-09-04 10:42:29 +03:00