Commit graph

163 commits

Author SHA1 Message Date
Jordan Petridis
4e9baf7ba5 ci: Allow any path within gdb safe-load
In certain cases, the validate runner will try to get a stacktrace
from gdb, which will currently complain about loading the .gdbinit
file.

warning: File "/builds/gstreamer/gstreamer/.gdbinit" auto-loading
has been declined by your `auto-load safe-path' set to
"$debugdir:$datadir/auto-load".

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5769>
2023-12-28 00:20:07 +02:00
Jordan Petridis
98ff88bda6 ci: Pass FDO_CI_CONCURRENT to meson compile
Limit the compile jobs to what the runners expect.

Related to gstreamer/gstreamer#2434

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5763>
2023-12-11 06:39:29 +00:00
Stéphane Cerveau
b9dda9732c ci: add build vs2022 amd64 full-static
Add a job to test full static build on windows builder

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5098>
2023-11-27 18:12:18 +00:00
Jordan Petridis
c1c6d017c1 ci: Fix unbound variables for the check video formats job
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5699>
2023-11-21 15:16:09 +00:00
Jordan Petridis
6c7956ab93 ci: Autodetect if cacche is available to print the stats
Always print the stats if ccache executable exists, this way
we can get rid of one extra env var.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5543>
2023-11-18 16:37:08 +00:00
Jordan Petridis
5685db7358 ci: Move the build cflags to a meson native file
Similar to what we use for the werror

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5543>
2023-11-18 16:37:08 +00:00
Jordan Petridis
9483061e31 ci: Move a couple of scripts from yaml to dedicated files
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5543>
2023-11-18 16:37:07 +00:00
Jordan Petridis
7a9a8d421f ci: Remove clang workaround from the prallel matrix
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5543>
2023-11-18 16:37:07 +00:00
Jordan Petridis
d52cdbc65b ci: Build with -ggdb and -fasynchronous-unwind-tables
This will produce better dwarf information in the binaries so we
can get better stacktraces in the test reports

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5543>
2023-11-18 16:37:07 +00:00
Jordan Petridis
2dae4617c4 ci: Always build with frame pointers
This should help with getting better stacktraces out of the build.

The container image isn't yet built with frame-pointers, but once
we update to fedora 38 that will be resolved and improve things further
as well.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5543>
2023-11-18 16:37:07 +00:00
Jordan Petridis
48955f863d ci: Do not werror on deprecations
This often blocks updating the base image of the CI since we
have to wait to port away from all the deprecated apis each time.

That's work that is done independantly usually and blocking image
updates, means that more regressions that would have got caught
by the newer toolchain sneak past and get merged.

Deprecations will still show up when developing locally.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5543>
2023-11-18 16:37:07 +00:00
Jordan Petridis
0be7d68ec3 ci: Add ci/scripts to the changes: rules
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5543>
2023-11-18 16:37:07 +00:00
Jordan Petridis
d448639b6d ci: Allow to run scheduled pipelines
While everything that's merged needs to have passed CI, the
testsuite result are not as consistent as we'd like and sometimes
regress.

It's nice to have have a pipeline hitory of the tests results
to make it easier to spot regressions that might have caused
racy/flaky tests.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5588>
2023-11-03 20:27:33 +00:00
Detlev Casanova
3796ee2466 tests: Add virtme fluster tests
Set up a test suite that runs fluster in a virtual machine using virtme.
This test only runs when a kernel image path is set in the new
`virtme_kernel_image` meson option.

The kernel iimage must have support for visl.

The suite contains 4 tests, 1 for each supported codec in visl:
 - vp8
 - vp9
 - h.264
 - hevc

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5434>
2023-10-31 12:06:30 -04:00
Matthew Waters
bdd48eae46 ci: update macos image to 14 sonoma
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5548>
2023-10-27 00:34:06 +00:00
Jordan Petridis
a7c1da6ce5 build: Do not try to build gst-python when introspection is disabled
Close #1604

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4648>
2023-10-25 06:48:42 +00:00
Tim-Philipp Müller
2193022d67 ci: documentation: git reset only checked-in *wrap files before diffing
Otherwise it will abort and complain about not-checked wrap
files that got promoted by meson, such as:
error: pathspec 'subprojects/gvdb.wrap' did not match any file(s) known to git

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2126>
2023-10-22 11:28:59 +01:00
Jordan Petridis
66c5b13dd8 ci: docs: disable svthevcenc for the docs job
While updating the base image we run into a handful of issues
with the svthevcenc element. Disable it for now from the documentation
job to not block the rest of the image update.

We can revert this commit once [1] is fixed.

[1]: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5447

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1060>
2023-10-22 05:23:30 +03:00
Jordan Petridis
118841cc49 ci: Build glib subproject fallback for clang builds
We currently have glib 2.68 in the image, which produces a couple
of warning around g_atomic_ apis. This has since been
fixed/worked around in glib itself [1] [2] [3]. Build the subproject
until we update to a toolchain/ci-image with new enough glib.

[1] https://gitlab.gnome.org/GNOME/glib/-/merge_requests/2114
[2] https://gitlab.gnome.org/GNOME/glib/-/merge_requests/2578
[3] https://gitlab.gnome.org/GNOME/glib/-/merge_requests/2864

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1060>
2023-10-22 05:23:29 +03:00
Philippe Normand
3779eb5c83 ci: Make the fedora image toolbox compatible
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1060>
2023-10-22 05:23:29 +03:00
Jordan Petridis
88e6dd0555 ci: switch the Fedora base image to f34
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1060>
2023-10-22 05:23:28 +03:00
Jordan Petridis
8057597dd2 ci: Rework use of BUILD_GST_DEBUG and BUILD_TYPE variables
When using parallel:matrix variables, only the value of the
variable is shown in the Gitlab GUI and thus we end up with
a job name resembling "build fedora gcc: [both, true]".

Pass down the whole string/arguments as the matrix variable
values so that we will have a bit more context.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4698>
2023-10-03 19:59:05 +03:00
Sebastian Dröge
acccc91005 ci: Pass correct cache dir to handle-subprojects-cache.py
The variable is not set and all other places directly use
`/subprojects`.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5412>
2023-10-02 09:48:24 +03:00
Jordan Petridis
9ec430c713 ci: Update ci-templates ref
Needed for https://gitlab.freedesktop.org/freedesktop/ci-templates/-/merge_requests/189

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5367>
2023-09-30 02:07:11 +02:00
Matthew Waters
e7fc0400bc ci: add macos (arm64) CI
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5262>
2023-09-29 11:14:42 +00:00
Nicolas Dufresne
bb979d8bc7 ci: Check video formats order
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5304>
2023-09-10 19:06:07 -04:00
Tim-Philipp Müller
1bfd8a9fb1 ci: disable gstreamer-sharp tests for gcc/clang matrix builds
gstreamer-sharp tests do some kind of nuget download as part of
the configure, and this frequently fails on the CI (possibly
because we're hammering it with parallel requests).

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5251>
2023-09-08 11:02:45 +00:00
Jordan Petridis
94593735d3 ci: Update ci-templates ref
Needed primarily for the fix in:

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

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5266>
2023-08-31 12:04:17 +03:00
Jordan Petridis
3db2159fc4 ci: Add ca-certificates to the indent image
This is needed to rebuild the image

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5235>
2023-08-27 07:58:09 +03:00
Jordan Petridis
182fa11c0e ci: Check the formatting of rust files
Part of #2930

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5235>
2023-08-27 07:58:09 +03:00
Tim-Philipp Müller
f27b21b509 ci: re-enable gst-plugins-rs in the documentation job
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5166>
2023-08-10 13:11:48 +00:00
Nirbheek Chauhan
11f69464bd ci: Disable arm64 job till we figure out what's wrong
This is probably a Visual Studio installer issue, maybe the ARM64
workload isn't getting installed anymore.
2023-08-10 14:54:15 +05:30
Nicolas Dufresne
8c3edd231e ci: Disable plugins-rs in the doc build
The plugins-rs scripts dependson python 3.8, while the docker image only has
3.7 and depends on glib 2.66, while we only have 2.62 in the docker.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5125>
2023-08-01 02:30:14 +00:00
Nicolas Dufresne
c0dbc21fc5 ci: Run documentation build tags have changed
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5125>
2023-08-01 02:30:14 +00:00
Andoni Morales Alastruey
bfd4b20fe3 ci: disable introspection with msys2 builds
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1584>
2023-07-21 06:37:45 +00:00
Andoni Morales Alastruey
f03a43e814 gi: build introspection in the CI
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1584>
2023-07-21 06:37:45 +00:00
Nirbheek Chauhan
8277e0b30b ci: Bump windows job timeout to 90m from 45m
Sometimes the runners are slower, and 45m is too low:

https://gitlab.freedesktop.org/slomo/gstreamer/-/jobs/45761500

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5060>
2023-07-20 11:00:36 +00:00
Nirbheek Chauhan
585d719bd1 ci: Pick up the right branches when building a windows image
Now we will pick up the right gstreamer branch + namespace when
building an image, and also the right (matching, if any) cerbero
branch + namespace.

This solves the bootstrapping issue when doing an image update that
requires coordination between gstreamer and cerbero.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5043>
2023-07-17 05:52:24 +00:00
Nirbheek Chauhan
c686896438 ci: Force handle-subprojects-cache.py to print its output
Set python stdout to unbuffered when copying the subproject cache so
that we get updates while it is running, and not all at once when the
command ends.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5043>
2023-07-17 05:52:24 +00:00
Olivier Crête
48c43e5b7f gst-omx: Retire the whole package
The OpenMAX standard is long dead and even the Raspberry Pi OS
no longer supports it.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4976>
2023-07-16 19:10:03 +00:00
Nirbheek Chauhan
62d3e8fc32 meson: Ensure that soup plugin is built on Windows
The libpsl subproject wasn't building successfully and CI didn't
notice because:

1. The plugin wasn't explicitly enabled
2. Even when the plugin is explicitly enabled, the dep is not required
   at build time when not building a static plugin

So fix all of these issues.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5038>
2023-07-15 05:06:35 +00:00
Nirbheek Chauhan
a9e725bc3b ci: Don't run integration testsuites and vs builds on vaapi changes
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5026>
2023-07-13 20:54:49 +00:00
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