Commit graph

38 commits

Author SHA1 Message Date
Jordan Petridis
ce13ac33fd ci: Use cargo nextest as the test runner and export junit reports
Close #519

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1502>
2024-10-03 00:17:50 +03:00
Sebastian Dröge
ae120b300f ci: Remove unnecessary --force from cargo install
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1491>
2024-08-13 15:41:44 +03:00
Sebastian Dröge
6c5ceca804 ci: Fix version checks
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1491>
2024-08-13 15:41:44 +03:00
Sebastian Dröge
326e5861f3 ci: Don't use --locked for cargo-outdated / grcov with 1.80 / nightly
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1491>
2024-08-13 15:41:44 +03:00
Sebastian Dröge
57f407fa89 ci: Also use cargo-c 0.10.3 for Rust 1.80
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1491>
2024-08-13 15:41:44 +03:00
Sebastian Dröge
c9412e663b ci: Update to cargo-c 0.9.26 and 0.10.3 when building for nightly
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1491>
2024-08-13 15:41:44 +03:00
Sebastian Dröge
0ee36ea4b5 ci: Update to rustup 1.27.1
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1440>
2024-05-10 10:09:07 +03:00
Jordan Petridis
5400979e28 ci: Pin typos-cli to 1.19.0
New version includes false positives

https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1417#note_2358711

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1417>
2024-04-05 12:02:47 +03:00
Sebastian Dröge
36792404a9 ci: Don't install cargo-c with --locked on nightly for now
Otherwise a version of ahash is used that doesn't build on nightly anymore.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1385>
2024-02-06 10:39:23 +02:00
Sebastian Dröge
b5f4246445 ci: Use cargo install --locked to make sure to not use too new dependency versions
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1368>
2023-12-21 14:10:41 +02:00
Sebastian Dröge
cdd548acba ci: Update to cargo-c 0.9.22
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1301>
2023-08-07 09:28:56 +03:00
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
Sebastian Dröge
093bc9b9cc ci: Update to rustup 1.26.0
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1272>
2023-06-01 20:11:05 +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
Sebastian Dröge
8b6bf18bb0 ci: Update to rustup 1.25.2
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1223>
2023-02-20 10:42:07 +02:00
Jordan Petridis
7ecc11564d ci/install-{gst, rust}.sh: add shebangs to the scripts
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1169>
2022-12-18 11:50:23 +00:00
Sebastian Dröge
5163e212ed ci: Install rustfmt in the nightly toolchain for generator.py 2022-09-04 20:49:19 +03:00
Sebastian Dröge
dccd0f9e01 ci: Update rustup to 1.25.1 2022-07-18 13:26:17 +03:00
Sebastian Dröge
538eb95e51 ci: Update to rustup 1.25.0 and meson 0.63.0 2022-07-12 10:26:44 +03:00
Sebastian Dröge
c82aefd2a4 ci: Run coverage job on the stable image 2022-04-07 18:51:20 +03: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
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
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
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
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
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
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
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
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