aboutsummaryrefslogtreecommitdiffstats
path: root/.gitlab-ci/lava-gitlab-ci.yml
Commit message (Collapse)AuthorAgeFilesLines
* 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-151-1/+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]>
* 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]>
* gitlab-ci: Run piglit tests with llvmpipeMichel Dänzer2019-11-121-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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]>
* Revert "ci: Switch over to an autoscaling GKE cluster for builds."Eric Anholt2019-11-061-1/+1
| | | | | | | | | | | | | | | | | | | | 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: 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]>
* ci: Switch over to an autoscaling GKE cluster for builds.Eric Anholt2019-10-311-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | 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]>
* gitlab-ci: Disable lima jobsTomeu Vizoso2019-10-311-2/+2
| | | | | | | The runner that submits jobs there is down and will turn some time to get fixed. Disable them for now to keep the CI green. Signed-off-by: Tomeu Vizoso <[email protected]>
* gitlab-ci: refactor out some common stuff for Windows and LinuxDylan Baker2019-10-251-1/+1
| | | | Reviewed-by: Eric Engestrom <[email protected]>
* Revert "ci: Disable lima until its farm can get fixed."Neil Armstrong2019-10-251-2/+2
| | | | | | | | This reverts commit fb9362c6fb9d5bd92073d31d3242614856b91f5d. Signed-off-by: Neil Armstrong <[email protected]> Acked-by: Eric Engestrom <[email protected]> Reviewed-by: Vasily Khoruzhick <[email protected]>
* gitlab-ci: Update kernel for LAVA jobs to 5.4-rc4Tomeu Vizoso2019-10-241-1/+1
| | | | | | | | | | | Update to 5.4-rc4 so we can test Panfrost on devices with Mali T720 and T820. A bug was found that prevented things working at all on RK3288 devices, so we carry a patch for now in my personal fork. Signed-off-by: Tomeu Vizoso <[email protected]> Acked-by: Daniel Stone <[email protected]>
* ci: Disable lima until its farm can get fixed.Eric Anholt2019-10-211-2/+2
| | | | | | | | | | It's been throwing the following error today: "<Fault -32603: 'Internal Server Error (contact server administrator for details): could not extend file "base/17952/18226": No space left on device\nHINT: Check free disk space.\n'>" Reviewed-by: Daniel Stone <[email protected]>
* gitlab-ci: set a common job parent for test stageEric Engestrom2019-10-151-4/+1
| | | | | Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Michel Dänzer <[email protected]>
* gitlab-ci: set a common job parent for build stageEric Engestrom2019-10-151-8/+1
| | | | | Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Michel Dänzer <[email protected]>
* gitlab-ci: set a common job parent for container stageEric Engestrom2019-10-151-3/+1
| | | | | | | While at it, rename to singular "container" for consistency. Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Michel Dänzer <[email protected]>
* gitlab-ci/lava: Test Lima driver with dEQPTomeu Vizoso2019-10-101-18/+37
| | | | | | | | | | | | Run dEQP on boards with Mali 400 and 450 in Baylibre's lab. There's lots of skipped tests because of crashes and undetermined behavior. May be a good idea to run the tests with valgrind and fix any issues found. Signed-off-by: Tomeu Vizoso <[email protected]> Reviewed-by: Vasily Khoruzhick <[email protected]> Reviewed-by: Neil Armstrong <[email protected]>
* gitlab-ci/lava: Use files to list tests to skipTomeu Vizoso2019-10-101-0/+1
| | | | | | | | | As the non-LAVA runner script does, have per-GPU version files listing the tests that are to be skipped, due to being very slow, unstable, etc. Signed-off-by: Tomeu Vizoso <[email protected]> Reviewed-by: Vasily Khoruzhick <[email protected]> Reviewed-by: Neil Armstrong <[email protected]>
* gitlab-ci/lava: Add needs: for container image to test jobsMichel Dänzer2019-10-091-2/+6
| | | | | | | Without this, the test jobs could spuriously run after the container job failed or was cancelled, even if the build job didn't run at all. Reviewed-by: Tomeu Vizoso <[email protected]>
* gitlab-ci/lava: Fix image to use in test jobsTomeu Vizoso2019-10-071-1/+2
| | | | | | | | | | | | | | | | | In the test stage, we can use any of the two container images as we arent going to do anything architecture-dependent when submitting the jobs to LAVA. But if we are in a pipeline in which the images need to be rebuilt and one finishes much earlier than the other, it could happen that the test job that executes first fails to find the container image. To avoid that, have each job in the test stage to use the image that has been already implicitly built by depending on the build job for the given arch. Signed-off-by: Tomeu Vizoso <[email protected]> Reviewed-by: Michel Dänzer <[email protected]>
* gitlab-ci: Move LAVA-related files into top-level ci dirTomeu Vizoso2019-10-061-0/+196
In preparation for testing drivers other than Panfrost in LAVA labs. Signed-off-by: Tomeu Vizoso <[email protected]> Reviewed-by: Eric Anholt <[email protected]>