Commit Graph

3597 Commits

Author SHA1 Message Date
Valentine Burley
93a45abcf4 radeonsi/ci: Convert Fluster job to deqp-runner suite
Drop the custom fluster-runner.sh script and add a deqp-runner suite for
the `radeonsi-raven-vaapi-fluster` job.

Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36316>
2025-07-24 15:04:38 +00:00
Eric Engestrom
f4596e7828 ci/lava: fix heredoc-in-yaml syntax
Fixes: 02d07f3380 ("ci/lava: Add SSH job definition")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36239>
2025-07-24 08:40:44 +00:00
Eric Engestrom
f4166ab1e1 ci: fix rustfmt job rules (one more case)
f065c2f0ac actually always triggers the rule it adds because
that commit itself changes one of these files, so the case where none of
these files are changed was not actually tested.

The two options are to drop the `changes:` line from that commit, to
make every staging pipeline run that job, or to add the missing
"no changes" corresponding rule, which this commit does, which aligns
with the "run when files changed, don't run otherwise" behaviour of the
other rules above.

Fixes: f065c2f0ac ("ci: fix rustfmt job rules")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36306>
2025-07-23 11:20:19 +00:00
Antonio Ospite
8f2715c333 ci/android: fix exit code from android-cts-runner.sh and android-deqp-runner.sh
The android-cts-runner.sh and android-deqp-runner.sh scripts are usually
sourced from android-runner.sh which then propagates the EXIT_CODE value
set in the scripts.

However this scheme does not cover the case where android-cts-runner.sh
and android-deqp-runner.sh are called directly, in that case they will
not return the previously saved EXIT_CODE appropriately in the last
command.

Fix that, allowing developers to call the scripts directly with the
intended behavior.

After this change android-runner.sh does not need to know about the
EXIT_CODE variable anymore, which was a slight layering violation, but
it can just rely on the exit code of the last executed commands.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36286>
2025-07-22 20:49:12 +00:00
Julian Orth
62f855429a ci: build and install native libwayland
If the same image is used for both cross and native builds, the native
build needs to be installed as well.

Signed-off-by: Julian Orth <ju.orth@gmail.com>
Fixes: cf64ca6a0c ("ci: enable wayland platform in more debian builds")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36191>
2025-07-22 10:41:00 +00:00
Eric Engestrom
f065c2f0ac ci: fix rustfmt job rules
Specifically, fe8bc3f23e made the "default" case `manual`
instead of `never`, which is causing all staging pipelines to have that
job regardless of any file `changes`, and always `manual` making it
block pipelines.

Let's make it automatic for upstream pipelines (ie. staging and
push-to-main), and only run on file `changes`.

Fixes: fe8bc3f23e ("ci: Only run rustfmt when necessary")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36260>
2025-07-22 07:09:28 +00:00
Collabora's Gfx CI Team
46cbe95ccf Uprev Piglit to 0980079dcfb5adbad873d88e00181268f55cb8ef
a0a27e528f...0980079dcf

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35625>
2025-07-18 15:33:14 +00:00
Collabora's Gfx CI Team
5f13ab3ec3 Uprev ANGLE to 6a04a50f98cac71b25464d10289ce7a013841caf
c39f4a5c55...6a04a50f98

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35482>
2025-07-18 00:10:15 +00:00
Valentine Burley
5c5c464988 ci/angle: Update gn arg to avoid warning message
After this change
https://chromium-review.googlesource.com/c/chromium/src/+/6547915,
using android32_ndk_api_level and android64_ndk_api_level gn args
will results in a warning message:

WARNING Build argument has no effect.
android32_ndk_api_level = 26
                          ^-
Did you mean "android_ndk_api_level"?

Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35482>
2025-07-18 00:10:02 +00:00
Mike Blumenkrantz
10602f2ddd ci: bump VVL to 1.4.322ish
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35791>
2025-07-17 15:28:21 +00:00
Valentine Burley
b7f1f40bf4 ci: Always save the artifacts for performance traces
We need the job artifacts in all cases to gather performance data.
Since commit b723bc80d2, we were only saving them on failures.

Fixes: b723bc80d2 ("ci/lava: inherit .piglit-traces-test in .lava-piglit-traces and deduplicate configs")

Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36195>
2025-07-17 14:55:41 +00:00
Vignesh Raman
54fcb0e443 ci/init-stage1: avoid duplicate mounts
Check if filesystems are mounted before attempting to mount them,
and use mkdir -p to prevent errors if directories already exist.

Signed-off-by: Vignesh Raman <vignesh.raman@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35961>
2025-07-17 13:16:56 +00:00
Vignesh Raman
89ff124263 ci/lava: bump ALPINE_X86_64_LAVA_TRIGGER_TAG
Bump ALPINE_X86_64_LAVA_TRIGGER_TAG tag to rebuild the lava-trigger
container.

Signed-off-by: Vignesh Raman <vignesh.raman@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35961>
2025-07-17 13:16:56 +00:00
Vignesh Raman
c1898908a8 ci/lava: Move lava_job_submitter tests to lava folder
The `.gitlab-ci/tests/` directory contains LAVA-specific tests, not
general test code. To avoid confusion with `.gitlab-ci/test/`, move it
to `.gitlab-ci/lava/`.

Signed-off-by: Vignesh Raman <vignesh.raman@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35961>
2025-07-17 13:16:56 +00:00
Vignesh Raman
d67436c7ec ci/lava: make rootfs shell prompt configurable
Add support for setting rootfs shell prompt. This is optional and
defaults to "lava-shell:" if not specified.

Signed-off-by: Vignesh Raman <vignesh.raman@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35961>
2025-07-17 13:16:56 +00:00
Vignesh Raman
75d1ac4b0b ci/lava: add main() function to fix entry point
Signed-off-by: Vignesh Raman <vignesh.raman@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35961>
2025-07-17 13:16:56 +00:00
Vignesh Raman
38039e00e7 ci/lava: default CI_JOB_TIMEOUT to 3600 if unset
Prevents a TypeError when CI_JOB_TIMEOUT is not set by defaulting
to 3600 seconds (60 minutes).

Signed-off-by: Vignesh Raman <vignesh.raman@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35961>
2025-07-17 13:16:56 +00:00
Valentine Burley
0bf2e3c712 ci/lava: Use UART for non-Chromebooks
Some Chromebooks have unreliable UART, so we fall back to SSH for them.
However, SSH setup adds a 10-15s overhead, so we now restrict its usage
to devices with the "depthcharge" boot method (i.e., Chromebooks).

Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35936>
2025-07-16 14:12:53 +00:00
Eric Engestrom
8d61c2751f ci: move script: override from .piglit-traces-test to llvmpipe-traces
This is already being set as needed everywhere else, and would cause
issues in future work.

Use the relative `install/` path for `HWCI_TEST_SCRIPT` as that's
supported by both HW runners and FDo runners.
A separate MR will fix the `/install/` vs `install/` mess.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36145>
2025-07-16 12:54:06 +00:00
Eric Engestrom
b723bc80d2 ci/lava: inherit .piglit-traces-test in .lava-piglit-traces and deduplicate configs
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36145>
2025-07-16 12:54:06 +00:00
Eric Engestrom
5ebe02db30 ci/piglit: provide default results file name
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36145>
2025-07-16 12:54:06 +00:00
Eric Engestrom
9c42e66de1 ci/piglit: provide default device name
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36145>
2025-07-16 12:54:06 +00:00
Eric Engestrom
8e568a1ed3 ci/piglit: drop LAVA variable from non-LAVA jobs
LAVA jobs use `.lava-piglit-traces` which also sets it (with the same
comment), so this doesn't affect lava jobs.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36145>
2025-07-16 12:54:05 +00:00
Samuel Pitoiset
6d1daf51c9 ci: uprev VKCTS main to 73db56e823f8bf6b9dcab57af43b4216c3ba19b5
RADV is the only driver using VKCTS main.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36106>
2025-07-16 08:54:01 +00:00
Eric Engestrom
aade8a919d ci: uprev apitrace
A new major version (13.0) was just released, a good excuse to uprev :)

New release notes:
https://github.com/apitrace/apitrace/releases/tag/13.0

Difference in this uprev:
b6102d1096...45a005875d

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35816>
2025-07-15 11:56:39 +00:00
Valentine Burley
7d298e3c4b iris/ci: Simplify performance trace template
The `.profile-traces` template was nearly identical to
`.piglit-performance-base`, differing only by one additional variable.

Since all jobs extending `.piglit-performance-base` were already using
`EGL_PLATFORM: surfaceless`, that setting has been moved into the base
template, allowing `.profile-traces` to be simplified.

This also hides the performance traces jobs from non-Marge pipelines,
as intended.

Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36074>
2025-07-14 08:15:25 +00:00
Valentine Burley
08152633fb ci/lava: Add arm64 ASan job templates
Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35053>
2025-07-12 09:21:03 +00:00
Eric Engestrom
d0a6f14c67 ci: document anholt farm as decommissioned
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36024>
2025-07-10 18:15:36 +00:00
Daniel Stone
355b96413d egl/wayland: Move bind_wayland_display to legacy build option
Similar to how support for X11's DRI2 protocol was deprecated in 24.2,
begin deprecating EGL_WL_bind_wayland_display (including
eglBindWaylandDisplayWL et al) by moving it behind a legacy-wayland
build option.

This extension was originally created in a pre-dmabuf world, where we
didn't have a universally-accepted way of exchanging buffers between
client and compositor, or even really the ability to describe formats
and modifiers universally.

Since then, the world has settled on dmabuf with DRM FourCC and
modifiers. We've had the zwp_linux_dmabuf_v1 protocol for 10 years now:
both clients and compositors implement this protocol to handle buffer
sharing. Compositors either use EGL_EXT_image_dma_buf_import or the
Vulkan dmabuf extensions to import these into GPU world.

Signed-off-by: Daniel Stone <daniels@collabora.com>
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36026>
2025-07-10 14:51:20 +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
a503e86615 ci: Add a weston.ini
This lets us avoid a few command line options.  Also, we're to need it
for setting the XWayland path, which isn't available as a command line
option.

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
Daniel Stone
08c6ba223b x11: Remove DRI2 support
DRI2 was hidden behind a legacy-x11 build option back in the 24.2
release. It's now been a year, so let's get on with removing it so we
can simplify our winsys interactions.

Signed-off-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35885>
2025-07-09 17:49:58 +00:00
Antonio Ospite
f118c6062a ci/android: have a cleaner structure for results from Android CTS
Have a cleaner structure for results from Android CTS, this serves
multiple purposes:

- separate Android CTS specific results from other generic files under
  RESULTS_DIR

- keep Android CTS test results and Android CTS execution logs separate,
  to follow a structure more familiar to people used to Android CTS.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35971>
2025-07-09 09:18:08 +00:00
Eric Engestrom
6c98a3fd0e broadcom/ci: add definitions for ci-tron jobs
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35215>
2025-07-08 11:09:51 +02:00
Antonio Ospite
924027865b ci/android: allow unbound ARTIFACTS_BASE_URL in android-cts-runner.sh
It may happen that `android-cts-runner.sh` is launched from a pure LAVA
job which may not define `ARTIFACTS_BASE_URL`.

Allow the script to continue even in that case.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35937>
2025-07-04 12:30:35 +00:00
Antonio Ospite
5a4c1e2502 ci: fix using _section_switch and _uncollapsed_section_switch
Allow users to call `_section_switch` and `_uncollapsed_section_switch`
without previous section commands.

This can happen because `*-runner.sh` script can be composed in several
ways.

For example if `android-cts-runner.sh` is called without first calling
`cuttlefish-runner.sh`, where a `section_start` is issued, the
`uncollapsed_section_switch` command in `android-cts-runner.sh` will
fail with an error like:

  2025-07-02T08:42:33 /install/setup-test-env.sh: line 102: CURRENT_SECTION: unbound variable

Setting default empty values for `CURRENT_SECTION` makes it possible to
use the "section_switch" commands to also start a section for the first
time.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35907>
2025-07-03 12:04:40 +00:00
Eric Engestrom
e4c7a4b6a5 ci-tron: add ci-tron-arm64-test-{asan,ubsan}-{gl,vk} job templates
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35883>
2025-07-02 14:42:40 +02: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
Valentine Burley
26bd1df9bf virtio/ci: Run additional VKCTS tests on Cuttlefish with Venus+ANV
Extend the deqp-runner suite to run a fractional set of VKCTS tests
on Cuttlefish with Venus on ANV. This involved:

- Introducing a skip list for tests incompatible with this setup
- Increasing the parallelism of the pre-merge job on CML

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:54 +00:00
Sergi Blanch-Torne
f0c58518cc ci: reduce the root .gitlab-ci file
Following the idea to distribute in a tree of files to include and split
between the files with or without hidden job definitions, some jobs in the
root file can be moved to files made specific to describe build or test jobs.

Signed-off-by: Sergi Blanch-Torne <sergi.blanch.torne@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35427>
2025-06-30 12:32:30 +00:00
Sergi Blanch-Torne
396074c59d ci: split hidden job definition for bare-metal and ci-tron
The job definitions for lava-related jobs are encapsulated in a directory,
while the other two farm managers were in the generic test directory. Having a
directory for ci-tron places it side by side with other farm managers. For
bare-metal, it has another advantage, as this encapsulates elements related to
this farm manager in a single place.

To maintain simplicity and consistency in file naming, the gitlab-ci file in
the lava directory is renamed as it has a prefix that corresponds with the
directory hosting it. The other farm equivalent files don't include this
duplication as a prefix, and there isn't such a prefix in any other case of
the CI.

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:30 +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
Sergi Blanch-Torne
6ba1b61395 ci: separate hidden jobs to -inc yml files
Almost all the gitlab-ci.yml files in Mesa have their hidden jobs defined in
an include file. This may have started with !25238 with the idea to simplify
the re-use of hidden jobs by other projects. But we missed the .gitlab-ci
directory.

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
Eric Engestrom
ff6925c34b ci/build: use !reference to build scripts instead of yaml anchors
Needed for the next commit

Signed-off-by: Eric Engestrom <eric@igalia.com>
Reviewed-by: Sergi Blanch-Torne <sergi.blanch.torne@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35427>
2025-06-30 12:32:29 +00:00
Valentine Burley
9a25d6c00f ci/android: Add link to Android CTS results
The Android CTS results are saved as an HTML page in the CI artifacts.
Add a direct link to make them easier to access.

Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35792>
2025-06-30 10:15:15 +00:00
Valentine Burley
f56be74be6 ci/android: Add separate log section for Android CTS
The Android CTS logs were previously buried under the `cuttlefish: setup`
section. Add an uncollapsed section to improve visibility.

Also remove the `gathering the results` section, which was empty in the logs.

Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35792>
2025-06-30 10:15:15 +00:00