Thibault Saunier
7aaf2b48ef
doc: Avoid shelling out to hotdoc to generate plugins config files
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4479 >
2023-04-25 02:57:55 +00:00
Jordan Petridis
578680a530
ci: Move MESON_GST_WERROR string into a meson machine file
...
It's both easier to use that way and we can also reuse it when
building locally.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4281 >
2023-04-24 12:37:07 +00:00
Jordan Petridis
68d042742a
ci: Replace yaml anchor of simple build with a variable
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4281 >
2023-04-24 12:37:07 +00:00
Jordan Petridis
20f9e67ac6
citemplate: port fedora build jobs to a parallel matrix
...
This is a new feature which makes it so we can generate
jobs based on the possible matrix of the environment variables
we pass into it.
In this commit we refactored the gstbuild template to a matrix of
Buildtype, debugbuild (and could have also set werror, but we
always have it on in fedora gstbuilds).
Then create 2 jobs, one for each compiler set. We could have
put them in the matrix, but CC and CXX are kinda coupled
and doesn't make sense to tests the matrix between them.
https://docs.gitlab.com/ce/ci/yaml/README.html#parallel-matrix-jobs
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4281 >
2023-04-24 12:37:07 +00:00
Jordan Petridis
d6cd43a2ef
citemplate: move debugbuild option to variable
...
Instead of appending it to the meson args string, have the
gstbuild template construct the meson args accordingly.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4281 >
2023-04-24 12:37:07 +00:00
Jordan Petridis
187420a21b
citemplate: move the buildtype from the meson args to a variable
...
Instead of appending to the existing variable, have the gstbuild
template construct the meson args accordingly.
Also avoid using the buildtype to extend hackily jos to pass
extra args to them
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4281 >
2023-04-24 12:37:07 +00:00
Jordan Petridis
50de7adf1a
citemplate: replace werror var with a boolean
...
Instead of appending the string of the meson args we pass
to the gstbuild template, make a boolean variable and contruct
the meson args in the template accordingly.
This is prep in order to use the new matrix feature.
https://docs.gitlab.com/ce/ci/yaml/README.html#parallel-matrix-jobs
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4281 >
2023-04-24 12:37:07 +00:00
Thibault Saunier
b14e675a27
gir: Checkout all .gir files and check that they are updated on the CI
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3010 >
2023-04-22 09:32:32 -04:00
Jordan Petridis
b8018dca60
ci: Always run the windows build image job
...
Much like the linux counterparts, this either build the image
once the tags change or quickly exits if that has been done
already.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4471 >
2023-04-22 00:06:16 +00:00
Xavier Claessens
06478b79b1
ci: trigger cerbero when MESON_COMMIT is set
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4325 >
2023-04-05 20:30:43 +00:00
Jordan Petridis
86489dd456
ci: Add .gitlab-images-tags.yml to the changes rules
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4331 >
2023-04-05 12:39:23 +00:00
Jordan Petridis
6ce4a12f0b
ci: Export cargo/rust paths into the build env
...
Also disable rust for all default builds unless explicitly enabled
(So it won't be automatically enabled now that rustc is in the env)
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4327 >
2023-04-03 18:48:55 +00:00
Edward Hervey
98cc3cc865
ci: Add playbin3 validate step
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4001 >
2023-03-29 16:32:21 +02:00
Tim-Philipp Müller
f75d4f5f9f
ci: update indent image to GNU indent 2.2.12
...
... and dotnet-sdk to 7.0.
Fixes #340
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4182 >
2023-03-17 03:18:54 +00:00
Tim-Philipp Müller
cb61fb02ef
ci: bump ci-templates version
...
Needed for debian bookworm support.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4182 >
2023-03-17 03:18:54 +00:00
Thibault Saunier
5586511446
ci: Add a job to verify commit messages on MRs
...
This uses [gitlint] and is based on their linting rules with some minor
config so it matches our style pretty well.
[gitlint]: https://jorisroovers.com/gitlint/#configuration
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3980 >
2023-02-24 00:22:19 +00:00
Jordan Petridis
37a8cbcb3f
ci: Mark MESON_COMMIT for prefill in gitlab
...
Starting with gitlab 15.7 we can give hints to the UI when triggering
a pipeline manually that we might want to change a variable.
https://docs.gitlab.com/15.7/ee/ci/pipelines/index.html#prefill-variables-in-manual-pipelines
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3639 >
2023-02-03 11:28:19 +00:00
Tim-Philipp Müller
e2fe594a19
ci: mark valgrind ges job as allowed to fail
...
It's extremely flaky, especially with idle runners, and
it's not limited to just a single test.
Mark as allowed to fail until someone starts caring about it.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3626 >
2022-12-22 19:28:12 +00:00
Tim-Philipp Müller
95979e3a4b
ci: build less for integration testsuite
...
- skip gst-omx
- skip sharp bindings
- skip examples and gst-examples
- skip check unit tests (only needed for check job)
- skip microdns (not needed and pulls in subproject)
- skip avtp (ditto)
- skip webrtc (same)
- skip benchmarks
- skip qt5 and gtk
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3520 >
2022-12-06 17:10:10 +00:00
Tim-Philipp Müller
0b33f3cd1f
ci: sprinkle some date -R to easier see how long build steps take
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3354 >
2022-11-08 18:02:39 +00:00
Tim-Philipp Müller
4f3daefcc3
ci: use 8 parallel jobs for the integration test suite
...
The runners have a lower core count than the previous
generation so the integration tests run much slower
overall than the used to, so fix that by running more
in parallel again. The build time is measured in seconds
and much faster than it used to be, so should still be
a reasonable trade-off, and means re-tried jobs will
complete faster.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3354 >
2022-11-08 18:02:39 +00:00
Jordan Petridis
8c85a3143f
ci: Allow the documentation job to always run post-merge
...
We want the docs to be deployed on every post-merge pipeline
on the main branch. In order to do that however we have to
also have the fedora build job always running.
This won't affect the documentation job run by MRs.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3258 >
2022-10-27 17:45:06 +00:00
Jordan Petridis
04a2370373
ci: Make jobs explicitly depend on the trigger job to run
...
Instead of relying on the implicit dep from the image build
jobs.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3258 >
2022-10-27 17:45:06 +00:00
Jordan Petridis
0377218806
ci: consolidate pre-build CI stages
...
Back in the day we kept separate stages around to define
build order, however with DAG/needs now jobs run asynchronously.
Additionally on recent version its possibel to same jobs depend on
other jobs from the same stage.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3258 >
2022-10-27 17:45:06 +00:00
Jordan Petridis
d6ad95dbe2
ci: Replace obselete variable
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3258 >
2022-10-27 17:45:06 +00:00
Nirbheek Chauhan
2c3f9d4587
ci: Run windows jobs when win-* binary subprojects are updated
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3209 >
2022-10-18 02:48:54 +05:30
Nirbheek Chauhan
2d838a9b3d
ci: Fix website regen on push
...
Don't make the integrate stage manual, we need it to regen the website
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3134 >
2022-10-10 07:02:58 +00:00
Nirbheek Chauhan
0e73b36870
ci: Move non-image-tag variables back to .gitlab-ci.yml
...
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3065#note_1563706
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3068 >
2022-09-23 01:08:49 +05:30
Nirbheek Chauhan
cabcb56ce8
ci: Bump cerbero trigger timeout to 4h
...
macOS runners can get overworked and cause cerbero pipelines to take
longer than 3h to complete, because each cross-macos-universal job
takes about 2h and so it can take that long to get a runner allocated.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3065 >
2022-09-22 16:59:05 +00:00
Nirbheek Chauhan
a6a081cbef
ci: Use include syntax for files on the same gitlab instance
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3065 >
2022-09-22 16:59:05 +00:00
Nirbheek Chauhan
f051ad2488
ci: Move image tags into a separate template yml
...
This will allow gst-plugins-rs documentation CI to include this
template via a remote include and doesn't need to manually update the
image. This causes cascading failures across all repos, for example
https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/874
is required for making gst-plugins-rs CI pass in Cerbero, which is
also run on the gstreamer monorepo.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3065 >
2022-09-22 16:59:05 +00:00
Nirbheek Chauhan
57292bfe78
ci: Remove unused FEDORA_DOCS_IMAGE variable
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3061 >
2022-09-22 09:57:22 +05:30
Nirbheek Chauhan
46b3f48bdb
ci: Bump meson to 0.62.2 in Fedora docker images
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3061 >
2022-09-22 09:56:05 +05:30
Tim-Philipp Müller
1789b028b6
ci: bump image tags so subprojects get updated
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2507 >
2022-09-17 22:41:40 +00:00
Thibault Saunier
339e5916c6
Build documentation for rust plugins
...
- Update the docker image we use, starting using the standard one adding
`gtk4-doc` as required by rust plugins
- Update the plugins_doc_caches as required, some more plugins are built
with the new image
- Install ninja from pip as the version from F31 is too old
- Avoid buildings all GSreamer plugins when building the doc as it takes
time and resources for no good reason
- Stop linking to `GInstanceInitFunc` as it is not present in latest GLib
documentation, leading to warnings in hotdoc.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2954 >
2022-09-15 20:11:47 +00:00
Thibault Saunier
a5e8208c46
docs: Generate gst-plugins-rs documentation
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2954 >
2022-09-15 20:11:46 +00:00
Tim-Philipp Müller
034faeae31
subprojects: update openh264 wrap to v2.3.0
...
.. and use tarball instead of git checkout.
Also bump ci image tags so the images cache the new tarball.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2968 >
2022-09-02 18:41:32 +01:00
Jordan Petridis
21ac55bac2
docker/windows: Pass a couple installargs to python3
...
From these, only PrependPath isn't enabled by default,
but its nice to explicitly enable the ones we need anyway.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2933 >
2022-08-26 15:56:47 +00:00
Nirbheek Chauhan
19ebcd3955
build: Fix some compiler warnings by upgrading wraps
...
03d9f144cb
2913e72d85
c945c99fba
There's one more pygobject warning that will be fixed with this:
https://gitlab.gnome.org/GNOME/pygobject/-/merge_requests/210
Also bump the image versions to regen them.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2814 >
2022-07-31 16:28:25 +05:30
Jordan Petridis
d3dfdeaf47
windows/Dockerfile: replace ADD arguments with Invoke-WebRequest
...
Have the windows susbsystem handle the networking layer and avoid
layer invalidation until the strings/urls are changed.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2812 >
2022-07-29 19:56:11 +00:00
Jordan Petridis
f3a324c1a5
ci: Update the windows image
...
Mainly to get newer meson
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2812 >
2022-07-29 19:56:11 +00:00
Nirbheek Chauhan
83081f8ea5
ci: Disable werror for documentation build
...
The documentation build is running on an ancient Fedora 30 image that
cannot be updated at present, and it's now triggering deprecation
warnings in system headers:
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2568#note_1418956
Disable werror here, it's not actually useful.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2568 >
2022-06-10 06:01:41 +00:00
Xavier Claessens
ea990ff817
ci: Make sure to always update subprojects
...
The command was not run in Windows jobs, better keep subprojects
handling in a single script.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2509 >
2022-05-27 14:33:53 +00:00
Jordan Petridis
79cf6beeb6
ci: run gst-inspect after the build
...
useful to quick inspect the elements built, later on we can
start verifying the list of elements against a known good list.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2458 >
2022-05-20 14:54:16 +00:00
Jordan Petridis
78b80836ab
ci: run ninja install post build
...
Make sure no weird regressions creep in.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2458 >
2022-05-20 14:54:16 +00:00
Jordan Petridis
6adb7eb22c
ci: use LONGPATH for the windows container
...
Sometimes the CI might create paths that are bigger than the 260
character limit.
ex:
```
error: unable to create file subprojects/gst-integration-testsuites/testsuites/validate/h264/parse.trickmode_predicted.seek_trickmode_predicted/flow-expectations/log-parse-src-expected: Filename too long
```
https://docs.microsoft.com/en-us/windows/win32/fileio/maximum-file-path-limitation
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2395 >
2022-05-18 09:14:08 +00:00
Jordan Petridis
5cd3f68842
ci: remove windows-rust jobs
...
These are moved now into gstreamer-rs repository.
https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/701
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2395 >
2022-05-18 09:14:08 +00:00
Jordan Petridis
c861664356
ci: re-enable artifacts upload for the windows jobs
...
Hopefully the timeout issues won't affect the new runner
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2395 >
2022-05-18 09:14:08 +00:00
Jordan Petridis
02c277258b
ci: Install Media Foundations on the windows container
...
In order to do this, we need to switch to the Server container
image, instead of the ServerCore we were using till now.
This image also only has Server2022 base variants.
This is a continuation of:
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1783
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2395 >
2022-05-18 09:14:08 +00:00
Jordan Petridis
f31afe465f
ci: set the code page of powershell to utf-8
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2397 >
2022-05-15 09:34:58 +00:00