aboutsummaryrefslogtreecommitdiffstats
path: root/.gitlab-ci/lava-gitlab-ci.yml
Commit message (Collapse)AuthorAgeFilesLines
* gitlab-ci/lava: add pipeline information in the lava job nameNeil Armstrong2020-01-211-0/+1
| | | | | | | | | | | In order to have more informations in the LAVA jobs list, add the current pipeline URL and commit ref name in the LAVA job name. Signed-off-by: Neil Armstrong <[email protected]> Reviewed-by: Tomeu Vizoso <[email protected]> Reviewed-by: Daniel Stone <[email protected]> Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/2337> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/2337>
* ci: Re-enable CI for lima on mali450Vasily Khoruzhick2020-01-211-2/+5
| | | | | | | | | | | | | | | | Amend fails and skips lists basing on lists from Andreas Baierl, shard mali400 job across two devices since it takes close to 10min and rename jobs to lima-mali400-test and lima-mali450-test. Also don't set MESA_GLES_VERSION_OVERRIDE=3.0 for lima since we don't support GLES 3.0 and lower DEQP_PARALLEL to 3 for jobs on H3. Keep mali400 jobs disabled atm since they take too much time to complete and we also get some unexplicable failures in dEQP-GLES2.functional.default_vertex_attrib.* Signed-off-by: Vasily Khoruzhick <[email protected]> Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3163> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3163>
* ci: lava: pass CI_NODE_INDEX and CI_NODE_TOTAL to lava jobsVasily Khoruzhick2020-01-211-1/+3
| | | | | | | | | | | deqp-runner.sh uses it to determine whether we split job across multiple devices and if we do what's the node index. With this change we now can set 'parallel: N' in job description if we want to split the job. Signed-off-by: Vasily Khoruzhick <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3163>
* gitlab-ci: Consolidate container and build stages for LAVATomeu Vizoso2020-01-141-146/+51
| | | | | | | | | | | | | | | | Use the normal build job to also prepare the artifacts for LAVA jobs. For that, the build container needs to also build the test suites, kernel, ramdisk, etc. Then the build job will place the just-built Mesa in the ramdisk and the test job can generate a LAVA job and point to those artifacts. Signed-off-by: Tomeu Vizoso <[email protected]> Acked-by: Alyssa Rosenzweig <[email protected]> Reviewed-by: Daniel Stone <[email protected]> Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3295> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3295>
* gitlab-ci: Upgrade kernel for LAVA jobs to v5.5-rc5Tomeu Vizoso2020-01-131-1/+1
| | | | | | | | Some fixes got in that should prevent hangs in lima jobs. Signed-off-by: Tomeu Vizoso <[email protected]> Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3363> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3363>
* gitlab-ci: Switch LAVA jobs to use shared dEQP runnerTomeu Vizoso2020-01-061-2/+4
| | | | | | | | | | | | | Take one step towards sharing code between the LAVA and non-LAVA jobs, with the goals of reducing maintenance burden and use of computational resources. The env var DEQP_NO_SAVE_RESULTS allows us to skip the procesing of the XML result files, which can take a long time and is not useful in the LAVA case as we are not uploading artifacts anywhere at the moment. Signed-off-by: Tomeu Vizoso <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* gitlab-ci: Update kernel for LAVA to 5.5-rc1 plus fixesTomeu Vizoso2020-01-061-1/+1
| | | | | Signed-off-by: Tomeu Vizoso <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* ci: Remove T820 from CI temporarilyNeil Armstrong2019-12-171-1/+1
| | | | | | | | | | | Our lab will have continuous programmed power cuts until the 6th January 2020, so it's safer to disable the T820 CI running on the BayLibre kernelCI lab to avoid breaking CI. Signed-off-by: Neil Armstrong <[email protected]> Reviewed-by: Tomeu Vizoso <[email protected]> Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3135> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3135>
* ci: Reinstate Panfrost CIAlyssa Rosenzweig2019-12-161-2/+2
| | | | | Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3118>
* ci: Remove T760/T860 from CI temporarilyAlyssa Rosenzweig2019-12-131-2/+2
| | | | | | | | | I feel really bad about this but this one test is flaking. I don't want to do a mass revert (and bisection is extremely difficult with nondeterministic/Heisenbugs), but it's Friday night and master needs to pass. This commit should be reverted asap (once the flake is solved) Signed-off-by: Alyssa Rosenzweig <[email protected]>
* gitlab-ci: Use lavacli from packagesRohan Garg2019-12-111-1/+1
| | | | | | | | | | lavacli 0.9.8 is now available in Debian Testing. Ref: https://tracker.debian.org/news/1066828/lavacli-098-1-migrated-to-testing/ Fixes: 555c0de ("gitlab-ci: Move LAVA-related files into top-level ci dir") Signed-off-by: Rohan Garg <[email protected]> Acked-by: Alyssa Rosenzweig <[email protected]> Reviewed-by: Tomeu Vizoso <[email protected]>
* gitlab-ci: Use the common run policy for LAVA jobs as well againMichel Dänzer2019-12-061-16/+2
| | | | | | | | | | | | Having different policies could have some weird results, e.g. changes only touching documentation (where the intention is not to run the pipeline by default) would still create a pipeline with the LAVA jobs running by default. Reviewed-by: Samuel Pitoiset <[email protected]> Reviewed-by: Pierre-Eric Pelloux-Prayer <[email protected]> Reviewed-by: Tomeu Vizoso <[email protected]> Acked-by: Eric Engestrom <[email protected]>
* gitlab-ci: Update to current ci-templates masterMichel Dänzer2019-12-031-1/+1
| | | | | | Fixes skopeo copy failures. Reviewed-by: Pierre-Eric Pelloux-Prayer <[email protected]>
* Add support for T820 CI JobsNeil Armstrong2019-12-031-3/+10
| | | | | | | Tomeu: - Small rebase fixups Signed-off-by: Neil Armstrong <[email protected]> Signed-off-by: Tomeu Vizoso <[email protected]>
* gitlab-ci: Test Panfrost on T720 GPUsTomeu Vizoso2019-12-031-3/+10
| | | | | | | | Now that the Mali T720 GPU is supoprted at the same level as the T760, test it on PINE64 H64 boards. Signed-off-by: Tomeu Vizoso <[email protected]> Reviewed-by: Alyssa Rosenzweig <[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-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]>