Commit Graph

67 Commits

Author SHA1 Message Date
Marek Olšák 139f55071b gallium: move drivers/radeon/* into drivers/radeonsi/
this is only used by radeonsi

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Reviewed-by: Mihai Preda <mhpreda@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15907>
2022-04-17 01:27:34 +00:00
Cristian Ciocaltea c2d29e940d virgl/ci: Add jobs for running trace tests on LAVA
Provide new jobs virgl-lava-traces and virgl-lava-traces-performance to
run piglit trace tests on Intel based LAVA runners.

Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
Reviewed-by: Guilherme Gallo <guilherme.gallo@collabora.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15208>
2022-03-22 17:01:09 +00:00
Emma Anholt 5497d60639 ci/nouveau: Add a manual run for the Jetson Nano (GM20B).
The test suite is full of flakes around transform feedback, atomics, and
tess.  But, I hope it can be useful for regression testing core Mesa
reworks.

This required updating the kernel to 5.16.12 to get a more stable boot
process.  That kernel rebuild caused an update of the container with
piglit which that was missed in a previous MR, so we got new xfails in x86
swrast.

Acked-by: Ilia Mirkin <imirkin@alum.mit.edu> (nouveau)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15201>
2022-03-09 19:47:04 +00:00
Tomeu Vizoso c0695bb473 ci: Allow disabling the whole of the Collabora farm
Add a global-level variable that allows disabling all jobs that would
have gone to the Collabora lab, to be used in case of outages.

Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15150>
2022-02-24 07:33:45 +01:00
Michel Dänzer c642eed38c ci: Use $CI_COMMIT_BRANCH
This was recently added to indicate pipelines for branches.

v2:
* Modify .gitlab-ci/test-source-dep.yml as well.

Acked-by: Emma Anholt <emma@anholt.net> # v1
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14225>
2022-02-21 14:41:01 +00:00
Emma Anholt 8457667be9 ci: Use a dlclose-disabling preload library for leak checking in Vulkan.
For GL, we disable the dlclose() call on the driver in asan builds so that
leak reports get proper backtraces.  For Vulkan, the dlclose() happens
from libvulkan so you need a bigger hammer to keep our drivers loaded.

Acked-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14235>
2022-01-27 23:47:46 +00:00
Erik Faye-Lund 493f688331 ensure csv-files are crlf on disk
According to RFC 4189 CSV files should be encoded using CRLF newlines,
not LF. This helps compatibility with tools, like python's csv module,
who always uses CRLF.

While we're at it, normalize the one CSV that was CRLF in-repo to LF,
and let git do the newline-normalization when needed instead.

Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12405>
2022-01-16 08:39:44 +00:00
Jesse Natalie 01821a2601 CI: Trigger Windows build on softpipe changes
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14312>
2021-12-27 12:26:02 -08:00
Emma Anholt 39ea803f9f ci/crocus: Add support for manual CI runs on my G41.
Uses a shared runner at my house so we have an easy way to minimally test
crocus.

Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14238>
2021-12-17 19:41:54 +00:00
Erik Faye-Lund dc81cd1931 ci: remove testing of deleted code
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14079>
2021-12-07 22:54:27 +00:00
Timothy Arceri 80719f08a7 mesa: remove old tnl device driver header files
The last users of these were removed when the classic drivers were
dropped.

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14070>
2021-12-06 13:05:40 +11:00
Emma Anholt 8fb850651c ci: Enable testing radeonsi's libva using libva-util unit tests.
We've noticed issues with these tests when uprevving Mesa in Chrome OS.
This CI catches some existing failures, and some debug-build assertion
failures as well.

To do this, uprev deqp-runner for its new gtest-runner command.  This
runner is not as efficient as I would hope, due to some expensive code in
gtest.  I've reported the issue to gtest and it should be easily fixable,
but for now it at least means we get to use the same baseline/skip/flake
handling we have from deqp and piglit runners.

I also fixed build-libdrm for our rootfses to not throw away libdrm's
share directory, which was causing a bunch of test-time spam from radeon's
libdrm when trying to look up its marketing name tables (not that big of a
deal for deqp-runner, but really noisy for piglit and libva-utils which
make gallium screens approximatly per-test).

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13419>
2021-10-28 23:17:19 +00:00
Boris Brezillon 694e14dd99 panvk/ci: Trigger bifrost jobs on vulkan changes
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13077>
2021-09-28 14:03:40 +00:00
Tomeu Vizoso 200f50f790 panfrost/ci: Move CI files to src/panfrost
In preparation for testing panvk.

Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Acked-by: Alyssa Rosenzweig <alyssa@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13016>
2021-09-27 10:44:49 +02:00
Christian Gmeiner dce3c6b436 ci/bare-metal: add etnaviv
Add deqp gles2 CI run for GC2000.

Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Acked-by: Daniel Stone <daniels@collabora.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12852>
2021-09-17 17:54:39 +00:00
Rob Clark 8f784c8fed freedreno/ci: Add a status variable for CI farm
Make it a one-line change to disable freedreno CI jobs if the farm is
offline.

Signed-off-by: Rob Clark <robdclark@chromium.org>
Acked-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12602>
2021-08-28 13:08:05 +00:00
Tomeu Vizoso 3f5053b899 iris/ci: Add manual jobs for tracking performance
Use Piglit's replay profile to measure and store the time that frames
take to render in the GPU.

This job won't run automatically in regular pipelines, but will be
triggered automatically by a script for every successful pre-merge
pipeline.

This is because we want to generate performance data for every relevant
commit merged in main, but we don't want to keep a device busy during
the pre-merge run.

Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12236>
2021-08-25 09:32:17 +02:00
Antonio Caggiano 50e849fb94 freedreno/ci: Add a manual job for tracking performance
Use Piglit's replay profile to measure and store the time that frames
take to render in the GPU.

This job won't run automatically in regular pipelines, but will be
triggered automatically by a script for every successful pre-merge
pipeline.

This is because we want to generate performance data for every relevant
commit merged in main, but we don't want to keep a device busy during
the pre-merge run.

Signed-off-by: Antonio Caggiano <antonio.caggiano@collabora.com>
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12185>
2021-08-05 07:55:32 +00:00
Tomeu Vizoso f376597d00 freedreno/ci: Move rules for restricted jobs to test-source-dep.yml
GitLab doesn't merge the rules array from a job that is extended, so we
were missing the changes rules.

To avoid this, create a .freedreno-rules-restricted job that includes
the changes rules and the restricted user checks.

Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Acked-by: Michel Dänzer <mdaenzer@redhat.com>
Fixes: 92f9141f00 ("ci/freedreno: Test with non-redistributable traces")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5139
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12122>
2021-07-30 08:42:57 +02:00
Mike Blumenkrantz 2de1849a8c ci: only trigger gallium_core_file_list jobs from dri and glx frontend changes
these are the only frontends which may be used by gallium drivers in ci,
so stop triggering all driver jobs when other frontends are changed since
those changes can never affect ci

<MrCooper> Not that simple unfortunately. E.g. the llvmpipe-piglit-cl job hits
           src/gallium/frontends/clover & possibly src/gallium/targets/opencl,
           many jobs hit src/gallium/{frontends,targets}/dri and probably
           src/gallium/targets/pipe-loader, lavapipe jobs hit src/gallium/{frontends,targets}/lavapipe.

Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11832>
2021-07-13 13:36:15 +00:00
Mike Blumenkrantz 0b9a2abd49 ci: add vulkan files to lavapipe rules
Acked-by: Daniel Stone <daniels@collabora.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11833>
2021-07-13 13:08:19 +00:00
Erik Faye-Lund b138d2f8a3 ci: fix source-deps for radv on windows
If we're giong to build RADV on Windows, we need to make sure we trigger
the build on all RADV-changes.

Fixes: d18563ea58 ("ci: Update Windows image to build RADV")
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11731>
2021-07-07 21:04:23 +00:00
Michel Dänzer 61a2cfc302 Fix up leftover "state_trackers" references to "frontends"
Fixes: d6287a94b6 "gallium: rename 'state tracker' to 'frontend'"
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11676>
2021-07-02 07:35:05 +00:00
Erik Faye-Lund 04578badc9 ci/windows: fix zink msvc build-rules
When I added the build-rules for zink to the windows build, I
accidentally added it to .windows-test-rules instead of
.windows-build-rules. This seems to trigger a build-error if we trigger
*just* a test due to a zink-change, but not a build.

Hopefully this fixes the problems Mike has had with Zink CI recently.

Fixes: a426d7c264 ("ci/windows: enable msvc builds of zink")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11597>
2021-06-24 22:45:35 +02:00
Erik Faye-Lund a426d7c264 ci/windows: enable msvc builds of zink
This depends on both the Vulkan SDK and the Vulkan Runtime, so let's
install those first.

Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11424>
2021-06-24 17:51:48 +00:00
Alyssa Rosenzweig 55db371223 ci: Condition s390x on specific drivers
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10926>
2021-05-24 14:56:51 +00:00
Alyssa Rosenzweig ebe1d2585b ci: Condition ppc64-el on specific drivers
Changes to Panfrost or Freedreno should not trigger ppc64 rebuilds.

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10926>
2021-05-24 14:56:51 +00:00
Alyssa Rosenzweig 1595a9421b panfrost/ci: Split rules by ISA
Panfrost has two compilers, one for Midgard GPUs and one for Bifrost
GPUs. The respective compilers are src/panfrost/midgard and
src/panfrost/bifrost. Changes internal to just one compiler (or
disassembler) cannot affect the other hardware, so there's no need to
run extra jobs in these cases.

Also split out common vs Gallium panfrost so we can do the right thing
for panvk builds in the imminent future.

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10924>
2021-05-24 13:27:26 +00:00
Tomeu Vizoso 36e6367747 radv/ci: Test on Stoney on CI
Run part of the VK CTS in 3 devices with Stoney Ridge graphics.

Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Reviewed-by: Rohan Garg <rohan.garg@collabora.com>
Reviewed-by: Corentin Noël <corentin.noel@collabora.com>
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10853>
2021-05-24 07:44:00 +02:00
Emma Anholt adc505dd2d ci/i915g: Introduce manual testing of i915g using anholt's runner.
Now you can mash the button to see how badly i915g's broken these days.

Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10874>
2021-05-20 23:12:12 +00:00
Eric Anholt aa4f132d51 ci/intel: Add test jobs for dEQP.
This covers dEQP-EGL, GL, and GLES on GLK, APL (BXT), and AML-Y
Chromebooks.  The GLES tests are fractional runs on some boards to keep
the pipeline time down.  Flakes are reported to #intel-ci on freenode.

Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10438>
2021-05-20 03:18:27 +00:00
Eric Anholt f1d3a684d5 ci: Add missing vulkan dep for freedreno (turnip) and v3dv test jobs.
We might miss testing core vk changes without this.

Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10472>
2021-04-27 19:55:27 +00:00
Mike Blumenkrantz 6cff8ec5a6 ci/lavapipe: split out lavapipe ci into lavapipe dir
there's no need to run llvmpipe jobs if only lavapipe has changed

Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9695>
2021-03-19 16:21:26 +00:00
Danylo Piliaiev 175925f84f ci/freedreno: run freedreno jobs on any change in src/freedreno/
Without a way to exclude specific subdirectories, keeping the list
of all subdirectories which need to be tested is error prone.
It's better to run CI slightly more often than to miss it when
it is needed.

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9609>
2021-03-16 22:36:12 +00:00
Daniel Stone 5ff99387a1 CI: Trigger Windows builds for llvmpipe & Vulkan changes
As Windows now builds llvmpipe and lavapipe, we should be sure to run
their builds when these change.

Acked-by: Jesse Natalie <jenatali@microsoft.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9518>
2021-03-16 17:31:09 +00:00
Eric Anholt 5c89f6ed17 ci/freedreno: Also retest when only CI configuration changes.
Fixes: dab845d457 ("ci: Move specific driver testing to separate files in separate dirs.")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9314>
2021-03-03 21:05:39 +00:00
Eric Anholt f3f4a24549 ci/lava: Move the driver expectation files to the per-driver CI dir.
This will cause less retesting of other drivers when changing the dEQP
results for a driver.

Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9353>
2021-03-03 18:08:11 +00:00
Eric Anholt ad77170b85 ci: Move the dEQP and traces expectations to the per-driver CI dirs.
This means less custom test-source-dep stuff for these drivers, though it
means that touching the CI expects files will cause a bit more retesting:

- broadcom drivers retest as a group (but Igalia requested that
  organization of CI files)
- radv+radeonsi retest as a group
- lvp+llvmpipe retest as a group

Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9161>
2021-02-22 23:02:42 +00:00
Gustavo Padovan 74f9bcc21c gitlab-ci: add intel APL and GLK devices with manual triggers
This add support for the Intel Apollo Lake and Gemini Lake families,
however the job will be disabled by default unless the developer
manually hit play for the iris-apl-traces and iris-glk-traces jobs in
GitLab CI.

These devices are still under experimental level support in
the Lava lab and are not guaranteed to work reliably yet. Once they
become reliable and more resilient we will enable them by default in
MesaCI.

Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8162>
2021-02-16 15:08:27 +01:00
Juan A. Suarez Romero d8236e32de ci/v3d: Add V3D and V3DV testing
Add OpenGL and Vulkan testing for V3D and V3DV respectively.

Add also a couple of manual piglit jobs for V3D.

v2:
 - Replace custom mustpass with running fraction of tests (Eric)

Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8745>
2021-02-15 15:47:31 +00:00
Michel Dänzer dee59ebfcd ci: Disable scons-win64 job
It's failed for almost a month, so right now it's mostly noise and a
waste of CI resources.

It can easily be re-enabled by an MR which makes it pass again.

Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8976>
2021-02-12 14:17:22 +00:00
Erik Faye-Lund 7ea69f40d8 ci: run piglit on zink with lavapipe
Now that we can run on top of Lavapipe, we can finally start testing
Piglit on top of Zink in CI, yay!

Reviewed-by: Daniel Stone <daniel@fooishbar.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8879>
2021-02-10 17:29:18 +01:00
Tomeu Vizoso 6d2afe1c83 ci: Move out expect files from .gitlab-ci
This way, when such a file is modified only the affected driver gets
tested.

It also helps to declutter the .gitlab-ci directory.

Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Reviewed-by: Rohan Garg <rohan.garg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8757>
2021-02-08 14:19:06 +00:00
Pierre-Eric Pelloux-Prayer a77834cecf ci: split src/mesa/**/* matching rule
Split the rule to avoid running useless tests when touching the driver specific
sources.

v2: removed src/mesa/drivers/x11/**/*

Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Reviewed-by: Eric Anholt <eric@anholt.net> (v2)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8735>
2021-01-29 09:18:24 +01:00
Dave Airlie 2f5ef1e891 CI: add lavapipe to llvmpipe rules.
I've noticed that that llvmpipe tests don't all get run,
it's probably good enough to just run them on lavapipe
changes as well

Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8732>
2021-01-27 16:11:43 +10:00
Juan A. Suarez Romero a825919dc6 ci/vc4: rename stage to Broadcom
It fits better with what other drivers has done.

Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
Acked-by: Andres Gomez <agomez@igalia.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8702>
2021-01-26 09:45:29 +00:00
Michel Dänzer 10431c8964 ci: Add *ignore_scheduled_pipelines to mesa/gallium rules templates
These are currently not used directly, but maybe this can prevent copy
and paste accidents.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8360>
2021-01-08 09:57:21 +00:00
Michel Dänzer 6bde5cf276 ci: Rule out scheduled pipelines in .windows-build-rules
The lack of this broke scheduled pipelines, because they attempted
to create a meson-windows-vs2019 job, which couldn't work (because the
windows_build_vs2019 job doesn't exist in scheduled pipelines).

Fixes: 84c8a35aa2 "CI: Add Windows source dependency map"
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8360>
2021-01-08 09:57:21 +00:00
Daniel Stone 84c8a35aa2 CI: Add Windows source dependency map
Now that we've soaked the Windows build in and it's working well,
restrict it to only running on given pipelines, albeit in a somewhat
surprising way.

Signed-off-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8053>
2020-12-11 17:09:56 +00:00
Juan A. Suarez Romero 72b68bd2a6 ci: add testing for VC4 drivers (Raspberry Pi 3)
This tests OpenGL ES 2.0 CTS suite with VC4 drivers, through baremetal
Raspberry Pi 3 devices.

The devices are connected to a switch that supports Power over Ethernet
(PoE), so the devices can be started/stopped through the switch, and
also to a host that runs the GitLab runner through serial-to-USB cables,
to monitor the devices to know when the testing finishes.

The Raspberries uses a network boot, using NFS and TFTP. For the root
filesystem, they use the one created in the armhf container. For the
kernel/modules case, this is handled externally. Currently it is using
the same kernel/modules that come with the Raspberry Pi OS. In future we
could build them in the same armhf container.

At this moment we only test armhf architecture, as this is the default
one suggested by the Raspberry Pi Foundation. In future we could also
add testing for arm64 architecture.

Finally, for the very rare ocassions where the Raspberry Pi 3 device is
booted but no data is received, it retries the testing for a second
time, powering off and on the device in the process.

v2:
 - Remove commit that exists capture devcoredump (Eric)
 - Squash remaining commits in one (Andres)

v3:
 - Add missing boot timeout check (Juan)

v4:
 - Use locks when running the PoE on/off script (Eric)
 - Use a timeout for serial read (Eric)

v5:
 - Rename stage to "raspberrypi" (Eric)
 - Bump up arm64_test tag (Eric)

v6:
 - Make serial buffer timeout optional (Juan)

Reviewed-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7628>
2020-12-04 19:05:19 +01:00