Commit graph

171 commits

Author SHA1 Message Date
Nirbheek Chauhan
b45317e247 ci: Speed up configure on windows jobs
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5018>
2023-07-12 21:17:26 +00:00
Nirbheek Chauhan
03011f5e5d ci: Renormalize only meson diff files, not all files
It takes a few minutes to run normalize on *all* files in the git
checkout, we only want it for diff_files which are in packagefiles

See: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1754
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5018>
2023-07-12 21:17:25 +00:00
Nirbheek Chauhan
ae73284a2d ci: Re-enable MSYS2 job
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5018>
2023-07-12 21:17:25 +00:00
Nirbheek Chauhan
1f5e92bc3c ci: Fix windows visual studio x86 job
meson setup --vsenv will actually always pick the host arch (64-bit),
not 32-bit, so we have to force it.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5018>
2023-07-12 21:17:25 +00:00
Jordan Petridis
a406b9e766 ci: Update ref for ci-templates include
This should help with the spurious CI failures when gitlab,
responds with a 500 temporarily.

https://gitlab.freedesktop.org/freedesktop/ci-templates/-/merge_requests/178

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4947>
2023-07-11 08:50:37 +00:00
Nirbheek Chauhan
c81040c901 ci: Eliminate newlines from variable values
The newlines existed because > preserves the trailing newline.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4939>
2023-07-07 09:46:19 +05:30
Nirbheek Chauhan
0b26ca0c6e ci: Update to VS 2022 Build Tools
We need the Windows 11 SDK for Windows Graphics Capture API support,
which will be enabled at runtime based on feature availability on
Windows, so should work correctly on Windows 8, 8.1, 10, and 11.

However, if we enable it in the VS 2019 installer, it will install
both Windows 10 SDK (required) and Windows 11 SDK (optional), which
will bloat the image by 3GB or more.

So just move to VS 2022 for the Windows images, which requires only
the Windows 11 SDK.

Had to remove the UWP build tools because they were causing the
installation to fail, likely due to an installer bug. We don't need
UWP anymore anyway. We just need the ARM64 build tools for the
cross-arm64 monorepo build.

Also stop installing into C:\BuildTools and let Meson pick the install
up with --vsenv.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4939>
2023-07-07 09:46:19 +05:30
Seungha Yang
8d578eeabc ci: Explicitly enable d3d11-wgc feature
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4939>
2023-07-06 21:20:51 +00:00
Andoni Morales Alastruey
ebe1f20589 windows: fix line endings for patch files
See: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1754
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3846>
2023-06-12 13:57:04 +00:00
Jordan Petridis
6c522e4982 ci: Schedule lint jobs in the placeholder runnners
These require almost no resources to be run and finish instantly.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4710>
2023-05-31 17:04:12 +00:00
Jordan Petridis
f94d1c4e93 ci: Set XDG_RUNTIME_DIR before running tests
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4697>
2023-05-27 13:50:03 +00:00
Matthew Waters
b679469fac ci: disable libnice's gupnp support
There is a race somewhere in gupnp that is hard to track down and
requires very specific reproduction scenario.  Disable for now.

Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1348
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4667>
2023-05-19 20:26:16 +00:00
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
Jordan Petridis
7865d1155d ci: add gst-env.py to the changes rules
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2397>
2022-05-15 09:34:58 +00:00
Jordan Petridis
fff82f5650 ci: remove unused files
These are leftovers of the gst-ci repo, before the mono repo
merge and can be removed now.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2403>
2022-05-14 11:13:10 +00:00
Jordan Petridis
8870f59a07 ci: update/rebuild windows image
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2302>
2022-05-05 21:33:43 +00:00
Jordan Petridis
1d627e29cd ci: fix the windows-rust image builds
There was a rule gated on the project name which wasn't removed
once we moved to the monorepo and this job was silently broken
since.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2302>
2022-05-05 21:33:43 +00:00
Andoni Morales Alastruey
f89dff303a gstreamer-sharp: ensure a consitent code format
Use EditorConfig and dotnet-format to ensure a consistent
code style.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/983>
2022-04-05 08:28:50 +00:00
Tim-Philipp Müller
5ba4fe690c ci: Don't check indentation on post merge pipelines
We're probably safe to assume that it hasn't changed
since the MR pipeline last checked it.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2063>
2022-04-01 23:19:21 +00:00
Tim-Philipp Müller
b6f134f445 ci: stop automatically running tests post-merge
We did that in order to find flaky tests so we could add
them to our ignore lists, but that's all done now and I
doubt anyone still looks at the results, so this is just
wasting runner cycles at this point.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2063>
2022-04-01 23:19:21 +00:00
Daniel Stone
d19dbfc1e3 ci: Don't tie up a full job slot for cerbero trigger
We don't have a huge amount of capacity on shared runners, so better if
we don't use that limited capacity on a job which sits there doing
~nothing.

There is a new runner class called 'placeholder-job' which accepts a
huge number of parallel jobs, separately to normal jobs, on the
assumption that they will consume ~no resources; start using that.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2071>
2022-03-30 12:53:22 +00:00
Thibault Saunier
761f26080a python: Add a suppression file for a leak in PyGObject
And ensure that the CI runs GES valgrind test when we change the
overrides as many GES tests are implemented in python

Proper fix is at: https://gitlab.gnome.org/GNOME/pygobject/-/merge_requests/204

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2060>
2022-03-29 19:16:58 +02:00
Xavier Claessens
69863131bd Bump Meson requirement to >=0.60.0
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1934>
2022-03-14 08:56:54 -04:00
Andoni Morales Alastruey
2b827948d5 windows: increase the timeout to create the windows docker image
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1912>
2022-03-11 19:40:05 +00:00
Andoni Morales Alastruey
b76204bf7d ci: force a new windows image to update cerbero's bootstrap
See:https://gitlab.freedesktop.org/gstreamer/cerbero/-/merge_requests/743#note_1270646

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1912>
2022-03-11 19:40:05 +00:00
Jordan Petridis
303d2a9ab7 Revert "ci: Disable windows jobs for now"
This reverts commit be2815a07a.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1827>
2022-03-02 06:17:35 +00:00
Jordan Petridis
be2815a07a ci: Disable windows jobs for now
The runner is down and under maintainance.
2022-02-24 15:34:34 +02:00
Nirbheek Chauhan
023bb9c425 ci: Increase cerbero trigger timeout to 3h
All cerbero jobs explicitly override the default project timeout from
1h to 3h, so this should also be 3h. It is quite common for cerbero
trigger jobs to timeout due to slow download speeds from the artifact
server to FDO gitlab.

https://gitlab.freedesktop.org/heirecka/gstreamer/-/jobs/18803342
https://gitlab.freedesktop.org/gstreamer/cerbero/-/jobs/18803360

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1686>
2022-02-15 04:58:13 +05:30
Nirbheek Chauhan
a10bcd1671 ci: Trigger all jobs on gitlab CI script changes
Also fix typo in trigger variable that was causing triggered cerbero
pipelines to run deps builds and upload cache.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1641>
2022-02-05 09:21:48 +05:30
Nirbheek Chauhan
673b742751 ci: Add a Windows native cross-arm64 job with a new image
Needed an update to the windows Dockerfile to:

1. Install the 'UniversalBuildTools' workload for Cerbero
2. Install ARM and ARM64 workloads for cross-uwp-universal in Cerbero
3. Install VS 2019 since we need that for ARM64 NEON support in Opus

We can't test UWP in gstreamer.git because glib needs custom patches
for that. It will be tested in Cerbero.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1570>
2022-01-28 02:01:39 +05:30
Tim-Philipp Müller
8557f10acf ci: run fedora amd64 docker jobs on packet runners
Which have much better network connectivity to fdo gitlab.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1420>
2021-12-06 17:36:26 +00:00
Nicolas Dufresne
06f1dfc724 ci: fedora-docker: Cache media files
As of now all integration tests endup fetching 600MB of media every run. This
will increase the docker side, but this is to the traceof that the docker
image will quickly be cached on all runners.

Fixes #841

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1413>
2021-12-06 12:18:25 +00:00
Jordan Petridis
eb33309050 ci: Avoid fetching tags for build jobs
Avoid fetching tags since we don't need them for builds.
Only caveat might be what happens when a pipeline from
a tag is triggered

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1400>
2021-11-30 17:01:52 +02:00
Jordan Petridis
1ffa79d1aa ci: Looks like we where not triggering pipelines for tags
Oops.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1400>
2021-11-30 17:01:52 +02:00
Jordan Petridis
98cd5f9b8b ci: Set GIT_DEPTH variable
This switches gitlab-runner to using shallow clones

related #841

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1400>
2021-11-30 17:01:52 +02:00
Marc-André Lureau
836fb53351 ci: fix minor comment typo
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1371>
2021-11-22 12:46:15 +04:00
Nicolas Dufresne
d692393619 ci: Do not clone in the trigger job
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1298>
2021-11-02 22:10:42 +00:00
Stéphane Cerveau
47a4c74e9b ci: gstreamer-full: remove static build
The gstreamer-full jobs act as
static builds,  no need to perform it twice.

gstreamer-full-minimal can be nodebug.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1215>
2021-10-21 13:10:36 +00:00
Thibault Saunier
ba34f6a113 Revert "ci: Split base and core valgrind on different runners"
Those job are not the ones that take most time in normal run (they
where when running with --n-runs) and that leads to using more runners
which might be a problem at this point.

This reverts commit 4ad22b05a1.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1212>
2021-10-20 22:35:27 +00:00
Stéphane Cerveau
58caa8af62 ci: gstreamer-full: reenable build
The gstreamer-full job should be run
during the integrate stage always.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1190>
2021-10-19 18:26:03 +00:00
Tim-Philipp Müller
9bd8c45db0 ci: install newer meson via pip in documentation job
Since updating the existing image seems difficult and efforts
to redo the setup are still work in progress.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1084>
2021-10-18 18:03:19 +01:00
Tim-Philipp Müller
d4bdbeaa0d meson: add 'gpl' option and only build plugins with (A)GPL deps if explicitly enabled
Require explicit opt-in to build plugins with (A)GPL dependencies.

Keep ugly/bad options on 'auto' for now so cerbero doesn't fail.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1084>
2021-10-18 18:03:19 +01:00
Thibault Saunier
e73fc26cf6 ci: Build introspection support on static builds
But disable python in GES as it is not supported on static builds

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1093>
2021-10-15 20:27:35 -03:00
Thibault Saunier
64462f627b ci: Move rules from .build fedora x86_64 to .build
They should apply to all job that extend it as the 2 jobs that depend on
`.build` but not on `.build fedora x86_64` is
`build nodebug fedora x86_64` which pulls `build static nodebug fedora x86_64`
both jobs should be manual on `main` and they should run only if some
files "modules_changes" happened

Also make sure we do no automatically run job on `main` branches from forks

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1141>
2021-10-14 13:42:21 +00:00
Thibault Saunier
eb839a8423 ci: Fix ordering of rules to always build on main
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1141>
2021-10-14 13:42:21 +00:00
Thibault Saunier
42501adc4c ci: Check for closed bugs for unit tests too
And add FIXMEs for test that should have been reenabled but haven't,
we will reenable them when CI is stable enough!

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1121>
2021-10-14 12:59:29 +00:00
Andoni Morales Alastruey
4be5c7ce0a Fix GStreamer msys2 builds in the CI
Install ninja and the toolchain in the docker image.
Use the UCRT64 environment for building

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1000>
2021-10-14 10:13:51 +00:00
Andoni Morales Alastruey
a1e332bf7e ci: prepare the Windows image for MSYS2 cerbero builds
* Install MSYS2 and VS with choco
 * Install Windows SDK 8.1 requied for libvpx
 * Improve build time of the windows image using as much RUN layers as
   possible

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1000>
2021-10-14 10:13:51 +00:00
Thibault Saunier
4c046c9e8a ci: Run tests post merge
This will make tracking new races much easier

Mark other jobs as manual when pipeline is running on master

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1129>
2021-10-13 18:40:51 +00:00
Jordan Petridis
89540bd528 ci: have the fedora docker build depend on the trigger job
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1120>
2021-10-12 23:35:20 +00:00
Thibault Saunier
4ad22b05a1 ci: Split base and core valgrind on different runners
Those are very slow compared to other jobs and it should mitigate the problem

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1113>
2021-10-12 16:59:16 +00:00