summaryrefslogtreecommitdiffstats
path: root/.gitlab-ci
Commit message (Collapse)AuthorAgeFilesLines
* gitlab-ci/freedreno/a6xx: remove most of the flakesRob Clark2019-11-221-19/+4
| | | | | | | xfb + lines/points still flakes too frequently (and the problem isn't even related to xfb), but we can add the rest back into this mix now. Signed-off-by: Rob Clark <[email protected]>
* gitlab-ci/deqp: generate junit resultsRob Clark2019-11-221-0/+27
| | | | | Signed-off-by: Rob Clark <[email protected]> Acked-by: Eric Engestrom <[email protected]>
* gitlab-ci/deqp: generate xml results for fails/flakesRob Clark2019-11-221-0/+40
| | | | | | | | | | | | | Extract .qpa for the individual unexpected results and flakes, and translate to xml, preserved with the artifacts. This allows easy browsing of the test logs for fails/flakes, for easier debugging. The # of logs to preserve is capped at 50 to avoid saving 100s of megabytes of logs in case someone pushes a change that breaks everything. Signed-off-by: Rob Clark <[email protected]> Acked-by: Eric Engestrom <[email protected]>
* gitlab-ci: bump arm test containerRob Clark2019-11-221-0/+3
| | | | | | | To pick up updated cts_runner and netcat for the flake reporting. Signed-off-by: Rob Clark <[email protected]> Acked-by: Eric Engestrom <[email protected]>
* gitlab-ci/deqp: detect and report flakesRob Clark2019-11-222-9/+73
| | | | | | | | | | | | | If there are a small number of fails, re-run to determine if they are flakes, and optionally (if `$FLAKES_CHANNEL` configured) report the flakes. This way flakes don't interfere with developers working on other drivers, but get logged so that the developers working on the flaking driver can monitor the situation. Signed-off-by: Rob Clark <[email protected]> Acked-by: Eric Engestrom <[email protected]>
* gitlab-ci/deqp: preserve caselists for blocks with failsRob Clark2019-11-222-3/+5
| | | | | | | | | | Bump cts_runner to pick up the change to preserve .qpa and caselist .txt files for blocks of tests that contain fails, and preserve the caselist files. To reproduce fails that depend on order of running tests, these are useful. Signed-off-by: Rob Clark <[email protected]> Acked-by: Eric Engestrom <[email protected]>
* gitlab-ci/deqp: preserve full list of unexpected resultsRob Clark2019-11-221-3/+5
| | | | | | | | | | | The log only shows the first 50, but preserve the full list for easier browsing. (Also move return of exit code to end which makes later patches in the series easier) Signed-off-by: Rob Clark <[email protected]> Acked-by: Eric Engestrom <[email protected]>
* gitlab-ci: update deqp build so we can generate xmlRob Clark2019-11-221-1/+11
| | | | | | | | | | | | | | | | Update the deqp build to preserve testlog-to-xml and stylesheets, so deqp runner can extract .qpa for failed/flaked tests, and convert to xml. With this, will be able to browse output from failed tests directly from the artifacts. The main motiviation is to give better visibility into what happens with flaked tests, when it is difficult/impossible to reproduce the flake locally (ie. when it happens once out of N million tests). But this should also make it easier to debug regressions that a MR triggers, especially when it is on hw that you don't have. Signed-off-by: Rob Clark <[email protected]> Acked-by: Eric Engestrom <[email protected]>
* gitlab-ci: move building piglit into a separate scriptSamuel Pitoiset2019-11-212-10/+14
| | | | | Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Michel Dänzer <[email protected]>
* gitlab-ci: Fix dir name for VK-GL-CTS sourcesTomeu Vizoso2019-11-201-1/+1
| | | | | Signed-off-by: Tomeu Vizoso <[email protected]> Acked-by: Alyssa Rosenzweig <[email protected]>
* gitlab-ci: update for arb_shading_language_includeTimothy Arceri2019-11-202-15/+5
|
* gitlab-ci: bump piglit checkout commitTimothy Arceri2019-11-201-1/+1
|
* gitlab-ci: Remove limit on kernel loggingTomeu Vizoso2019-11-191-1/+0
| | | | | | | | | We don't seem to fault any more when running dEQP GLES2, and we don't scrape serial output any more anyway so no problems should be caused by that. Signed-off-by: Tomeu Vizoso <[email protected]> Reviewed-by: Alyssa Rosenzweig <[email protected]>
* mesa: enable EXT_direct_state_accessPierre-Eric Pelloux-Prayer2019-11-191-17/+2
| | | | | | | | | | Always enabled; this doesn't require any driver work, it's just core mesa bits. quick_gl.txt is also updated because previously piglit ext_dsa tests were skipped. Reviewed-by: Marek Olšák <[email protected]>
* gitlab-ci: Organize images using new REPO_SUFFIX templates featureMichel Dänzer2019-11-151-10/+13
| | | | | | | | | | | | | | | Two benefits: Most docker image related environment variables can now be defined in the jobs where they're used instead of globally. The DEBIAN_TAG values are propagated to other jobs via YAML anchors. Images on https://gitlab.freedesktop.org/mesa/mesa/container_registry are now organized in separate repositories with a suffix matching the name of the job which makes sure the image is there. Acked-by: Eric Anholt <[email protected]> Reviewed-by: Eric Engestrom <[email protected]>
* gitlab-ci: Rename container install scripts to match job names (better)Michel Dänzer2019-11-157-2/+1
| | | | | | | | | | | | Cleans up .gitlab-ci/ a little, and allows using a single DEBIAN_EXEC line for all container jobs. v2: * Use lava_arm.sh instead of arm_lava.sh for consistency with v2 of the previous change Reviewed-by: Eric Anholt <[email protected]> # v1 Reviewed-by: Eric Engestrom <[email protected]>
* gitlab-ci: Use functional container job namesMichel Dänzer2019-11-151-6/+6
| | | | | | | | | | | This makes it easier to tell which job is which in a pipeline. v2: * Use lava_arm{64,hf} instead of arm{64,hf}_lava to keep these jobs together in pipeline overviews Reviewed-by: Eric Anholt <[email protected]> # v1 Reviewed-by: Eric Engestrom <[email protected]>
* gitlab-ci: Document that ci-templates refs must be in syncMichel Dänzer2019-11-151-0/+1
| | | | | | | | | | | Otherwise there can be weird breakage. (Removing the include from .gitlab-ci/lava-gitlab-ci.yml doesn't seem possible unfortunately: https://gitlab.freedesktop.org/daenzer/mesa/pipelines/79458) Reviewed-by: Eric Anholt <[email protected]> Reviewed-by: Eric Engestrom <[email protected]>
* panfrost: Multiply offset_units by 2Tomeu Vizoso2019-11-152-4/+0
| | | | | | | | | | Per the spec, the units passed to glPolygonOffset are to be multiplied by an implementation-defined constant. On Midgard, this constant seems to be 2. Signed-off-by: Tomeu Vizoso <[email protected]> Reviewed-by: Alyssa Rosenzweig <[email protected]>
* gitlab-ci: update Piglit commit, update skipsTapani Pälli2019-11-153-5/+7
| | | | | Signed-off-by: Tapani Pälli <[email protected]> Reviewed-by: Michel Dänzer <[email protected]>
* gitlab-ci: auto-cancel CI runs when a newer commit is pushed to the same branchEric Engestrom2019-11-141-0/+2
| | | | | | | Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Eric Anholt <[email protected]> Acked-by: Alyssa Rosenzweig <[email protected]> Reviewed-by: Michel Dänzer <[email protected]>
* ci: Expand the freedreno blit skip regex to cover more cases.Eric Anholt2019-11-131-1/+1
| | | | | | | | We've had flaps on at least: - r16f_to_r16f - r16i_to_rg16i Reviewed-by: Daniel Stone <[email protected]>
* pan/midgard: Add blend shader selection bits for MRTAlyssa Rosenzweig2019-11-131-6/+0
| | | | | | | | | | | | | This is less complicated than previously thought. Note we have no way of specifying the work register count for blend shaders; it must be strictly less than the work register count of the corresponding fragment shader (which is fine since we force the fragment shader to report a count of 16 with a blend shader as a major hack until we get register pressure down for blend shaders). TODO: pandecode the flags. Signed-off-by: Alyssa Rosenzweig <[email protected]>
* gitlab-ci: build a specific libdrm version for ARM64Samuel Pitoiset2019-11-131-1/+8
| | | | | | | RADV requires libdrm-2.4.100 but the distrib package is too old. Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Eric Engestrom <[email protected]>
* ci: Disable flappy blit tests on a630.Eric Anholt2019-11-121-0/+4
| | | | | | | These have shown up with the new CTS runner, which has changed test ordering. Reviewed-by: Daniel Stone <[email protected]>
* ci: Remove old commented copy of freedreno artifacts.Eric Anholt2019-11-121-1/+0
| | | | This path was from an older version of freedreno CI.
* ci: Enable all of GLES3/3.1 testing for softpipe.Eric Anholt2019-11-122-0/+415
| | | | | | | | Now that we're not using so many job slots, it's easy to get these jobs run in a reasonable amount of time (gles3 took 10 minutes for 4 cores, and gles31 was 15 minutes for 4 cores). Acked-by: Michel Dänzer <[email protected]>
* ci: Use cts_runner for our dEQP runs.Eric Anholt2019-11-125-79/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This runner is a little project by Bas, written in C++, that spawns threads that then loop grabbing chunks of the (randomly shuffled but consistently so) test list and hand it to a dEQP instance. As the remaining list gets shorter, so do the chunks, so hopefully the threads all complete effectively at once. It also handles restarting after crashes automatically. I've extended the runner a bit to do what I was doing in the bash scripts before, like the skip list and expected failures handling. This project should also be a good baseline for extending to handle retesting of intermittent failures. By switching to it, we can have the swrast tests just take up one job slot on the shared runners and keep their allotment of CPUs busy, instead of taking up job slots with single-threaded dEQP jobs. It will also let us (eventually, once I reprovision) switch the freedreno runners over to threading within the job instead of running concurrent jobs, so that memory scribbles in one pipeline don't affect unrelated pipelines, and I can experiment with their parallelism (particularly on a306 where we are frequently backed up) without trashing other people's jobs. What we lose in this process is per-test output in the log (not a big loss, I think, since we summarize fails at the end and reducing log length keeps chrome from choking on our logs so badly). We also drop the renderer sanity checking, since it's not saving qpa files for us to go poke through. Given that all the drivers involved have fail lists, if we got the wrong renderer somehow, we'd get a job failure anyway. v2: Rebase on droppong of the autoscale cluster and the arm64 build/test split. Use a script to deduplicate the cts-runner build. v3: Rebase on the amd64 build/test container split. Acked-by: Daniel Stone <[email protected]> (v1) Reviewed-by: Tomeu Vizoso <[email protected]> (v2)
* ci: Make the skip list regexes match the full test name.Eric Anholt2019-11-122-7/+7
| | | | | | | | | | | | The bash scripts were using grep in the manner that matches any subset of the line, but the new CTS runner matches the whole line and I think that's a pretty good behavior. Given that some of the skip lists already were written to match the full test name, just make them consistently do so. Reviewed-by: Eric Engestrom <[email protected]> Acked-by: Daniel Stone <[email protected]> Acked-by: Michel Dänzer <[email protected]>
* ci: Use several debian buster packages instead of hand-building.Eric Anholt2019-11-121-50/+8
| | | | | | | | | | | | This helps cut down our container build time. I've left a few that we're likely to rev more frequently or I was less confident in dropping. v2: Rebase on the build/test container split, now bumps the build container tag in this commit. Acked-by: Eric Engestrom <[email protected]> (v1) Acked-by: Daniel Stone <[email protected]> (v1)
* gitlab-ci: build libdrm using meson instead of autotoolsEric Engestrom2019-11-121-1/+1
| | | | | | | | | Autotools was deprecated for a while and has now been removed, so let's start using meson here so that we won't have any issues next time we update libdrm. Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Michel Dänzer <[email protected]>
* gitlab-ci: Delete install/bin from artifacts as wellMichel Dänzer2019-11-121-2/+2
| | | | | | This cuts the x86 artifacts zip file size in less than half. Reviewed-by: Eric Anholt <[email protected]>
* gitlab-ci: Use separate docker images for x86 build/test jobsMichel Dänzer2019-11-122-26/+92
| | | | | | | | | Same as was done for the ARM images before. This should make it less painful to update to newer dEQP / piglit as well as to make changes to the build/test environment. Reviewed-by: Eric Anholt <[email protected]>
* gitlab-ci: Run piglit tests with llvmpipeMichel Dänzer2019-11-127-1/+7219
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | One job for the quick_gl profile, one for the glslparser & quick_shader profiles (doing these together takes hardly any more time than quick_shader alone). v2: * Don't break lava tests v3: * Remove piglit test artifacts paths: * Exclude some quick_shader tests again: - Test whose result flips between pass/fail/skip - *@vs_in tests, as not the same one of these gets picked every time v4: * Do not list passing tests in .gitlab-ci/piglit/*.txt (Eric Anholt) * Include the test number summary in .gitlab-ci/piglit/*.txt * Completely disable generating any vs_in tests in the piglit build. * Remove some more unneded files from the piglit build tree. * Exclude quick_gl arb_gpu_shader5 tests; they were all skipped anyway, as llvmpipe doesn't support this extension yet, but occasionally they would spuriously fail instead. v5: * Set LD_LIBRARY_PATH, so we actually test the Mesa build from the pipeline... * Verify that wflinfo reports the expected Mesa version * Pass -noreset to Xvfb v6: * Don't use autoscale runners, run piglit with -j4 (Eric Anholt) Reviewed-by: Eric Anholt <[email protected]>
* gitlab-ci: Sort packages in debian-install.shMichel Dänzer2019-11-121-50/+48
| | | | | | And remove duplicates. Reviewed-by: Eric Anholt <[email protected]>
* gitlab-ci: Share dEQP build process between x86 & ARM test image scriptsMichel Dänzer2019-11-123-90/+51
| | | | | | | | | | See https://gitlab.freedesktop.org/mesa/mesa/issues/2056 v2: * Rename .gitlab-ci/deqp-build.sh => .gitlab-ci/build-deqp.sh (Eric Anholt) Reviewed-by: Eric Anholt <[email protected]>
* gitlab-ci: Move artifact preparation to separate scriptMichel Dänzer2019-11-122-25/+29
| | | | | | | | | | | | | | | | | It's currently only needed for the meson-main and meson-arm64 jobs, not the other meson build jobs. Also remove MESON_SHADERDB, just run .gitlab-ci/run-shader-db.sh directly from the meson-main job. v2: * Also run prepare-artifacts.sh in meson-arm64 script v3: * Move tarball creation into the new script as well, as it prevented ccache --show-stats from running in after_script Reviewed-by: Eric Engestrom <[email protected]> # v1 Reviewed-by: Eric Anholt <[email protected]>
* gitlab-ci: Use ninja -j4 for building dEQPMichel Dänzer2019-11-121-1/+1
| | | | | | | | By default, ninja tries to saturate all cores of the runner host machine, which could overload it due to other jobs running in parallel. Reviewed-by: Eric Engestrom <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* Revert "ci: Switch over to an autoscaling GKE cluster for builds."Eric Anholt2019-11-063-3/+3
| | | | | | | | | | | | | | | | | | | | This reverts commit c9df92bf795af878c38538c85f781291c78ec513. It turns out that gitlab-runner uses kubernetes all wrong, spawning Pods and sshing into them to run the script instead of Jobs containing the script to run. This means that when anything goes wrong with the pod (autoscale, preemption, VM maintenance, cluster reconfiguration), the job fails and only sometimes gets handled as a runner system failure. Even worse, due to bugs in either the runner or k8s itself, some classes of timeout-related failure end up not being reported as failures, and the job will incorrectly report success! Disable using the "autoscale" cluster until we can do something else (docker-machine instead of k8s, or the custom third-party k8s-native runner). Reviewed-by: Michel Dänzer <[email protected]> Acked-by: Daniel Stone <[email protected]>
* gitlab-ci: Don't build libdrm for ARMMichel Dänzer2019-11-062-20/+2
| | | | | | | The Debian packages work fine. Saves a little bit of time and disk space. Reviewed-by: Eric Anholt <[email protected]>
* gitlab-ci: Use separate arm64 build/test docker imagesMichel Dänzer2019-11-062-63/+109
| | | | | | | | | | | | | | | | The image used for test jobs is only about 1/6 as big as before, which may help avoid some issues with some of the test boards. Inspired by https://gitlab.freedesktop.org/mesa/mesa/issues/2046 . v2: * Leave LIBDRM_VERSION at 2.4.99 (Daniel Stone) * Delete more build artifacts from dEQP tree (Daniel Stone) v3: * Set LD_LIBRARY_PATH for ldd Acked-by: Daniel Stone <[email protected]> # v2 Reviewed-by: Eric Anholt <[email protected]> # Except for the ldd line
* lima: add support for gl_PointSizeVasily Khoruzhick2019-11-052-709/+0
| | | | | | | | | | | | | GP handles gl_PointSize similar to gl_Position, i.e. it needs separate buffer and it has special type in varying descriptors, also for indexed draw we need to emit special PLBU command to pass address of gl_PointSize buffer. Blob also clamps gl_PointSize to 1 .. 100 (as well as line width), so let's do the same. Reviewed-by: Andreas Baierl <[email protected]> Signed-off-by: Vasily Khoruzhick <[email protected]>
* gitlab-ci: Run only LAVA jobs in special-named branchesTomeu Vizoso2019-11-051-2/+5
| | | | | | | | | | | | Run only jobs needed for testing on LAVA devices if a branch starts with lava-ci-. This allows developers to have faster test cycles as these pipelines take only a bit above 8 minutes. Also has the advantage of conserving resources. Signed-off-by: Tomeu Vizoso <[email protected]> Reviewed-by: Eric Engestrom <[email protected]>
* panfrost/ci: Update T760 expectationsAlyssa Rosenzweig2019-11-041-1/+0
| | | | Signed-off-by: Alyssa Rosenzweig <[email protected]>
* panfrost: MALI_DEPTH_TEST is actually MALI_DEPTH_WRITEMASKBoris Brezillon2019-11-042-1380/+0
| | | | | | | | | MALI_DEPTH_TEST should only be set when depth->writemask is true, not when the depth test is enabled. Let's rename the flag and patch panfrost_bind_depth_stencil_state() to do the right thing. Signed-off-by: Boris Brezillon <[email protected]> Reviewed-by: Alyssa Rosenzweig <[email protected]>
* lima: set dithering flag when necessaryVasily Khoruzhick2019-11-011-10/+0
| | | | | | | Bit 13 in aux1 enables dithering Reviewed-by: Qiang.Yu <[email protected]> Signed-off-by: Vasily Khoruzhick <[email protected]>
* pan/midgard: Use fp32 blend shadersAlyssa Rosenzweig2019-11-012-2/+1
| | | | | | | | | Clearly we do want to have fp16 at some point ... but I kind of give up debugging and it turns out the issues with fp16 support in 'frost are so deeply rooted that I might as well disable this non-opt and land LCRA now. Signed-off-by: Alyssa Rosenzweig <[email protected]>
* pan/midgard: Refactor swizzlesAlyssa Rosenzweig2019-11-011-0/+1
| | | | | | | | Rather than having hw-specific swizzles encoded directly in the instructions, have a unified swizzle arary so we can manipulate swizzles generically. Signed-off-by: Alyssa Rosenzweig <[email protected]>
* ci: Switch over to an autoscaling GKE cluster for builds.Eric Anholt2019-10-313-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | The GKE pool we're using is 1-3 32-core VMs, preemptible (to keep costs down), with 8 jobs concurrent per system. We have plenty of memory (4G/core), so we run make -j8 to try to keep the cores busy even when one job is in a single-threaded step (docker image download, git clone, artifacts processing, etc.) When all jobs are generating work for all the cores, they'll be scheduled fairly. The nodes in the pool have 300GB boot disks (over-provisioned in space to provide enough iops and throughput) mounted to /ccache, and CACHE_DIR set pointing to them. This means that once a new autoscaled-up node has run some jobs, it should have a hot ccache from then on (instead of having to rely on the docker container cache having our ccache laying around and not getting wiped out by some other fd.o job). Local SSDs would provide higher performance, but unfortunately are not supported with the cluster autoscaler. For now, the softpipe/llvmpipe test runs are still on the shared runners, until I can get them ported onto Bas's runner so they can be parallelized in a single job. Reviewed-by: Michel Dänzer <[email protected]>
* ci: Make lava inherit the ccache setup of the .build script.Eric Anholt2019-10-311-13/+2
| | | | | | It was just duplicating the code. Reviewed-by: Michel Dänzer <[email protected]>