Commit graph

206 commits

Author SHA1 Message Date
Sebastian Dröge 41b1263061 ci: Update image to get newer GStreamer 2021-11-16 20:18:31 +02:00
Guillaume Desmottes 3cf2104726 switch back to official cargo-outdated
Latest release supports Rust 2021.
2021-11-10 07:42:48 +01:00
Sebastian Dröge b4282c9444 ci: Update cargo-outdated to a branch with Rust edition 2021 support 2021-11-04 13:40:16 +02:00
Sebastian Dröge c00a97f5ec Update to Rust edition 2021 and minimum supported Rust version 1.56
Also update CI image to use meson 0.60.
2021-10-31 11:47:34 +02:00
Sebastian Dröge 4579fb006b ci: Update to Rust 1.56 and meson 0.59.2 2021-10-22 22:04:45 +03:00
Guillaume Desmottes fc49a0cfd8 ci: build some plugins
I'll need those for the tests of a new element I'm writting for
gst-plugins-rs.
2021-10-22 09:38:44 +02:00
Guillaume Desmottes da61c19b69 ci: install gst from mono repo 2021-10-07 15:33:19 +02:00
Sebastian Dröge 514c18ad5a ci: Update image with a newer GStreamer version
As preparation for updating the bindings to the latest 1.19 APIs.
2021-09-19 10:08:37 +03:00
Sebastian Dröge 4951fb8630 ci: Update stable image to Rust 1.55 and update to meson 0.59.1 2021-09-09 22:20:06 +03:00
Jordan Petridis abfa75b334 ci: update base image to debian 11
also update the ci-template sha

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/836>
2021-08-16 15:25:08 +00:00
Guillaume Gomez 38dfeb9b00 Update minimum supported rust version to 1.54 2021-07-30 20:26:11 +02:00
Sebastian Dröge 6ad0e9e0a0 ci: Update minimum supported Rust version to 1.53
One of our dependencies needs 1.53 now and we can't realistically
support older versions like this.
2021-07-26 10:29:06 +03:00
Sebastian Dröge 156dffd00e ci: Update images to Rust 1.53, rustup 1.24.3, meson 0.58.1 2021-06-18 16:30:55 +03:00
Marijn Suijten 6e2cba928a ci: Bump image version to rebuild images with master GStreamer 2021-06-03 20:35:28 +02:00
Marijn Suijten fc1716cd8a ci/install-gst: Clone gst-build master branch 2021-06-03 20:35:28 +02:00
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