summaryrefslogtreecommitdiff
path: root/.gitlab-ci
AgeCommit message (Collapse)AuthorFilesLines
2023-03-01ci: implement unified sectionsDavid Heidelberg15-46/+167
in after_script, variable $SCRIPTS_DIR is lost Acked-by: Daniel Stone <daniels@collabora.com> Signed-off-by: David Heidelberg <david.heidelberg@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20272>
2023-03-01ci: alpine: install bash and coreutils for date -dDavid Heidelberg2-1/+3
bash is needed for consistency. coreutils is needed for `date -d`. Signed-off-by: David Heidelberg <david.heidelberg@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20272>
2023-03-01ci/alpine: keep the curl inside the imageDavid Heidelberg2-2/+2
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20272>
2023-02-28ci: Reuse MESA_CI_PERFORMANCE_ENABLED in performance-rulesGuilherme Gallo1-1/+1
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21492>
2023-02-28ci: Use workflow to make CI aware of performance jobsGuilherme Gallo1-1/+4
With the workflow keyword, we can have more control over how pipelines are created. One of the features is to set a variable for the entire pipeline depending on the rule. These variables would be available for all jobs manifest and can be used inside job rules, for example. We can use that to set a variable to enable performance jobs in the pipeline, both at the YAML and script levels. Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21492>
2023-02-28ci: Use release builds in perf jobsGuilherme Gallo1-0/+23
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21492>
2023-02-28ci: Create debian-arm64-release jobGuilherme Gallo1-0/+9
To be able to upload the mesa's release build for arm64 to S3 and use it in performance jobs. Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21492>
2023-02-28ci: Upload debian-release artifact to S3Guilherme Gallo1-0/+2
This will enable performance jobs to use release versions for performance tracking, since they download the artifacts from S3. We were using debugoptimized versions, which are not the most performant ones. Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21492>
2023-02-25ci: uprev virglrendererRyan Neph2-3/+3
Update virglrenderer to bring in venus protocol fixes described in https://gitlab.freedesktop.org/olv/venus-protocol/-/issues/4. Signed-off-by: Ryan Neph <ryanneph@google.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21496>
2023-02-24ci: Fix stage of etnaviv manual runs.Emma Anholt1-1/+1
Fixes: f6c06ef2f66a ("ci: Add manual rules variations to disable irrelevant driver jobs.") Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com> Acked-by: Eric Engestrom <eric@igalia.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21366>
2023-02-20ci: revert download of git cache to the wgetDavid Heidelberg1-3/+3
At this point of CI there is not curl available. Fixes: 796686af1b37 ("ci: migrate from wget to curl") Signed-off-by: David Heidelberg <david.heidelberg@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21414>
2023-02-20ci: uprev vkd3d-protonSamuel Pitoiset2-2/+2
This adds test coverage for VK_EXT_image_sliced_view_of_3d. Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21384>
2023-02-18hgl: removeX5121-1/+0
Use EGL and glvnd instead on Haiku platform. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21079>
2023-02-17ci: bump tags of deqp imagesEric Engestrom1-3/+3
Signed-off-by: Eric Engestrom <eric@engestrom.ch> Reviewed-by: David Heidelberg <david.heidelberg@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21392>
2023-02-17ci: fix grouping of image tagsEric Engestrom1-1/+1
Signed-off-by: Eric Engestrom <eric@engestrom.ch> Reviewed-by: David Heidelberg <david.heidelberg@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21392>
2023-02-17ci: remove no-op sedEric Engestrom1-3/+0
This is a duplicate from the first patch applied above. Signed-off-by: Eric Engestrom <eric@igalia.com> Reviewed-by: David Heidelberg <david.heidelberg@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21392>
2023-02-17ci: simplify adding & removing deqp patchesEric Engestrom1-10/+16
Instead of everyone having to copy the curl command from somewhere else when a new deqp version needs new patches; now all they need to do is paste the commit hash in the array. Signed-off-by: Eric Engestrom <eric@igalia.com> Reviewed-by: David Heidelberg <david.heidelberg@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21392>
2023-02-16ci: Add a manual full and 1/10th hasvk CTS runs.Emma Anholt2-1/+19
These are manual since they're on a runner in my basement that sometimes can go down, but it'll be nice to have this for throwing the rare hasvk MR at. Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21228>
2023-02-16ci/lava: Fix LAVA logs issues for Collabora jobsGuilherme Gallo2-2/+33
Since the Collabora LAVA update related to the downtime from https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21119, the LAVA logs from Collabora continued to use the hack for older versions which digested some control characters, such as carriage returns acting as newlines, which made it necessary to recover from split lines to make Gitlab sections work in job logs as expected. Collabora's LAVA instance now gives a more raw log output. It is necessary to pay attention to newlines at the end of each log message, which may cause double newlines when printed with Python built-in `print` function. I decided to remove the repeating `\n` from the received log messages to make them transparent to LogFollower users. Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8242 Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21325>
2023-02-16ci/lava: Add LavaFarm class to find LAVA farm from runner tagGuilherme Gallo5-1/+81
LavaFarm is a class created to handle the different types of LAVA farms and their tags in Mesa CI. Since specific jobs may require different types of LAVA farms to run on, it is essential to determine which farm the runner is running on to configure the job correctly. LavaFarm provides an easy-to-use interface for checking the runner tag and returning the corresponding LAVA farm, making it simple for Mesa CI to configure jobs appropriately. By adding tests for LavaFarm, the team can ensure that this class is functioning as expected, allowing for the smooth execution of Mesa CI jobs on the correct LAVA farm. The tests ensure that get_lava_farm returns the correct LavaFarm value when given invalid or valid tags and that it returns LavaFarm.UNKNOWN when no tag is provided. The tests use Hypothesis strategies to generate various labels and farms for testing. Example of use: ``` from lava.utils.lava_farm import LavaFarm, get_lava_farm lava_farm = get_lava_farm() if lava_farm == LavaFarm.DUMMY: # Configure the job for the DUMMY farm ... elif lava_farm == LavaFarm.COLLABORA: # Configure the job for the COLLABORA farm ... elif lava_farm == LavaFarm.KERNELCI: # Configure the job for the KERNELCI farm ... else: # Handle the case where the LAVA farm is unknown ... ``` Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21325>
2023-02-16ci/lava: Move LAVA dependencies to pipGuilherme Gallo5-6/+16
Use requirements.txt and requirements-test.txt to organize better Python dependencies related to LAVA. Now LAVA tooling can use recent and fixed library versions. And test-related libs will not trigger container rebuilding anymore. Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21325>
2023-02-14ci: Enable the hasvk Vulkan driver in the fedora-release jobMichel Dänzer1-1/+1
To match the Fedora packaging. While at it, sort the Vulkan drivers alphabetically. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21236>
2023-02-14ci: Enable i915 Gallium driver in fedora-release jobMichel Dänzer1-1/+1
To match the Fedora packaging. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21236>
2023-02-14ci: Re-enable intel-clc in fedora-release jobMichel Dänzer1-2/+1
Fedora 36 has new enough llvm-spirv-translator. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21236>
2023-02-14ci: Update Fedora image to 36Michel Dänzer2-3/+3
Fedora 34 is EOL. With Fedora 37, ccache hangs in a futex syscall in CI for some reason, so let's go with 36 for now. v2: * No need to add -Wno-error=stringop-overflow anymore. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21236>
2023-02-14zink: set ZINK_DESCRIPTORS=db for radv jobsMike Blumenkrantz1-0/+1
there's no testing for this in ci, and radv has a unique heap/memory setup which catches allocation regressions Reviewed-by: Martin Roukala <martin.roukala@mupuf.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20968>
2023-02-13ci/mingw: drop useless -Wno-error flagsMichel Zou1-7/+0
Will prevent merging incorrect code like in #8260 Reviewed-by: Yonggang Luo <luoyonggang@gmail.com> Acked-by: David Heidelberg <david.heidelberg@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21244>
2023-02-11ci/windows: Update LLVM to 15Jesse Natalie2-10/+4
Reviewed-by: Karol Herbst <kherbst@redhat.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21168>
2023-02-07ci/android: add missing line terminator at the end of the fileEric Engestrom1-1/+1
Signed-off-by: Eric Engestrom <eric@igalia.com> Reviewed-by: Helen Koike <helen.koike@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21157>
2023-02-07ci/android: move virgl-specific so lib name to virgl-defined variablesEric Engestrom1-2/+2
Signed-off-by: Eric Engestrom <eric@igalia.com> Reviewed-by: Helen Koike <helen.koike@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21157>
2023-02-07ci/android: move virgl-specific deqp suite to virgl-defined variablesEric Engestrom1-3/+2
Signed-off-by: Eric Engestrom <eric@igalia.com> Reviewed-by: Helen Koike <helen.koike@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21157>
2023-02-07ci/android: move virgl-specific fails/flakes/skips lists to virgl-defined ↵Eric Engestrom1-1/+0
variables Signed-off-by: Eric Engestrom <eric@igalia.com> Reviewed-by: Helen Koike <helen.koike@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21157>
2023-02-07ci/android: move virgl-specific gpu_mode to virgl-defined variablesEric Engestrom1-1/+1
Signed-off-by: Eric Engestrom <eric@igalia.com> Reviewed-by: Helen Koike <helen.koike@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21157>
2023-02-07ci/android: move common config to common jobEric Engestrom1-0/+5
Signed-off-by: Eric Engestrom <eric@igalia.com> Reviewed-by: Helen Koike <helen.koike@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21157>
2023-02-03ci: uprev piglit (etag md5 checksumming support)David Heidelberg2-4/+4
Support for FDO etag http header. Includes line-smooth-stipple test improvements. Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com> Acked-by: Guilherme Gallo <guilherme.gallo@collabora.com> Signed-off-by: David Heidelberg <david.heidelberg@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20875>
2023-02-02zink/ci: allow running manual jobs again on RADVMartin Roukala (né Peres)1-3/+3
Fixes: f6c06ef2f66a ("ci: Add manual rules variations to disable.") Reviewed-by: Emma Anholt <emma@anholt.net> Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21036>
2023-02-02ci/core-manual-rules: enclose the whole condition in quotesMartin Roukala (né Peres)1-3/+3
Quoting a condition is apparently an effective way of working around YAML parsing weirdness. However, the quotes need to surround the whole expression, not just parts of it. Fixes: f6c06ef2f66a ("ci: Add manual rules variations to disable.") Suggested-by: Michel Dänzer <mdaenzer@redhat.com> Reviewed-by: Eric Engestrom <eric@igalia.com> Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21036>
2023-02-01ci: Fix perf job condition.Emma Anholt1-1/+1
We were supposed to be checking that the job had "performance" in the name, not that the user (which we already checked is marge) has "performance" in their name. Fixes: f6c06ef2f66a ("ci: Add manual rules variations to disable irrelevant driver jobs.") Reviewed-by: David Heidelberg <david.heidelberg@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21002>
2023-02-01ci: Fix perf jobs blocking Marge pipelines.Emma Anholt1-0/+3
They got accidentally disabled entirely, so they didn't block merge, but once they re-enable then they'll block us again. The problem was that I moved allow_failure to a .performance-rules section, but we only ever inherit the rules from that location, not the rest of yml. This is basically a revert of 67547a04b602 ("ci: Move the performance jobs' allow_failure:true to the gl rules."), though I still keep the allow_failure in a more common location with comments, since perf jobs are a huge trap. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21002>
2023-02-01meson: turn android-libbacktrace into a feature optionEric Engestrom1-1/+1
Signed-off-by: Eric Engestrom <eric@igalia.com> Reviewed-by: Dylan Baker <dylan@pnwbakers.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20915>
2023-01-31ci: fix directory existence racing in parallel test executionRyan Neph1-1/+1
meson tests sharing a binary (and deviating in their env/args) will produce temporary logs to the same directory, which is assumed to exist only for the duration of a single test. This is problematic when running tests in parallel, as one test may remove the directory before the other(s) finish, causing a test flake. This appends the each test's pid to the output directory to enforce uniqueness and avoid the race. Signed-off-by: Ryan Neph <ryanneph@google.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20779>
2023-01-31ci: Run our manual jobs during the nightly scheduled run.Emma Anholt1-3/+1
We have a common pain point with fractional CTS coverage, where the test list changes on a CTS uprev or board load rebalancing, so you get a different subset of tests run. The dev updates the list of xfails (a pain), but also we end up with xfails left behind that aren't tested any more and don't reflect reality. For some drivers (tu, freedreno, zink-anv) we have manual jobs available for curious devs to look at the current state of the CTS, but without anyone having to keep the full xfails updated during uprevs, you don't necessarily know what to do with the results you get on your MR. So, let's introduce nightly testing for the tests that aren't guaranteed green by Marge. With that, Someone (possibly me? sigh) can review the nightly results and push up updates for full-run xfails so everyone can be on the same page other than a day or so of delay. We also have some hope for automated tooling to do this thanks to what Collabora has been working on for automated CI uprev MR generation. Reviewed-by: Martin Roukala <martin.roukala@mupuf.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20950>
2023-01-31ci/zink: Move the zink-anv-tgl manual full run to custom manual deps.Emma Anholt1-0/+23
Follow-up to !17445, since this run had been added while that MR was outstanding. Now it shouldn't show up in unrelated pipelines. Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com> Reviewed-by: Martin Roukala <martin.roukala@mupuf.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20950>
2023-01-30rusticl: fix build error with valgrind being enabledKarol Herbst2-3/+3
This bumps the meson requierement to 1.0 because it requires https://github.com/mesonbuild/meson/pull/11024 Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7688 Fixes: 20c90fed5a0 ("rusticl: added") Signed-off-by: Karol Herbst <kherbst@redhat.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19778>
2023-01-27ci/debian/x86_test-vk: drop an outdated dependencyMartin Roukala (né Peres)1-4/+0
This was used by the tracing jobs, which we are not running on Mesa anymore. Reviewed-by: David Heidelberg <david.heidelberg@collabora.com> Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20956>
2023-01-27ci: uprev virglrendererCorentin Noël2-4/+4
This change contains a memory unmap fix and makes the render server mandatory. Signed-off-by: Corentin Noël <corentin.noel@collabora.com> Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20938>
2023-01-27CI/windows: Apply CI_FDO_CONCURRENT to piglit tooJesse Natalie1-1/+7
Reviewed-by: Daniel Stone <daniels@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20924>
2023-01-27CI/windows: Don't limit deqp-runner to 4 jobsJesse Natalie1-1/+6
If FDO_CI_CONCURRENT is set, use that, otherwise let deqp-runner choose concurrency based on system CPU cores. Reviewed-by: Daniel Stone <daniels@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20924>
2023-01-26ci: Add manual rules variations to disable irrelevant driver jobs.Emma Anholt1-44/+192
If you're only affecting one or a couple of drivers, it would be nice if your pipeline buttons on the web UI weren't full of manual run buttons for all the other drivers. This is a bunch of duplicated lines, but less than it could have been now that we have !references. In some of these cases (i915g, nouveau, etnaviv), we have no non-manual jobs for those drivers, so I could have just rewritten the original "driver-rules" to "driver-manual-rules". I decided to keep things consistent between drivers, though, because this is all esoteric enough to readers already without making different drivers' rules look different. Fixes: #4891 Acked-by: David Heidelberg <david.heidelberg@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17445>
2023-01-26ci: Move the performance jobs' allow_failure:true to the gl rules.Emma Anholt1-0/+3
This helps clarify what's going on with these magic manual jobs. Acked-by: David Heidelberg <david.heidelberg@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17445>