Commit graph

107 commits

Author SHA1 Message Date
Nirbheek Chauhan a3d405f670 meson: Add options for all plugins
Required a slight rework of the build file, and how options are passed
to cargo_wrapper.py

Necessitated a bump of the required gstreamer version to 1.20, which
should be fine for the meson build since its primary function is to be
built as part of the gstreamer monorepo build to get a dev env.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1028>
2022-12-28 22:30:11 +05:30
Sebastian Dröge e6fa7c0b2b ci: Disable gst-build job for now
See https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/262

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/998>
2022-12-03 18:21:19 +00:00
Tim-Philipp Müller 8d1c7cef3e ci: add trigger job and only run documentation job post-merge
- require manual trigger to run pipeline on branches and MRs
- require manual trigger to run pipeline post-merge (excl. docs)

https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/417

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/965>
2022-11-09 20:47:22 +02:00
Tim-Philipp Müller cc8d84330c ci: add integration stage and move documentation job to that
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/965>
2022-11-09 20:37:43 +02:00
Sebastian Dröge e87251c7d9 ci: Update to cargo-c 0.9.14 2022-11-05 16:26:23 +00:00
Sebastian Dröge ba20fc735e ci: Only warn about unknown lints instead of denying 2022-11-01 11:27:01 +02:00
Thibault Saunier 5c89c3db69 webrtc: Rename and add to meson build the signalling server
The binary was only called `server` it has been renamed to
`gst-webrtc-signalling-server` and is installed in meson.
2022-10-20 18:20:15 +00:00
Tim-Philipp Müller 363de0c1c6 ci: make windows msrv job manual to reduce load on windows runners
https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/417
2022-10-20 12:59:18 +00:00
Nirbheek Chauhan 86a19e3765 ci: Include image tag names from the main repo
Now we don't need to keep anything in sync manually.

Also fix the images_template.yml include while we're at it.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/875>
2022-09-23 01:54:06 +05:30
Nirbheek Chauhan 814f279eeb ci: Update fedora image to latest tag for new meson
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/874>
2022-09-22 17:18:59 +05:30
Thibault Saunier 21e1756168 docs: Remove cruft 2022-09-15 19:27:52 -03:00
Thibault Saunier dfc11c545b ci: Build documentation with hotdoc to verify Since markers
We use GStreamer image to build the documentation as it is the simplest
way to ensure that we are testing against the same thing as GStreamer
itself.
2022-09-15 18:33:03 -03:00
Jordan Petridis 3f5020ec83 ci: have build jobs depend on either build-* or update-* jobs
followup to 23c07d3c

When we trigger an update pipeline, instead of build-jobs we
replace them update-* jobs. In order for gitlab to not complain
add both of the jobs in the needs array, but mark them as optional
so either of them can be used depending on the usecase.
2022-09-14 15:30:35 +03:00
Jordan Petridis 2bf5f0bf67 ci: combine windows build jobs
Instead of having a matrix of jobs, use a single job running
all the tests like the linux jobs do.

This helps with improved cache hits as most of the deps are shared
between the builds.
2022-09-12 16:35:56 +03:00
Jordan Petridis 23c07d3cb3 ci: declare the depencency between build jobs
This enables the pipeline to execute jobs asyncronously when
they are ready, regardless if the pipeline stage has finished.
2022-09-12 08:16:10 +00:00
Jordan Petridis 3313a93ff7 ci/linux: also build with --no-default-features
Close #240
2022-09-12 08:16:10 +00:00
Jordan Petridis 165f3a788b ci/windows: Build all the crates at once
In gst-rs we build each crate on its own, since not all
crates share the same features and some conflict with each other.

However currently, that isn't the case in plugins-rs and instead
we can be building all the crates with the same flags and simplify
the the script.

Close #241
2022-09-10 14:29:23 +03:00
Jordan Petridis de3972a707 ci: Add visual studio/msvc builds
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/841>
2022-09-08 15:12:59 +03:00
Jordan Petridis 4616e3225c ci: allow jobs to be interrupted
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/841>
2022-09-08 12:55:18 +03:00
Sebastian Dröge 919b60bb6b ci: Update to cargo-c 0.9.12 2022-09-07 12:15:21 +03:00
Xavier Claessens ef78498dc2 ci: Fix running gst-inspect inside devenv
There are 2 gst-inspect-1.0 executables, one in root builddir and
another one in subprojects/gstreamer/tools/. The latter does not link on
gst-full, meson devenv is supposed to set the former first in PATH, but
it seems to be flicky.
2022-09-06 11:53:15 -04:00
Sebastian Dröge 3924e2e563 ci: Fix up image tags 2022-09-04 23:20:31 +03:00
Xavier Claessens 4ac60165a8 meson: Define gst_plugins with list of dependencies
This is needed to link gst-full with Rust plugins. The script requires
either python11 or the tomli module.
2022-09-02 22:00:57 +00:00
Xavier Claessens 8f932a7641 ci: Store meson logs into artifacts
This helps debugging failures.
2022-09-02 22:00:57 +00:00
Xavier Claessens 934e6c3888 ci: Make gst-build job manual on MRs 2022-09-02 22:00:57 +00:00
Thibault Saunier e391f1ef25 ci: Check that documentation is updated as required 2022-08-29 18:33:22 -04:00
Sebastian Dröge 065bc72bfe ci: Update to cargo-c 0.9.11 2022-07-19 18:16:19 +03:00
Sebastian Dröge dda125edb5 ci: Update image version 2022-07-01 10:40:06 +03:00
Sebastian Dröge 87f5d0b31c ci: Fix syntax for coverage reports to the new format 2022-06-07 09:36:03 +03:00
Sebastian Dröge b9bc331ebc ci: Generate coverage report also for crates with external dependencies 2022-05-12 18:32:04 +03:00
Arun Raghavan ea98a0b596 dav1ddec: Bump dependency for dav1d 1.0.0
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/698>
2022-05-11 08:29:15 -04:00
Jordan Petridis a4aa45d27f ci: remove the david checkot after install
Makes the docker image slightly smaller
2022-05-10 12:34:03 +03:00
Sebastian Dröge e8f15eb1e8 ci: Rebuild image and move coverage job to the stable image 2022-04-07 19:48:57 +03:00
Vivia Nikolaidou d48d732038 .gitlab-ci.yml: Fix deprecated -Zinstrument-coverage switch 2022-03-30 16:16:25 +03:00
Guillaume Desmottes ab344a469a ci: run tests with RUST_BACKTRACE
Handy to debug failing tests.
2022-02-22 17:31:35 +01:00
François Laignel e0e890fd8d ci: cargo test --all-features too...
... and replace the deprecated --all argument with --workspace.

Also use --all-targets so that code, unit tests, integration tests
and examples can all be compiled or tested in one go.
2022-02-21 23:32:32 +01:00
Sebastian Dröge 75d348709c Change default branch from master to main 2022-01-16 16:19:36 +02:00
Sebastian Dröge ab14c50d1c Ignore clippy::non_send_fields_in_send_ty lint
It's useless in its current shape and wrongly triggering on all types.

See https://github.com/rust-lang/rust-clippy/issues/8045
2022-01-14 12:09:57 +02:00
Jordan Petridis f78b97ba4a ci: stop installing gtk4 manually
It's now included in the base image we use.

https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/942
2022-01-12 22:24:22 +02:00
Sebastian Dröge 82d969190f ci: Remove the gstreamer directory if it exists already for the gst-build job
Otherwise it will regularly fail because the runner already has the
directory available for some reason.
2021-12-20 10:51:41 +02:00
Guillaume Desmottes c99b7785f9 ci: add gst-build job schedule job 2021-11-02 14:25:32 +01:00
Sebastian Dröge 0a7d1639e7 Update to Rust edition 2021 and minimum supported Rust version to 1.56 2021-10-31 17:40:05 +02:00
Sebastian Dröge db30cfcc74 ci: Install cargo-c 0.9.4 until our minimum supported Rust version is 1.56 2021-10-23 10:37:55 +03:00
Bilal Elmoussaoui 30796fbe07 Add a GTK4 paintable sink plugin
Co-authored-by: Sebastian Dröge <sebastian@centricular.com>
Co-authored-by: Jordan Petridis <jordan@centricular.com>
2021-10-13 12:28:51 +03:00
Sebastian Dröge e61bfa1ea9 ci: Update to dav1d 0.9.2 2021-09-10 10:21:01 +03:00
Jordan Petridis 610f98dc2d
ci: avoid spawning 2 pipelines for each commit
When an MR is open, you can have both a normal and a "detached"
pipeline.

They have different properties, but a detached pipeline is
enough for us and identical to the normal one, so we can avoid
the extra load on the CI.

https://docs.gitlab.com/ee/ci/jobs/job_control.html#avoid-duplicate-pipelines

https://docs.gitlab.com/ee/ci/yaml/index.html#switch-between-branch-pipelines-and-merge-request-pipelines
2021-09-09 06:06:25 +03:00
Sebastian Dröge 96d86eaa06 Clean up clippy warnings and CI configuration
Put clippy overrides into the sources files instead of the CI
configuration, and fix various warnings / clean up code.
2021-09-08 12:35:41 +00:00
Jordan Petridis 6b9f915286
ci: update base image to debian 11
Like it was done for the bindings [1]

Also update the ci-template sha

[1] https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/836
2021-08-17 15:01:25 +03:00
Sebastian Dröge 0592e46e65 ci: Update image version 2021-06-20 11:54:06 +03:00
François Laignel 8f8f5bdff7 Allow clippy::blocks-in-if-conditions
It rejects code such as:

```rust
    if state
        .start_ts
        .zip(accumulate_time)
        .map_or(false, |(start_ts, accumulate_time)| {
            start_ts + accumulate_time < pts
        })
```

because it looks like:

```rust
if { true }
```
2021-06-05 10:36:21 +02:00