Commit graph

141 commits

Author SHA1 Message Date
Guillaume Desmottes
1fa5028b90 ci: update Rust stable to 1.52
Looks like it's needed for the plugins:
https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/512
2021-05-17 09:41:55 +02:00
Marijn Suijten
d203745cfc ci: Install rustdoc-stripper in Nightly Rust image
This saves two build-jobs from performing the same (expensive!)
compilation+installation over and over again, when it is much cheaper to
cache it in the image instead.
2021-05-05 12:23:40 +02:00
Guillaume Desmottes
c3946eef7c ci: generate cobertura report directly
grcov 0.8.0 now has cobertura support so we no longer need to to export
to lcov format and then convert.

Extract the summary from the generated html so the metric matches the
one from the html report (for some reason the cobertura ones are
differents).

The new gitlab summary parsing regexp is now:
  <abbr .*>(\d+.\d+) %<\/abbr>
2021-04-23 12:28:54 +00:00
Guillaume Desmottes
ba0b9801e3 ci: use latest grcov release
0.8.0 now display a warning but no longer panic on the overflow issue.
2021-04-23 12:28:54 +00:00
Guillaume Desmottes
1b9c0482d1 ci: uses grcov 0.6.1
Newer versions suffer a regression breaking the job.
2021-04-16 09:02:36 +02:00
Sebastian Dröge
d69f8793d5 ci: Update minimum supported Rust version to 1.51
Various dependencies require that now for const generics.
2021-03-27 14:23:25 +02:00
Sebastian Dröge
c51a645ee2 ci: Update to Rust 1.51 2021-03-25 17:43:10 +02:00
Sebastian Dröge
e7e629e6e6 ci: Update to meson 0.57.1 2021-03-25 17:43:04 +02:00
Sebastian Dröge
e20ab8d80c ci: Update to Rust 1.50 and meson 0.56.2 2021-02-11 17:36:40 +02:00
Guillaume Desmottes
01e1cfce54 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\.]+%)

Ignore sys crates when calculating coverage are those are fully
generated anyway.

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-01-11 15:41:21 +01:00
Sebastian Dröge
2376f53fd4 ci: Update to Rust 1.49
Minimum supported version is still 1.48
2020-12-31 16:54:16 +02:00
Sebastian Dröge
94b5184c99 ci: Update to rustup 1.23 2020-11-27 17:33:10 +02:00
Sebastian Dröge
7db21a3375 ci: Update stable/minimum support Rust version to 1.48 2020-11-19 16:43:02 +02:00
Sebastian Dröge
773d92f9f5 ci: Store stable and minimum supported Rust version (MSRV) in template variables
And don't make the actual version numbers part of the jobs.
2020-11-05 16:55:29 +00:00
Sebastian Dröge
a3395062f1 ci: Build gstreamer from the 1.18 branch for now
git master has ABI changes in gst-plugins-bad.
2020-11-01 09:58:52 +02:00
Sebastian Dröge
b23fcd3904 ci: Update to meson 0.56.0 2020-11-01 09:58:52 +02:00
Sebastian Dröge
9c141a2fbf ci: Explicitly select stable Rust version
And for now we stay at 1.46.0 because 1.47.0 has a bug that prevents
clippy from succeeding.
2020-11-01 09:58:52 +02:00
Sebastian Dröge
a540274c72 ci: Update minimum supported version to 1.41
Needed for gst-plugins-rs now because one dependency requires a newer
version now.
2020-09-09 09:25:15 +03:00
Sebastian Dröge
f1b4592d17 ci: Rebuild GStreamer to update to 1.18.0 2020-09-08 15:37:48 +03:00
Sebastian Dröge
82b469bc59 Update CI images for Rust 1.46 and GStreamer 1.17.90
And also update to meson 0.55.1 while we're at it.
2020-08-27 19:42:02 +03:00
Sebastian Dröge
6abad01d88 ci: Update GStreamer version 2020-08-11 09:07:30 +03:00
Sebastian Dröge
01397b213d ci: set -e in all shell scripts
Otherwise errors are silently ignored.
2020-07-28 09:46:21 +03:00
Sebastian Dröge
1d3df7eaa5 ci: Update CI image for Rust 1.25, rustup 1.22.1, meson 0.55 and switch to cargo-outdated release 2020-07-28 09:44:37 +03:00
Sebastian Dröge
052c056dd1 Update CI image to latest GStreamer git
And also update meson to 0.54.3
2020-07-05 23:09:01 +03:00
Guillaume Desmottes
4b553c3ae7 ci: check commit using ci-fairy
See https://freedesktop.pages.freedesktop.org/ci-templates/ci-fairy.html#checking-commits

In this setup it will check for any leftover fixup!/squash! commits and
that messages don't have the 'Signed-off-by:' tag.
2020-06-11 13:57:23 +00:00
Guillaume Desmottes
59cfdc5e1a ci: rebuild to update GStreamer
Need the new audio and video formats APIs.
2020-06-09 09:26:31 +02:00
Guillaume Desmottes
cac9767167 ci: rebuild image to update to Rust 1.44.0 2020-06-05 10:07:01 +02:00
Guillaume Desmottes
737d998a54 ci: rebuild images to update gst
Will be needed to bind the new webrtc APIs.
2020-06-03 11:45:57 +02:00
Guillaume Desmottes
5775e531d9 ci: rebuild images to update gst
Will be needed to bind the new audio and video caps APIs.
2020-06-02 14:22:05 +02:00
Guillaume Desmottes
6cf5914e21 ci: rebuild images
This will update to latest Rust stable (1.43.1).
2020-05-08 09:14:07 +02:00
Vivia Nikolaidou
a0fa164b7b Update ci gstreamer to master 2020-04-30 18:17:21 +03:00
Guillaume Desmottes
f28a92c46c ci: update ci template
Prevent creating a second useless layer, see
https://gitlab.freedesktop.org/freedesktop/ci-templates/-/merge_requests/26

Update image tag to ensure building images is still working.
2020-04-28 16:08:56 +02:00
Guillaume Desmottes
fe30b4a388 ci: improve docker image layering
At the moment we are building 3 independent images, each one having a different
Rust version. This works perfectly fine but we can save storage space and
bandwith by making a smarter use of Docker's layering system.

Introducing a new 'base' image containing all the deps, including
GStreamer, acting as a base for the actual images.
As a result most of the actual content is now shared accross the same
Docker layer. This would save us from downloading/building all the deps
when updating images and will reduce storage and transfers for runners.
2020-04-28 15:25:48 +02:00
Guillaume Desmottes
2aa529fbdf ci: remove cargo-audit
It's been replaced by cargo-deny in all modules.

Don't regenerate images for now, it's not a problem to keep it around
until the next images update round.
2020-04-28 11:40:14 +02:00
Guillaume Desmottes
d31a9fece4 ci: install cargo-audit
Not needed for gstreamer-rs as it uses 'cargo deny' but still used by
gst-plugins-rs and gstreamer-rs-sys.
2020-04-27 14:12:26 +02:00
Guillaume Desmottes
1567513e8a ci: force images rebuild
No change, will be used to ensure that gst-plugins-rs images are
actually updated.
2020-04-27 12:41:47 +02:00
Guillaume Desmottes
e40e23b82c ci: move image tags to its own file
Will be used by gst-plugins-rs to reference gstreamer-rs images as
bases.
2020-04-24 14:00:11 +02:00
Guillaume Desmottes
932d4720c0 ci: fix CARGO_HOME caching
CARGO_HOME's semantic depends on when it's used in the pipeline:
- it's the install prefix when installing Cargo
- it's the crate cache location when building jobs

env.sh is sourced at the start of all jobs and was overidding the
CARGO_HOME path defined in the CI template for caching. Fix this by
moving the prefix install path to install-rust.sh.
2020-04-21 09:35:33 +00:00
Sebastian Dröge
47d839e58a Switch from cargo-audit to cargo-deny
This provides a superset of the features, including license checks.

Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/issues/238
2020-04-16 12:12:45 +02:00
Guillaume Desmottes
99f91167af ci: build GStreamer instead of importing tarball
Makes it much easier to update to a new gst version.
2020-04-16 09:47:15 +02:00
Guillaume Desmottes
429962bdd7 ci: use fdo ci template
Build our own images instead of manually installing everything we need
for each job. This should hopefully speed up our ci and make it more
robust.
2020-04-16 09:46:57 +02:00