Commit Graph

243 Commits

Author SHA1 Message Date
Deborah Brouwer
b6435207ab ci: python-test rename artifacts
The current python-test job creates and compresses python related
artifacts for use by future jobs. The artifacts are currently named
`mesa-python-test` which is somewhat misleading because they are not
needed for testing python scripts or libraries.

Rename the artifacts generated by the python-test job to be more
descriptive of their purpose.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32340>
2024-12-13 10:04:03 -08:00
Karol Herbst
80c4ffb61a clover: drop support for nir drivers
People had enough time to migrate to rusticl, also nobody would support
this anyway anymore.

Acked-by: David Heidelberg <david@ixit.cz>
Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27783>
2024-11-08 12:49:23 +00:00
Eric Engestrom
4ad8a5443b ci/build: add workaround for incorrect maybe-uninitialized error
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31890>
2024-11-08 07:09:15 +00:00
Eric Engestrom
f09ae95c10 ci/build: drop "verify after bump to F39" as that did not help
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31890>
2024-11-08 07:09:15 +00:00
Eric Engestrom
322a83f321 ci/build: lower most job's timeout from 30 to 15 min
Out of 5 run during busy hours, all the jobs that once took 5+ min are:
build-for-tests / debian-arm64-asan      6 min
build-only      / debian-s390x           6 min
build-only      / debian-android         7 min
build-only      / debian-clang           8 min
build-for-tests / debian-arm32-asan      8 min
build-only      / debian-vulkan         11 min
build-for-tests / debian-testing        12 min
build-only      / debian-testing-msan   12 min
build-only      / debian-clang-release  13 min
build-only      / alpine-build-testing  14 min
build-for-tests / debian-testing-asan   21 min

The jobs at 10+ min are considered to take long enough that they might
risk crossing the 15 min mark, so let's keep these ones at 30 min and
lower the timeout for everyone else to 15 min.

It's worth pointing out that debian-testing-asan is a build-for-tests
job and as such it blocks build-only jobs from running until it's
finished, which can be a problem for a job that has been seen taking 20+
minutes. We should do something about that, but that's not the topic of
this MR.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31846>
2024-10-30 16:21:16 +00:00
Eric Engestrom
6425b6e3d4 ci/build: handle build timeout ourselves to give more time to nightly LTO builds
GitLab doesn't (yet) support `timeout:` being a variable, so let's put
the real `timeout:` at the max timeout we want, and internally use
another timeout (using coreutils' `timeout`) that we _can_ set using
a variable.

With that, we can set a 1h timeout on nightly LTO builds while keeping
our tighter 30min timeout the rest of the time.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31846>
2024-10-30 16:21:16 +00:00
Eric Engestrom
f5f82fdff5 ci/build: deduplicate meson build command
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31846>
2024-10-30 16:21:16 +00:00
David Heidelberg
72b5e4045b ci/fedora: add workaround for buggy GCC warning triggered by r600
In function 'r600_init_resource_fields',
    inlined from 'r600_buffer_create' at ../src/gallium/drivers/r600/r600_buffer_common.c:561:2:
../src/gallium/drivers/r600/r600_buffer_common.c:121:48: error: array subscript 'struct r600_texture[0]' is partly outside array bounds of 'unsigned char[256]' [-Werror=array-bounds=]
  121 |         if ((res->b.b.target != PIPE_BUFFER && !rtex->surface.is_linear) ||
      |                                                ^~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../src/util/os_memory.h:37

Signed-off-by: David Heidelberg <david@ixit.cz>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31790>
2024-10-22 19:51:34 +00:00
David Heidelberg
3dbbc24cb3 ci/build: debian-build-testing should follow same limit as other jobs
This was temporarily measure to prevent long LTO builds get stuck.

Signed-off-by: David Heidelberg <david@ixit.cz>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31758>
2024-10-21 22:30:09 +00:00
Eric Engestrom
5a65c478dd ci: fix shader-db rules
All the post-merge pipelines are failing to be created with this error:

  'shader-db' job needs 'debian-build-testing' job, but 'debian-build-testing' is not in any previous stage

Like all the other test jobs, shader-db should never run in post-merge
pipelines.

Fixes: 0724b00dad ("ci: run shader-db only when one of the drivers it tests is modified")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31758>
2024-10-21 22:30:08 +00:00
Georg Lehmann
894c4f0c78 meson: remove selinux option
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31656>
2024-10-21 01:14:35 +00:00
Eric Engestrom
0724b00dad ci: run shader-db only when one of the drivers it tests is modified
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31708>
2024-10-18 17:06:14 +00:00
David Heidelberg
afab416be4 ci: enable IPO/LTO only for nightly builds
1. nightly takes a long, the extra few minutes for linking don't matter
2. nightly will run faster, since where it's CPU dependent it's at least +5% perf
3. it may reveal some painful areas of common code or driver.
4. for some jobs (not enabled yet, it generates ugly errors, disable
   there

Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Signed-off-by: David Heidelberg <david@ixit.cz>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28684>
2024-10-10 19:19:54 +00:00
David Heidelberg
2630e3e47a ci/fedora: when doing non-LTO build, we need C_ARGS too
Signed-off-by: David Heidelberg <david@ixit.cz>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28684>
2024-10-10 19:19:54 +00:00
Eric Engestrom
828319a8d5 ci/build: mention the .build-for-tests-jobs exception
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31486>
2024-10-04 11:18:58 +00:00
Eric Engestrom
9ed5bad644 ci/build: move debian-build-testing to priority build-for-tests stage
The shader-db test job uses it.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31486>
2024-10-04 11:18:58 +00:00
Eric Engestrom
b9f0586b8d Revert "ci/build: move debian-clang-release to priority build-for-tests stage"
This reverts commit 480793be98.

I got my wires crossed somehow, I meant to move `debian-build-testing`.
Just reverting the mistake here, and then doing the right change in the next commit.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31486>
2024-10-04 11:18:58 +00:00
Eric Engestrom
816ae4ee67 ci/build: don't wait on the windows build anymore
Windows runners don't have more than one build right now, so there is
no need to wait on the "first one" to be done.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31473>
2024-10-02 07:48:44 +00:00
Valentine Burley
4497ea2a31 ci: Build zink and llvmpipe in debian-no-libdrm
Enable build testing for zink and llvmpipe in the debian-no-libdrm job.
EGL is still excluded due to additional dependencies on libdrm.

Signed-off-by: Valentine Burley <valentine.burley@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31430>
2024-09-28 18:08:27 +00:00
Marek Olšák
09e64e3682 nir/opt_shrink_vectors: shrink memory loads, not just IO
The problem with radeonsi+ACO is that UBO loads from vec4 uniforms using
only 1 component always load all 4 components. This fixes that.

We are only interested in shrinking UBO and SSBO loads, but I added more
intrinsics because why not.

Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29384>
2024-09-26 03:01:38 +00:00
Valentine Burley
ec59d56c52 ci: Add a new build-only job without libdrm
Add a new build job for Turnip/kgsl, to have coverage for building without libdrm.

Signed-off-by: Valentine Burley <valentine.burley@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31182>
2024-09-24 19:22:24 +00:00
Eric Engestrom
480793be98 ci/build: move debian-clang-release to priority build-for-tests stage
`shader-db` uses its output, and with its 8-10min runtime it can't be
ignored and should be counted with the other test jobs.

This makes the critical build jobs a bit slower but makes the overall
pipeline shorter when the test jobs respect the 15min deadline.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31327>
2024-09-24 17:31:54 +00:00
Daniel Stone
51c2707b8e ci: Add pyutils container
Currently, our jobs which only want to run a little bit of python -
python-test and the LAVA jobs - pull the entire x86_64-build image,
which is both massive, and massively unnecessary.

Create a separate image which only carries what we need to run our
Python tests and utilities, and switch python-test to using that.

Signed-off-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31151>
2024-09-12 18:17:52 +00:00
David Rosca
dba3454717 ci: Disable building OMX driver
Acked-by: Leo Liu <leo.liu@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30865>
2024-09-09 18:14:49 +00:00
Daniel Stone
37c22dd403 ci: Bring back shader-db and drop LTO
This was the only thing running shellcheck and pytest. Unsurprisingly,
tons of them regressed whilst it was gone. Since these have now been
moved to other jobs, we can just bring back debian-build-testing in the
non-critical-path stage if we drop LTO, so let's do that as there hasn't
been any movement towards fixing it.

Signed-off-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30978>
2024-09-09 16:27:07 +00:00
Daniel Stone
cc4db4bc36 ci: Run pytest once for both LAVA and bin/ci
There's no need for these to be totally separate, and also for the LAVA
tests to have been disabled for months.

Signed-off-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30978>
2024-09-09 16:27:07 +00:00
Daniel Stone
28aafcfaef ci: Bring back yamllint and shellcheck
These have been disabled for a while, but shouldn't have been.

Signed-off-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30978>
2024-09-09 16:27:07 +00:00
Mike Blumenkrantz
8f6fca89aa meson: delete dri3 build option
this existed for historical reasons, but realistically now it should
be possible to build mesa with dri3 always enabled. additionally,
this check was often used as a substitute for having drm functionality,
which is sort of similar but also not really a direct match

this simplifies a bunch of conditionals and prevents users from footgunnning
themselves into orbit

Reviewed-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30952>
2024-09-04 14:48:17 +00:00
Eric Engestrom
2d10233f2f ci: add virgl & venus to the s390 build
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30954>
2024-08-31 18:55:15 +00:00
Daniel Stone
43d65e0ff0 ci: Make per-build dependencies optional
Sometimes not all of the jobs execute. For instance, Windows build jobs
will not trigger on AMD-only MRs. Use the 'optional' keyword to ignore
jobs which don't exist in our pipeline.

Signed-off-by: Daniel Stone <daniels@collabora.com>
Fixes: 310e3bb026 ("ci: do not start build-only jobs until the critical build-for-tests jobs are done")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30926>
2024-08-29 17:50:16 +00:00
Eric Engestrom
310e3bb026 ci: do not start build-only jobs until the critical build-for-tests jobs are done
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30808>
2024-08-29 14:33:15 +00:00
Eric Engestrom
27fba5ccdf ci: merge build-x86_64 & build-misc
The split doesn't really make sense anymore, and with the next commit,
the build-misc jobs would get delayed until the build-x86_64 jobs are
done, which is undesirable.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30808>
2024-08-29 14:33:15 +00:00
Eric Engestrom
c9e847e51f ci: move build jobs that are used by tests to an earlier stage
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30808>
2024-08-29 14:33:15 +00:00
Eric Engestrom
74f7b370ea ci/build: untangle debian-s390x from debian-ppc64el
The only thing inherited and not overridden was the `BUILDTYPE: debug`.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30800>
2024-08-29 01:03:45 +00:00
Eric Engestrom
c0762e88f3 ci/build: fix ppc64le and s390x jobs rules
I think these were written with the idea of making it "(build rules) &&
(any relevant driver), but instead the driver rules are bypassing the
build rules because
1) it's not an AND, it's an OR; any line that matches applies, and
2) the driver rules are `when: on_success` when these need to be `when:
   manual` like the rest of the build jobs.

Let's stop trying to be special and simply behave like all the other
build jobs.

We can always try making complex rules later, but once we're on a base
that works.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30871>
2024-08-28 00:11:26 +00:00
Eric Engestrom
91c9393da1 ci/build: add honeykrisp (asahi vk) to several builds
Specifically:
- `alpine-build-testing`
- `fedora-release`
- `.meson-arm` (inherited by all the arm build jobs)
- `debian-arm64` (because it overrides the inherited list)
- `debian-vulkan`

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30658>
2024-08-21 15:32:54 +00:00
Eric Engestrom
55dcf66f25 ci/build: drop softpipe from s390x job
Suggested-by: @ajax
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30674>
2024-08-15 14:21:48 +00:00
Eric Engestrom
ef36da7726 ci/build: document @ajax as a stakeholder for s390x
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30674>
2024-08-15 14:21:48 +00:00
Eric Engestrom
a51ae80c19 ci/build: add comment to explain why s390x is useful
And disambiguate with s390 which is dead but is a different thing.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30674>
2024-08-15 14:21:48 +00:00
Eric Engestrom
1f34eb527c ci/build: reuse alpine llvm version to make sure it stays coherent
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30657>
2024-08-15 02:17:44 +00:00
Faith Ekstrand
65f5364e47 ci: Add NVK to debian-arm64-build-test
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30618>
2024-08-14 03:45:09 +00:00
David Heidelberg
6d09671b67 ci/alpine: enable ORCJIT
Recommended for LLVM 18+, let's test it on Alpine builds.

Reviewed-by: Eric Engestrom <eric@igalia.com>
Signed-off-by: David Heidelberg <david@ixit.cz>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30482>
2024-08-10 15:13:33 +09:00
David Heidelberg
09f8df82c8 ci/alpine: build test with LLVM 18
Reviewed-by: Eric Engestrom <eric@igalia.com>
Signed-off-by: David Heidelberg <david@ixit.cz>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30482>
2024-08-10 15:13:33 +09:00
Eric Engestrom
89863a050b meson,ci: remove dead kmsro option in gallium-drivers
Fixes: 70813c1c13 ("meson: Remove kmsro from gallium-drivers")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30463>
2024-08-01 14:16:28 +00:00
Eric Engestrom
c3b25dd357 ci: remove llvmpipe in the job that disables llvm
Instead of removing it from all the arm build jobs and only adding it
back on arm64.

Fixes: 35cb0c350e ("ci: replace gallium-drivers=swrast with gallium-drivers=llvmpipe,softpipe")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30366>
2024-07-28 06:34:39 +00:00
Eric Engestrom
35cb0c350e ci: replace gallium-drivers=swrast with gallium-drivers=llvmpipe,softpipe
Except debian-arm32 which disables llvm, so it can't get llvmpipe.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27607>
2024-07-18 17:48:20 +00:00
Eric Engestrom
70dfe9c6d1 ci: include rusticl in the arm64 build
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29851>
2024-06-27 17:49:02 +00:00
Eric Engestrom
06f7407172 ci: disable debian-build-testing until it can be fixed
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29439>
2024-05-28 19:28:08 +00:00
David Heidelberg
312b50da5c ci: do not build Nine in debian-build-testing
Since we started testing on machines, it's already in debian-testing,
and we want to have these builds fast.

Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28648>
2024-05-24 21:39:57 +00:00
Eric Engestrom
34844deb3e ci: fix section_end in debian-build-testing
Fixes: d428cc1116 ("ci/debian-build-testing: drop extra nesting section")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29170>
2024-05-14 11:46:42 +00:00