Commit graph

127 commits

Author SHA1 Message Date
Sebastian Dröge
a7618aecc2 ci: Add job that checks that all generated files and submodules are in the correct version
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/400
2022-09-04 10:42:29 +03:00
Sebastian Dröge
e5a785c9a5 ci: Embed docs before removing them to check more completely that there are no leftover docs 2022-09-04 10:41:57 +03:00
Sebastian Dröge
d00b289621 Don't checkout submodules by default
This makes sure that cargo does not clone and checkout all the
submodules if pointing to this repository as a git dependency.

To checkout the submodules `git submodule update --checkout` can be
used.
2022-09-04 10:39:18 +03:00
Philippe Normand
70d95dca4c validate: New crate for GstValidate bindings
Co-authored-by: Thibault Saunier <tsaunier@igalia.com>
2022-08-23 12:04:05 -04:00
Sebastian Dröge
5e3ace0ecc ci: Fix syntax for coverage reports to the new format 2022-06-07 09:04:40 +03:00
Jordan Petridis
9d873d6755 ci: define the dependencies between jobs
This means that jobs can start the moment they are ready, instead
of waiting for the previous stage to finish.

Also define their interruptibility so new pipelines can automatically
cancel the previous ones.

https://docs.gitlab.com/ee/ci/yaml/index.html#needs
2022-05-18 22:21:08 +03:00
Jordan Petridis
4d7bd9bfcb ci: use rules instead of only/except
only/except has got deprecated in favour of rules

maybe it fixes #370 ?

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/701>
2022-05-18 19:51:49 +03:00
Jordan Petridis
d53dfcf94e ci: use a custom powershell script to run windows tests
There are a couple things going on here.

First, we need to avoid building egl/wayalnd/x11 crates on windows
as they can't be built.

Then we need to avoid running -sys tests as they don't succeed
currently. See [1]

Finally use a matrix:parallel job to tests multiple build
configurations.

[1] https://github.com/gtk-rs/gtk3-rs/issues/54

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/701>
2022-05-18 19:51:49 +03:00
Jordan Petridis
5e27da5a1c ci: add an msvc 2017 test
Tests disabled for now, till some quirks are worked out.
Thi should be good enough to at least not break the build though.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/701>
2022-05-18 19:51:49 +03:00
Thibault Saunier
56a46fc6fd ci: Re-implement the gi-checker in python
To cleanup and ignore the gstreamer-utils crate
2022-05-11 10:14:54 -04:00
Vivienne Watermeier
1b22be2e15 Add De/Serialization for most bitflag types
Represents combinations of flags with a '+' separated string of nicks,
or an empty string for no flags set.

Note that most flag types will ignore any flags using multiple bits when
serializing, since in most cases these flags cover all used bits.
2022-05-06 09:05:52 +00:00
Sebastian Dröge
c82aefd2a4 ci: Run coverage job on the stable image 2022-04-07 18:51:20 +03:00
Vivia Nikolaidou
2c7c46e153 .gitlab-ci.yml: Fix deprecated -Zinstrument-coverage switch 2022-03-30 16:39:16 +03:00
Jordan Petridis
e6dc3f5b3e ci: Patch the gtk4 build in the CI image so it builds
wayland-protocols 1.25 subproject fails to build on
debian 11, but in general switch subprojects to stable
branches.

Upstream MR:
https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/4580
2022-03-17 18:05:13 +02:00
Sebastian Dröge
1a11fda103 ci: Build crates with v1_22 2022-03-17 11:06:26 +02:00
Sebastian Dröge
a3b95d60ae ci: Update to meson 0.61.3, GTK 4.6 branch and rebuild GStreamer 2022-03-15 15:46:11 +02:00
Sebastian Dröge
971f35754c Change default branch from master to main
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/364
2022-01-16 16:15:48 +02:00
Sebastian Dröge
5a9b103f93 docs: Add 0.18 release 2022-01-15 21:40:51 +02:00
Jordan Petridis
d245056e7b ci: add gtk4 to the image
This is a prerequisite to porting the examples to gtk4
2022-01-11 18:26:34 +02: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
Sebastian Dröge
4b8f85c4c6 Regenerate with new gir and gir files 2021-09-19 13:12:58 +00:00
Sebastian Dröge
ce09e333b3 ci: Add libsoup2.4-dev to FDO_DISTRIBUTION_PACKAGES for now
It fails building via gst-build because of its sysprof subproject.
2021-09-10 09:43:12 +03:00
Jordan Petridis
2e57783c9f
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:13:56 +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
e2264a3f3f Fix (new) clippy warnings 2021-08-03 10:08:32 +02:00
Sebastian Dröge
7380f18ae7 Revert "ci: namespace should be GStreamer and not gstreamer"
This reverts commit c30ea09e4c.
It was actually wrong.
2021-07-05 13:02:02 +03:00
Jordan Petridis
6275b4ba70 ci: use parentheses for the rules:if statement
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/818>
2021-07-02 16:33:30 +03:00
Sebastian Dröge
c30ea09e4c ci: namespace should be GStreamer and not gstreamer 2021-07-02 12:08:46 +00:00
Sebastian Dröge
e008923a30 ci: Don't deploy docs on forks
It would fail unless the fork also has docs build artefacts for all
previous releases.

Based on https://gitlab.gnome.org/World/Rust/gir-rustdoc/-/merge_requests/10
2021-07-02 14:01:01 +03:00
Sebastian Dröge
7bb9a0df70 ci: Add 0.17 release for the docs 2021-06-25 09:38:19 +03:00
Sebastian Dröge
a94d84e780 Silence/fix various clippy warnings 2021-06-20 10:59:49 +03:00
Marijn Suijten
b8d50a342f CI: test all features on v1_20 2021-06-04 11:51:01 +02:00
Sophie Herold
e453701b50 Adapt gir-docs -> gir-rustdoc script rename 2021-05-30 12:55:11 +02:00
Marijn Suijten
819d60ec8b ci: gir-checks: Update submodules before running jobs
This might explain the weird diff we were seeing in submodule hashes.
All other jobs checking `git diff` after their operations make sure
they're up-to-date, except the `gir-checks` step.
2021-05-28 17:07:27 +00:00
Sebastian Dröge
b15d8e4c2e ci: Add more git diffs to the gir checker job to figure out where it fails
It regularly fails when building a pipeline on master with dirty git
submodules, but never seems to fail in MRs.
2021-05-28 16:54:56 +03:00
Sophie Herold
8e05ee28ed Base pages on gir-docs 2021-05-25 19:04:48 +02:00
Guillaume Gomez
1b1a4aa30b Add CI check for doc aliases 2021-05-21 12:05:46 +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
Marijn Suijten
43a4bde600 CI: Ensure all documentation comments are protected against stripping 2021-05-05 12:23:40 +02:00
Marijn Suijten
baa29777a4 ci: Deduplicate clippy linter arguments 2021-04-29 21:36:44 +02:00
Marijn Suijten
3af9de175c ci: Create index page for the documentation 2021-04-24 10:38:50 +02:00
Marijn Suijten
4be08cc7df ci: Update gtk-rs docs link to https://gtk-rs.org/gtk-rs/git/docs/
This link was falsely pointing to https://gtk-rs.org/gtk-rs/ where no
documentation resides (anymore?).
2021-04-24 10:38:50 +02:00
Marijn Suijten
801b1f2371 ci: Update and embed docs in one step using generator.py
`generator.py` can now be used to perform documentation generation and
embedding in one go, simplifying the entire process while at the same
time getting rid of intermediate `docs.md` being checked in to the
repository.  For this the CI needs the submodules with `gir` and the
`.gir` files.
2021-04-24 10:38:49 +02:00
Guillaume Desmottes
f00c57cd6f ci: coverage: ignore build.rs when generating reports 2021-04-23 12:28:54 +00: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
c22a863a57 ci: coverage: don't build examples and tutorials
We just want to build and run the tests to generate the coverage
reports.

Workaround for https://github.com/rust-lang/rust/issues/84421
2021-04-23 12:28:54 +00:00
Sebastian Dröge
56b7c1916f 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:23:45 +03:00
Sebastian Dröge
7d8485612e ci: Don't allow failure of the cargo outdated job anymore
All dependencies are up to date now and we should try keeping it that
way.
2021-04-22 11:23:45 +03:00
Guillaume Desmottes
48f74d39e8 ci: always run coverage job
It should be fixed now.
2021-04-16 09:03:25 +02:00
Bilal Elmoussaoui
b83b8c8675 ci: link to external dependencies instead of building them for docs 2021-03-31 09:06:35 +02:00