Commit graph

39 commits

Author SHA1 Message Date
Matthew Waters
5b32fe7b24 ci: add an ABI check job
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7875>
2024-11-18 12:11:57 +11:00
Matthew Waters
76a037d29a ci: handle changing wrap file refs
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7821>
2024-11-05 02:38:38 +00:00
Jordan Petridis
94737cc108 ci: Install all the glbic langpacks in the fedora image
Also remove the coreutils swap from the toolbox since
it's already done in the base image

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7762>
2024-11-02 11:46:25 +00:00
Jordan Petridis
5ad8258a7d ci/build-toolbox-image.sh: Always print how to use fetch the image
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7769>
2024-10-31 05:22:26 +00:00
Jordan Petridis
19d5a58450 ci: Add a default non-root user in the toolbox image
Toolbox itself will try to make a new user and map the host
uid:gid to it, however it good to also have a default user
set in the image itself in case it needs to be used with
other tooling or debugging.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7769>
2024-10-31 05:22:26 +00:00
Jordan Petridis
ef745265be ci/scripts/test: Place XDG_RUNTIME_DIR in /tmp when running locally
Avoid polluting the pwd/current checkout you are working from

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7591>
2024-10-28 13:47:18 +00:00
Jordan Petridis
e6e2653bf8 ci: Always run the tests using software rasterization
This way when run locally the environment matches what
happens in the headless CI runners without a gpu.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7591>
2024-10-28 13:47:18 +00:00
Jordan Petridis
9c5523d529 ci: Make it easier to run the build scripts locally
* Move the exported PATH variables into a script so
we can source it in all the wrapper scripts.

* Add a guard to only copy over the cache when the
SUBPROJECTS_CACHE_DIR variable is set, which only
happens on CI by default

* Make it possible to run the scripts with default
values for some of the variables, like WERROR and MESON_ARGS.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7591>
2024-10-28 13:47:18 +00:00
Jordan Petridis
c0357f8f8b ci: Disable avx2+ extensions for valgrind jobs
Match what valgrind supports and set the appropriate
openssl variable for it.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7455>
2024-10-25 13:55:20 +00:00
Jordan Petridis
2cd382af73 ci: Cleanup the cargo registry in the images
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
Sebastian Dröge
22e5e57d44 ci: Update to cargo-c 0.10.5
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7683>
2024-10-19 00:06:50 +00:00
Sebastian Dröge
d56fa94146 ci: Update to Rust 1.82
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7678>
2024-10-17 22:39:45 +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
Jordan Petridis
a0b561b492 ci: Pass --builddir to gst-env.py in build-docs.sh
The CI uses a builddir name that gst-env can autodetect,
but that's not always the case if you run the script locally.

Pass the builddir explicitly to avoid this.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7559>
2024-09-30 20:47:44 +00:00
Sebastian Dröge
2d989058a7 ci: Update to cargo-c 0.10.4
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7458>
2024-09-05 20:05:38 +00:00
Sebastian Dröge
0f5e894931 ci: Update to Rust 1.81
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7458>
2024-09-05 20:05:38 +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
Thibault Saunier
87c69e5174 ci: Fail tests if we forget to checkout expectation files
And add missing expectation files

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7400>
2024-08-21 17:53:38 +00:00
Tim-Philipp Müller
2263caff45 ci: update Rust to 1.80.1 and cargo-c to 10.3
And use cargo install --locked

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7326>
2024-08-14 04:34:28 +00:00
Nirbheek Chauhan
6a913a98ca ci: Fix subprojects cache dir usage on macOS jobs
The location is on `/subprojects` on macOS. In all cases, the actual
location is specified in `.gitlab-ci.yml`.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7236>
2024-07-25 16:09:08 +05:30
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
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
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
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
58119a3dea handle-subprojects-cache: Remove old gst-build search path
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5543>
2023-11-18 16:37:07 +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
abda8d362a ci: Split the fedora prepare.sh script
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5629>
2023-11-12 17:31:06 +00:00
Detlev Casanova
1e2c435d6c ci: fedora: Build a linux image for virtme tests
This is a preparation commit to add a linux kernel image to be used in
the virtme tests.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5434>
2023-10-31 10:18:45 -04: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
Jordan Petridіs
aa515b0276 handle-subprojects-cache: Remove old gst-build path
this was a leftover from the monorepo transition.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5347>
2023-09-20 07:42:18 +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
Xavier Claessens
4c3bb001f5 Install meson from git when MESON_COMMIT variable is set
When starting manually a CI pipeline with MESON_COMMIT variable defined,
install the specified version of Meson. This can be used to help the
Meson project smoke testing RC releases or investigate eventual
regressions.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3036>
2022-11-24 16:17:08 +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
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
Mathieu Duponchelle
8d7dde2587 ci: fix plugins cache diffs directory
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/867>
2021-10-18 22:34:11 +00:00
Xavier Claessens
c4e14ef426 handle-subprojects-cache.py: Fix shebang 2021-10-04 20:00:40 -04:00
Thibault Saunier
091946a478 ci: Port CI to the new monorepo
Main differences with previous setup are:
- No manifest creation
- gst-indent is executed only when the bot is assigned (instead of the manifest task)
- Cerbero jobs are triggered in the cerbero repo
- Remove cerbero and android related files as they now are in cerbero
  itself.
- Update `container.ps1` to the new file layout

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/891>
2021-09-24 16:21:18 -03:00