Commit graph

274 commits

Author SHA1 Message Date
Valentine Burley
a265cdaa18 ci/deqp: Backport Android logcat commit
Instead of manually applying the patch, backport the version that landed
in main, which requires a cmake argument to enable.

Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38071>
2025-12-10 11:31:33 +00:00
Valentine Burley
204b83d80f ci: Remove Piglit replayer from test-vk container/rootfs
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
We've been building the Piglit replayer in the test-vk container/rootfs,
but all trace-replay testing in CI is actually done using the test-gl
rootfs.

Despite the naming, the "gl" and "vk" rootfs variants don't correspond to
the graphics API being tested - just the different sets of tools
bundled.
The required tools for trace replay are already included in the test-gl
rootfs, so there's no need to build or use the test-vk variant for this
purpose.

Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38282>
2025-11-07 08:22:32 +00:00
David Heidelberg
9334b5659c ci: implement debian-cross-riscv64
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Revival of my old effort to get riscv64 testing in!
Now we're at Debian 13 (trixie), we can support RISC-V builds!

Disable llvmpipe suite because of lp_test_arit failure, see
https://gitlab.freedesktop.org/mesa/mesa/-/issues/14123

Signed-off-by: David Heidelberg <david@ixit.cz>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37445>
2025-11-03 15:04:57 +01:00
Ritesh Raj Sarraf
0e80e831f8 ci/android: Use prebuilt cuttlefish packages from ci-deb-repo
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Make use of the prebuilt cuttlefish packages from the Debian
Trixie base. These packages are built and published to an apt
repository under ci-deb-repo

Signed-off-by: Ritesh Raj Sarraf <ritesh.sarraf@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37633>
2025-10-03 10:04:39 +00:00
Eric Engestrom
be825ee11f ci: use MSRV for build-for-tests jobs and recent version in build-only jobs and CI components
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37414>
2025-09-19 17:28:42 +00:00
Valentine Burley
2260681572 ci/android: Use aapt from Debian packages again
The package in trixie is new enough to use again.

This reverts commit c9a8e1f49a.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35853>
2025-09-16 06:16:21 +00:00
Valentine Burley
8803388d15 ci: Update to Debian 13 (trixie)
Switch containers from Debian 12 (bookworm) to Debian 13 (trixie).

Trixie ships LLVM 19 by default, so we no longer need to add LLVM repos
to install llvm-19.

Notably, trixie also uses Python 3.13.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6994
Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35853>
2025-09-16 06:16:21 +00:00
Valentine Burley
1717845a65 ci/gfxreconstruct: Bump version for compatibility with Debian 13
And add the usual image tag header while we're here.

Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35853>
2025-09-16 06:16:20 +00:00
David Rosca
272bde24a3 ci: Stop building VDPAU driver
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36632>
2025-09-10 12:33:57 +00:00
Guilherme Gallo
a51b12bbf6 ci/android: Use find_s3_project_artifact in build script
So we can reuse artifact finding functionality and also can make the
`gallo/mesa` workaround to work.

Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36946>
2025-08-26 21:58:02 +00:00
Antonio Ospite
3cd4cc7d07 ci/android: add rust compiler to create-android-cross-file.sh
Add rust compiler definitions to the create-android-cross-file.sh file
to be able to cross-build drivers that use Rust code.

This is inspired by the changes in commit 2f5db959a7 ("docs/android:
update cross file and add nvk instructions", 2025-08-01)

Also add rust and bindgen to the debian/android_build container.

Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Reviewed-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36710>
2025-08-25 15:55:53 +00:00
Valentine Burley
7a71e2e41b ci: Separate build and test container tags
Rebuilding all the test containers for a change that only affects the
build containers is costly and unnecessary. Split the `DEBIAN_BASE_TAG`
into `DEBIAN_BUILD_BASE_TAG` and `DEBIAN_TEST_BASE_TAG` to make it
possible to rebuild only the relevant half of the containers.

Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36736>
2025-08-12 17:16:35 +00:00
Valentine Burley
27c8209ed4 ci: Remove xvfb from test-base container
Xvfb is no longer used.

Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36567>
2025-08-06 07:33:32 +00:00
Faith Ekstrand
b19086ccfa ci: Upgrade XWayland to 24.1.8
Even though XWayland 22i.1 (the version in Debian Bookworm) supports
modifiers, it refuses to use the GBM back-end if wl_drm is not
available.  We need XWayland 24.1 in order to get GBM support without
wl_drm.

Reviewed-by: Eric Engestrom <eric@igalia.com>
Reviewed-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36026>
2025-07-10 14:51:20 +00:00
Faith Ekstrand
466c0a69dd ci: Build weston 14.0.1 from source
There is a bug in Weston 10 that's causes instability when we don't have
wl_drm which isn't likely to get fixed in a point release.  Most of CI
is fine but the final patch in this MR causes AMD raven to kill weston
part-way through runs, destroying the run.  Just update weston to
14.0.1.

Reviewed-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36026>
2025-07-10 14:51:20 +00:00
Faith Ekstrand
6ae92e791b ci: Bump libwayland to 1.24.0
This is required to update Weston.  This also requires that we start
building the scanner from source since libwayland 1.24 also requires
libwayland-scanner 1.24 which means there's no point in installing the
libwayland dev packages.

Reviewed-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36026>
2025-07-10 14:51:20 +00:00
Eric Engestrom
ec97eadc9f ci: fix yamllint warnings about whitespace
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35857>
2025-07-01 16:17:13 +00:00
Eric Engestrom
e149cba160 ci: make sure that sanity job must pass before running other jobs
An unintended consequence of !35203 is that when container jobs are not
there, nothing depends on the `sanity` job anymore.

Fix this by making all the jobs using a container image we generate also
depend on `sanity` through the `.use-$distro/$variant` templates.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35857>
2025-07-01 16:17:12 +00:00
Valentine Burley
5ac532bfc7 ci/android: Update Cuttlefish image
Main changes:
- Use hwcomposer=drm for venus_guest_angle instead of ranchu
- Cherry pick an upstream change in external/minigbm
  https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/6691931

Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35786>
2025-07-01 14:50:55 +00:00
Sergi Blanch-Torne
d5c63dd292 ci: split long containers build yaml
The yaml file for the definitions for container build on different systems can
have a split between systems before split between hidden and build jobs.

Signed-off-by: Sergi Blanch-Torne <sergi.blanch.torne@collabora.com>
Acked-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org>
Reviewed-by: Eric Engestrom <eric@igalia.com>
Reviewed-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35427>
2025-06-30 12:32:29 +00:00
Antonio Ospite
c9a8e1f49a ci/android: get aapt from the build-tools from Google instead of Debian
The aapt package form Debian might not be recent enough to install the
packages from Android CTS.

Resulting in an error like:

```
03:12:09.302: Module(s) with run failure(s):
03:12:09.302:     x86_64 CtsGraphicsTestCases: com.android.tradefed.targetprep.TargetSetupError[AAPT_PARSER_FAILED|520050|DEPENDENCY_ISSUE]: AaptParser failed for file CtsGraphicsTestCases.apk. The APK won't be installed
```

So get aapt from the build-tools matching the ANDROID_SDK_VERSION
corresponding to the Android version and CTS version used in the tests,
to ensure compatibility.

This effectively reverts the changes from commit b3c07fe722
(ci/android: Use aapt from Debian packages, 2025-04-21), but moving the
code around a bit.

The build-tools are not taken as LAVA overlay because LAVA is not able
to handle zip files, and the file in not big enough to be worth any
repacking effort.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35688>
2025-06-24 08:21:18 +00:00
Guilherme Gallo
969bb7bd70 ci/android: Use structured tag for Android CTS version
Structured tagging ensures that we are building and testing the current
component version specified in the commit by matching the checksum of
the related build script file.

In this case, it is worthy to isolate the Android CTS version part,
because we don't need to rebuild the entire test-android container when
we change the CTS version or the CTS modules filtering.

PS: actually the new file `build-android-cts.sh` is not building
anything, it is just downloads, filters, compress and reupload the
stripped version to S3. The `build-` prefix is to make it work
transparently with `bin/ci/update_tag.py` script.

Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35596>
2025-06-23 15:22:45 +00:00
Guilherme Gallo
b26ad1783d ci/android: Disable zipbomb detection for CTS
The CTS is almost 9GB, when we unzip it locally (on Fedora 41 at least)
it is partially extracted because it is falsely detected as a zipbomb.

Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35596>
2025-06-23 15:22:45 +00:00
Guilherme Gallo
e9a1e22d6c ci/android: Store stripped CTS on S3
The CTS has almost 9GB atm, which takes almost 20 minutes to download
it. Moreover, it is stripped down after that, so we don't need the entire
file anyway.

So let's move this artifact to S3 in a similar way that we do with
fluster vectors.

Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35596>
2025-06-23 15:22:44 +00:00
Valentine Burley
f7befb9d8d ci/lava: Make Cuttlefish a LAVA overlay
Instead of including Cuttlefish in the core LAVA rootfs, make it an
optional LAVA overlay. This reduces the size of the core rootfs and
keeps Cuttlefish cached when the container is rebuilt, leading to
faster deploys.

Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35522>
2025-06-19 20:20:40 +00:00
Matt Jolly
1f00e6fb28 ci/debian: arm64: only install Meson once
We already use `install-meson.sh` so that we can select an appropriate
version of Meson. Instead of installing two copies just do it before
we begin building anything in the container.

Signed-off-by: Matt Jolly <kangie@gentoo.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33725>
2025-06-17 16:51:15 +00:00
Valentine Burley
b25135c7a9 ci/android: Use DEQP_ANDROID_EXE for GLES CTS
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
The new GLES CTS 3.2.12.0 release allows using DEQP_ANDROID_EXE for EGL
testing on Android.

Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34321>
2025-06-10 07:56:46 +00:00
Valentine Burley
02256a5aa3 ci/android: Close the Android tools section
This was missing.

Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35362>
2025-06-05 15:18:23 +00:00
Antonio Ospite
9f65081e02 ci/android: use curl -O to avoid having to specify the same filename again
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35126>
2025-06-04 15:43:42 +00:00
Antonio Ospite
dc1502af2e ci/android: use newer cuttlefish images
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35126>
2025-06-04 15:43:42 +00:00
Valentine Burley
3ba9038648 ci/android: Check Vulkan driver using vulkaninfo
Add a step to detect the active Vulkan driver by parsing `vulkaninfo`.

Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35232>
2025-06-02 06:27:31 +00:00
Valentine Burley
3029fdde65 ci/android: Switch to using eglinfo to check GLES implementation
In newer Android versions, SurfaceFlinger uses Vulkan by default,
so `dumpsys SurfaceFlinger` no longer reveals the GLES implementation.

Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35232>
2025-06-02 06:27:31 +00:00
Valentine Burley
080894325a ci: Remove debian/x86_64_pyutils container
Delete the debian/x86_64_pyutils container, since the LAVA jobs no longer
use it.

Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34980>
2025-05-26 17:25:40 +00:00
Daniel Stone
086d7cb8fd ci/bare-metal: Remove remnants of old bare-metal setups
With the rest of the Qualcomm devices moving to LAVA, we can remove the
original (!) bare-metal infrastructure, leaving only the Igalia RPi
devices still using bare-metal. When those are converted to b2c, we can
remove the rest of bare-metal.

Signed-off-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35148>
2025-05-26 10:19:29 +00:00
Mike Blumenkrantz
00aaef9f12 delete gallium-nine
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
farewell, old friend

Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Acked-by: Marek Olšák <marek.olsak@amd.com>
Acked-by: Axel Davy <davyaxel0@gmail.com>
Acked-by: David Heidelberg <david@ixit.cz>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34887>
2025-05-23 13:43:37 -04:00
Valentine Burley
dc483ea924 ci: Remove firmware from test-base
Firmware packages continue to grow in size, so stop installing them in
the test-base image.

The necessary firmware is now collected and uploaded per vendor in an
external repository.

LAVA devices can opt into optional firmware by specifying the name of the
archive via LAVA_FIRMWARE.

For bare-metal, Qualcomm firmware required for DUTs in the Google lab is
included in the baremetal image.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13051

Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34861>
2025-05-21 08:48:15 +00:00
Valentine Burley
4ad8c8752d ci: Run rustfmt and python jobs on aarch64
The x86_64 shared runners often have long queues.
Move the rustfmt, python-artifacts, and yaml-toml-shell-py-test jobs to
use the aarch64 runners instead.

Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35000>
2025-05-16 06:07:20 +00:00
Valentine Burley
3029898a15 ci/container: Include DEBIAN_BUILD_TAG in debian/arm64_build
Unlike other containers (e.g. debian/x86_64_build-base and
debian/x86_64_build), debian/arm64_build is a single-stage image without
a separate -base variant.

Including DEBIAN_BUILD_TAG in its FDO_DISTRIBUTION_TAG ensures it gets
rebuilt when the build tag changes.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/12737
Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35000>
2025-05-16 06:07:20 +00:00
Valentine Burley
d527da301f ci: Don't include the kernel in test-base image
Including the kernel image in test-base requires rebuilding every
x86_64 container image on each kernel uprev, even though only the
crosvm jobs use this kernel.

Move the download to runtime and update the  distribution tags to avoid
triggering container rebuilds on kernel changes.

Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34813>
2025-05-07 12:13:24 +00:00
Vignesh Raman
8949e4a7ec ci: add libproc2-0
libproc2-0 is required for igt tests in drm-ci.

Signed-off-by: Vignesh Raman <vignesh.raman@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34781>
2025-05-02 19:06:43 +05:30
Valentine Burley
26bc35c8f9 ci: Delete the kernel+rootfs jobs
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
LAVA and baremetal now use the test-* containers as the base for their
rootfs.

Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34451>
2025-04-28 20:08:32 +00:00
Valentine Burley
e16d422da5 ci/baremetal: Split baremetal_arm64_test to -gl and -vk
While all the arm32 jobs are testing GL, there are both GL and VK arm64
jobs. This is required to be able to use the rootfs from the test-*
containers.

Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34451>
2025-04-28 20:08:32 +00:00
Valentine Burley
a2150a0f56 ci/baremetal: Remove legacy support for unused devices
Clean up unused remnants for old devices that are no longer used.

Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34451>
2025-04-28 20:08:32 +00:00
Valentine Burley
414e1a22c8 ci/container: Add new container for libva and fluster testing
The new debian/x86_64_test-video container includes va tools and Fluster.

Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34451>
2025-04-28 20:08:32 +00:00
Valentine Burley
225ac7f2b2 ci/container: Include SkQP in the test-gl containers
Build SkQP in the arm64 and x86_64 test-gl containers.
One of the third party dependencies requires python-is-python3.

Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34451>
2025-04-28 20:08:32 +00:00
Valentine Burley
33d5204ec1 ci/container: Include ANGLE in the x86_64 test-gl container
Build ANGLE in the x86_64 test-gl container.

Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34451>
2025-04-28 20:08:32 +00:00
Daniel Stone
3609dbc061 ci: Add ci-kdl to test-base container
It's useful to monitor things on your devices.

Signed-off-by: Daniel Stone <daniels@collabora.com>
Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34451>
2025-04-28 20:08:32 +00:00
Daniel Stone
a5159ff108 ci: Add packages for hardware CI testing
We need these things in our rootfs.

Signed-off-by: Daniel Stone <daniels@collabora.com>
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com>
Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34451>
2025-04-28 20:08:32 +00:00
Daniel Stone
73993c2e74 ci: Add firmware to test-base container
We need firmware to run stuff.

Signed-off-by: Daniel Stone <daniels@collabora.com>
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com>
Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34451>
2025-04-28 20:08:32 +00:00
Eric Engestrom
580a151642 ci: use https:// to install ci-fairy
There's no reason to try to use http://, not that it would work as it's
301-redirected to https:// anyway.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34451>
2025-04-28 20:08:32 +00:00