Detlev Casanova
215953faf9
ci: Run virtme tests on the fluster docker image
...
The separated docker image to run the fluster tests wasn't used properly.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7455 >
2024-10-25 13:55:20 +00:00
Jordan Petridis
7cf69a0f2f
ci: Create a separate image for fluster
...
Move the fluster setup into it's own image.
It's only one job using it and this allows us to make
the build image used for the rest of the jobs smaller.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7455 >
2024-10-25 13:55:19 +00:00
Jordan Petridis
a31c8cf370
ci: Push a dedicated toolbox image
...
This is mostly done to remove the hardcoded HOME
env var that ci-templates appends to the image. See [1]
[1] https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2433#note_2243222
But it also allows us to add extra things useful for local
development to it, as long they don't interfere with the
build enviornment.
This also means we can switch the build image to be based
on top of the normal fedora one rather than toolbox,
so it will no longer advertise the toolbox compatible labels
since it was buggy anyway.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7455 >
2024-10-25 13:55:19 +00:00
Edward Hervey
b462d15fe0
gitlab-ci.yml: Don't build both qt5/qt6 on static builds
...
It doesn't make any sense since we can only link against one of the two
libraries
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7455 >
2024-10-25 13:55:19 +00:00
Jordan Petridis
d9c35760b8
ci: Update fedora base image to f40
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7455 >
2024-10-25 13:55:18 +00:00
Nirbheek Chauhan
15b0b49918
ci: Add scripts to retry windows builds on spurious errors
...
Similar to cerbero, we run meson commands inside a powershell script
that will examine the output for spurious errors and re-run that
particular command.
https://gitlab.freedesktop.org/slomo/gstreamer/-/jobs/65265526
https://gitlab.freedesktop.org/slomo/gstreamer/-/jobs/65265524
https://gitlab.freedesktop.org/nirbheek/gstreamer/-/jobs/65331410
https://gitlab.freedesktop.org/jcowgill/gstreamer/-/jobs/65489856
https://github.com/rust-lang/rust/issues/127883#issuecomment-2290594194
Co-Authored-by: L. E. Segovia <amy@centricular.com>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7680 >
2024-10-23 14:38:20 +00:00
Jordan Petridis
120f2a6b83
ci: Explicitly set the number of jobs validate-launcher will run
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7592 >
2024-10-02 13:58:09 +00:00
Tim-Philipp Müller
7135dd19fd
ci: run rustfmt job only for changes in Rust code
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7325 >
2024-09-15 19:03:51 +00:00
Jordan Petridis
dcd11f0a10
ci: Add rules:changes:compare_to to the job rules
...
By default MR pipelines always compare against the
target branch, however branch pipelines compare
the difference of the last two commit.
This means that once we merge something, jobs that we
expected to run, might not depending on what the last
two commits touched.
Add rules:changes:compare_to: keyword so the behavior
is the same between branch and MR pipelines.
https://docs.gitlab.com/ee/ci/yaml/index.html#ruleschangescompare_to
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3780
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7507 >
2024-09-15 15:52:31 +00:00
Jordan Petridis
d8421a1f42
ci: switch rules:changes to be using paths: subkeyword
...
This is (should) be functionally identical to the existing rules.
When not specified, items added to the changes: are automatically passed
to changes:paths [1], however we are going to introduce another keyword
(changes:compare_to) in the followup commit. Thus switch already from changes: to
changes:paths so it is easier to test the changes standalone.
[1]: https://docs.gitlab.com/ee/ci/yaml/index.html#ruleschanges
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7507 >
2024-09-15 15:52:31 +00:00
Jordan Petridis
595983df9f
ci: Set SUBPROJECTS_CACHE_DIR variable
...
It's used in the build script and it fails if it's undefined.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7428 >
2024-09-09 13:51:15 +00:00
Nirbheek Chauhan
cb89358d74
ci: Don't build the gtk subproject unless the changes are relevant
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7439 >
2024-09-03 01:30:57 +05:30
Edward Hervey
0fc5210c48
gitlab-ci: Try timestamps on CI logs
...
https://docs.gitlab.com/ee/ci/yaml/ci_job_log_timestamps.html
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7383 >
2024-08-21 12:44:09 +00:00
Nirbheek Chauhan
337fee8388
ci: Add a gtk subproject for testing on windows and macos
...
The gstreamer-rs CI needs to build gtk to test the gtk4 plugin in
gst-plugins-rs. Formalize support for gtk in the monorepo, and disable
it by default because it's not an important dependency; unlike
libnice.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7372 >
2024-08-17 16:07:34 +05:30
Tim-Philipp Müller
734f1b47a2
ci: disable -Werror for gstreamer-sharp for the time being
...
Generated files trigger compiler warnings, needs to be
investigated where/how to best fix those.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7326 >
2024-08-14 04:34:28 +00:00
Nirbheek Chauhan
9cc363311d
meson: Add an option to disable gst-full
...
Not all static-library build configurations need to use this, and the
CPU time and RAM needed by gst-full targets is quite significant.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7315 >
2024-08-13 01:01:28 +00:00
Jordan Petridis
a80fef34a2
ci/scripts: Specify arguments by args rather than env vars
...
This dehardcodes the builddir the scripts use, and allows
us to pass it as a cli argument.
It also allows us to pass the test stuite string as an
arg for test.sh
This makes the scripts a bit more usable for local development
as well.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7114 >
2024-07-04 15:07:28 +03:00
Loïc Le Page
9d703439f1
pitch: add validate tests
...
Add pitch tests with different forward and backward playback rates.
Those tests depend on the libSoundTouch version to validate the buffers
checksums. The actual version uses libSoundTouch 2.3.2, use the
`--force-fallback-for=soundtouch` meson option to build using the same
version.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6247 >
2024-05-02 13:26:09 +02:00
Jordan Petridis
472d1b52d3
ci: Add a simple build job based on debian
...
The gstreamer-rs repos use debian based images already,
which we can later base on this one. Additionally it's
good to have another distro target so we avoid weird
fedoraisms when possible.
It will also be simpler to keep it up to date, as we
don't need to run the test suite against this build as
well.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6656 >
2024-04-24 15:01:27 +00:00
Tim-Philipp Müller
8564118d2a
ci: tag fedora amd64 docker job as placeholder job
...
It finishes fairly quickly in most cases and even if it
needs to rebuild the image it doesn't use a lot of cpu
resources.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6646 >
2024-04-15 23:29:13 +00:00
Ruben Gonzalez
27fc705bb2
CI: Use G_DEBUG=fatal_criticals and --gst-disable-registry-fork with gst-inspect-1.0 test
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5704 >
2024-04-07 06:36:44 +00:00
Nirbheek Chauhan
bd753822c4
ci: Enable opus and vpx plugins everywhere by default
...
Ensure that they are build-tested on the CI.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6351 >
2024-03-23 13:08:15 +00:00
Nirbheek Chauhan
4fc56a08ee
soup: Re-add soup-lookup-dep option
...
It's still useful on Linux since it ensures that the tests are going
to be built, since they use the same dep lookup as the plugin now.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6197 >
2024-02-23 11:47:47 +05:30
Piotr Brzeziński
bf4cf0d9c1
ci: Ensure gtk-sharp uses the same revision in both places
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6182 >
2024-02-22 13:21:07 +00:00
Nirbheek Chauhan
40774c2607
ci: vs2022 x86 was only configuring, was not building
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6166 >
2024-02-21 13:03:43 +00:00
Nirbheek Chauhan
11f6984bf5
soup: Link to libsoup in all cases on non-Linux
...
We have unsolvable issues on macOS because of this, and the feature
was added specifically for issues that occur on Linux distros since
they ship both libsoup 2.4 and 3.0.
Everyone else should just pick one and use it, since you cannot mix
the two in a single process anyway.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1171
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6156 >
2024-02-21 09:27:59 +05:30
Jordan Petridis
dc5b866d87
ci: Run the commit lint job as a user
...
Part of #2433
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5938 >
2024-02-20 18:28:52 +02:00
Jordan Petridis
ed02a3991e
ci: Avoid g-ir-scanner spurious issue
...
Recently something has caused it to error out, but only sometimes.
Ignore the cache so the CI will be reliable again.
Close #3197
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5902 >
2024-01-10 20:38:38 +00:00
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