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
Guillaume Desmottes
1ec1352c88
meson: fix csound detection
...
csound-sys can detect the system lib using either pkg-config or using
the CSOUND_LIB_DIR env variable.
The former case just work but the second is trickier as we need to
ensure that CSOUND_LIB_DIR is defined when building.
So we no longer try to detect the lib using find_library() if user
didn't define the env variable as the build will fail later.
Also explicitly pass the env variable to cargo so user can now call
'CSOUND_LIB_DIR=/usr/lib64 meson build && ninja -C build'
and have it work without repassing the env variable to ninja.
2021-05-26 12:08:05 +02:00
Guillaume Desmottes
40765f7c53
ci: coverage: generate cobertura report with grcov
...
It's supported with the latest version.
Also ignore build.rs when generating reports.
The new gitlab summary parsing regexp is now:
<abbr .*>(\d+.\d+) %<\/abbr>
2021-04-23 16:41:06 +02:00
Sebastian Dröge
8f74314e96
ci: Allow the coverage job to fail
...
It's using the nightly compiler and can easily break every now and then,
like it does now with https://github.com/rust-lang/rust/issues/84421 .
2021-04-22 11:28:03 +03:00
Guillaume Desmottes
b92360db37
ci: add coverage job
...
Uses the new llvm source-base coverage from nightly to generate coverage
reports:
- full html report as artifact
- cobertura report for gitlab MR integration
- output coverage summary for gitlab parsing
Here is the regexp to set in gitlab as "Test coverage parsing":
\s*lines\.*:\s*([\d\.]+%)
Resources:
- https://github.com/marco-c/rust-code-coverage-sample
- https://github.com/mozilla/grcov/issues/468#issuecomment-691615245
- https://www.greycastle.se/how-to-show-flutter-test-coverage-in-gitlab-ci/
2021-04-16 13:10:32 +00:00
Sebastian Dröge
9acacbb320
ci: Allow clippy::upper_case_acronyms
...
That would otherwise change a lot of API in confusing ways, e.g. RTSP -> Rtsp
and would be inconsistent with the naming in C.
2021-03-25 21:12:05 +02:00
Sebastian Dröge
9d359d9341
ci: Update to dav1d 0.8.2
2021-03-25 18:20:05 +02:00
Guillaume Desmottes
595616fe2d
ci: install cargo-c to proper location
...
Need to define CARGO_HOME so it's installed to the same places as the
rest of the Rust tools.
2021-01-04 16:04:52 +01:00
Guillaume Desmottes
fdc3ea68e8
ci: test linking on all static plugins
...
Will ensure that our static libraries and pkg-config files are properly
generated.
2021-01-04 12:26:45 +01:00