summaryrefslogtreecommitdiff
path: root/.gitlab-ci
AgeCommit message (Collapse)AuthorFilesLines
2023-03-14ci: disable weston session timeoutEric Engestrom1-1/+1
-iN, --idle-time=N Set the idle timeout to N seconds. The default timeout is 300 seconds. When there has not been any user input for the idle timeout, Weston enters an inactive mode. The screen fades to black, monitors may switch off, and the shell may lock the session. A value of 0 effectively disables the timeout. We don't want the session to get locked and monitors to switch off while tests are running, as many of them depend on swapping buffers. Cc: mesa-stable Signed-off-by: Eric Engestrom <eric@igalia.com> Reviewed-by: Daniel Stone <daniels@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21877>
2023-03-12ci/clover: disable the jobsDavid Heidelberg2-2/+5
Prepare for Clover removal; don't waste resources on Clover anymore. Acked-by: Daniel Stone <daniels@collabora.com> Reviewed-by: Eric Engestrom <eric@igalia.com> Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io> Signed-off-by: David Heidelberg <david.heidelberg@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21865>
2023-03-12CI: Disable mingw jobDaniel Stone1-1/+2
mingw just hangs somewhere in Meson, with a totally unclear cause, when trying to run winepath: Program winepath found: YES (/usr/bin/winepath) Running command: /usr/bin/winepath -w /builds/mesa/mesa/_build/src/util/process_test.exe [... hangs forever ...] root 27 0.0 0.0 4044 3232 ? S 17:10 0:00 bash .gitlab-ci/meson/build.sh root 35 0.0 0.0 2811920 55800 ? Sl 17:10 0:00 Xvfb :0 -screen 0 1024x768x16 root 40 0.1 0.0 45484 40740 ? S 17:10 0:00 /usr/bin/python3 /usr/local/bin/meson setup _build --native-file=native.file --wrap-mode=nofallback --force-fallback-for perfetto -D prefix=/builds/mesa/mesa/install -D libdir=lib -D buildtype=debug -D build-tests=true -D c_args=-Wno-error=format -Wno-error=unused-function -Wno-error=unused-variable -Wno-error=unused-but-set-variable -Wno-error=sign-compare -Wno-error=narrowing -D cpp_args=-Wno-error=format -Wno-error=unused-function -Wno-error=unused-variable -Wno-error=unused-but-set-variable -Wno-error=sign-compare -Wno-error=narrowing -D enable-glcpp-tests=false -D libunwind=disabled -D gallium-opencl=icd -D gallium-rusticl=false -D opencl-spirv=true -D microsoft-clc=enabled -D static-libclc=all -D llvm=enabled -D gallium-va=enabled -D video-codecs=h264dec,h264enc,h265dec,h265enc,vc1dec -D gallium-drivers=swrast,d3d12,zink -D vulkan-drivers=swrast,amd,microsoft-experimental -D video-codecs=h264dec,h264enc,h265dec,h265enc,vc1dec -D werror=true -D min-windows-version=7 -D spirv-to-dxil=true -D gles1=enabled -D gles2=enabled -D osmesa=true -D cpp_rtti=true -D shared-glapi=enabled -D zlib=enabled --cross-file=.gitlab-ci/x86_64-w64-mingw32 root 1366 0.0 0.0 0 0 ? Z 17:10 0:00 [winepath.exe] <defunct> root 1375 0.0 0.0 8544 7188 ? Ss 17:10 0:00 /usr/lib/wine/wineserver64 -p0 root 1381 0.0 0.0 2018764 11080 ? Ssl 17:10 0:00 C:\windows\system32\services.exe root 1384 0.0 0.0 1821312 10044 ? Sl 17:10 0:00 C:\windows\system32\plugplay.exe root 1386 0.0 0.0 1856096 23016 ? Sl 17:10 0:00 C:\windows\system32\explorer.exe /desktop root 1393 0.0 0.0 1822712 11000 ? Sl 17:10 0:00 C:\windows\system32\winedevice.exe root 1402 0.0 0.0 1778832 21456 ? S 17:10 0:00 winedbg --auto 26 80 root 1405 0.0 0.0 1891516 12192 ? Sl 17:11 0:00 C:\windows\system32\winedevice.exe Disable it until we can figure it out. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21864>
2023-03-12ci: build Wayland support for the amd64David Heidelberg1-1/+1
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21786>
2023-03-11ci/lava: every LAVA job doesn't want to run gles2 deqp, drop itDavid Heidelberg1-1/+0
Very annoying when adding new job and not getting failure due to missing `DEQP_VER: ` Signed-off-by: David Heidelberg <david.heidelberg@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21702>
2023-03-11ci: Actually run Piglit on LAVADaniel Stone1-0/+5
At some point in a refactoring long ago, our 'Piglit' runs on arm64 started actually being dEQP-GLES2 runs. Oh dear. Surprisingly, there are a number of expectation changes; added every fail I saw from a long overnight stress test. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21851>
2023-03-10ci/baremetal: Wrap artifact download curl with xtraceGuilherme Gallo1-2/+1
Setting `set -x`can be useful to known via trace which URL baremetal used to download artifacts. Today its only printed the command with the environment variables. Also, this commit fixes multiple `section_end` for the related Gitlab sections. Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21804>
2023-03-10ci: Fix release build use for performance jobsGuilherme Gallo3-19/+22
This commit ensures that we are using mesa release builds in performance jobs. To achieve that, some modifications were made on top of https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21492. - Append the `BUILDTYPE` variable into the S3 artifact name (MINIO_ARTIFACT_NAME environment variable) to allow for better artifact management. - The ./artifacts directory has been added to the list of artifact directories for build-common. This ensures that the debian-release and debian-arm64-release jobs are the only ones necessary for running performance jobs. These jobs only produce artifacts via prepare-artifacts.sh when we are under performance workflow. - Make lava-submit.sh behave similar to baremetal jobs regarding MINIO_ARTIFACT_NAME variable. For example, users can now easily differentiate between mesa-arm64.tar.zstd and mesa-arm64-release.tar.zstd by looking inside the `Downloading artifacts from s3` Gitlab section. Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21804>
2023-03-10ci/android: Use a more aggressive timeout for the jobDaniel Stone1-0/+1
This job sometimes - very, very, rarely - fails to start Cuttlefish, the Android VM environment. Given that we don't have any structural monitoring and restarting (unlike LAVA/BM/B2C) for this, just stick a more aggressive timeout on the job, so it'll be retried if it fails to start. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21837>
2023-03-09ci/weston: add background PIDDavid Heidelberg1-0/+1
Needed for process tracking for LAVA. Reviewed-by: Erico Nunes <nunes.erico@gmail.com> Reviewed-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/21711>
2023-03-09ci/weston: before testing, verify that XWayland is really runningDavid Heidelberg1-4/+10
When Xorg already running, Weston XWayland should pick DISPLAY=:1 Reviewed-by: Erico Nunes <nunes.erico@gmail.com> Reviewed-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/21711>
2023-03-09ci/lava: implement the priorityDavid Heidelberg2-2/+10
Before: kernelci 38; Mesa3D 75 Priority now: - 38 ‒ kernelci - 40 ‒ after merge and performance - 50 ‒ user runs - 75 ‒ marge-bot (MUST be prioritized) Reviewed-by: Guilherme Gallo <guilherme.gallo@collabora.com> Reviewed-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/21812>
2023-03-06ci: Handle carriage return characters in LAVA logsGuilherme Gallo2-3/+72
This commit updates LogFollower class to handle carriage return characters in LAVA logs. LAVA treats carriage return characters as a line break, so each carriage return in an output console is mapped to a console line in LAVA. The updated LogFollower class now merges lines that end with a carriage return character into a single line, making the Gitlab sections work correctly. In addition, the `remove_trailing_whitespace` method has been updated to remove trailing `\r\n` characters from log lines. The `test_lava_log_merge_carriage_return_lines` test function has also been updated to test for carriage returns at the end of the previous line. Closes: #8242 Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21614>
2023-03-06ci: do not exit when an error happens inside the sectionDavid Heidelberg1-7/+4
Let CI handle that case as it did before. The only thing which needs to be done by the error() function is to get out of the section. Fixes the issue where a job is not saving artifacts after failure. Fixes: 4cc0cec47357 ("ci: implement unified sections") 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/21715>
2023-03-06ci: include setup test environment script in the output artifactsSergi Blanch Torne1-0/+1
In mesa/mesa !20272, some bash functions introduce a standard wait to setup gitlab ci sections, but the file collecting them needed to be included in the artifacts exported by mesa. Other projects that use tests like deqp-runner need to load these bash functions. Signed-off-by: Sergi Blanch Torne <sergi.blanch.torne@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21680>
2023-03-04ci: deqp-runner: drop already unused functionDavid Heidelberg1-7/+0
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21668>
2023-03-04ci: make meson build and test uncollapsedDavid Heidelberg1-2/+2
Fixes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8419 Signed-off-by: David Heidelberg <david.heidelberg@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21668>
2023-03-03ci: uprev CTS to 1.3.5.0Samuel Pitoiset5-16/+376
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com> Acked-by: Eric Engestrom <eric@igalia.com> Reviewed-by: Emma Anholt <emma@anholt.net> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21390>
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>