summaryrefslogtreecommitdiffstats
path: root/.gitlab-ci.yml
Commit message (Collapse)AuthorAgeFilesLines
* gitlab-ci: Merge scons-nollvm and scons-llvm jobsMichel Dänzer2019-09-181-8/+3
| | | | | | The new job tests scons without LLVM and with all LLVM versions >= 6.0. Reviewed-by: Eric Engestrom <[email protected]>
* gitlab-ci: Test scons with all LLVM versionsMichel Dänzer2019-09-181-3/+8
| | | | Reviewed-by: Eric Engestrom <[email protected]>
* gitlab-ci: Move scons build/test commands to a separate shell scriptMichel Dänzer2019-09-181-5/+1
| | | | | | Preparatory, no functional change intended. Reviewed-by: Eric Engestrom <[email protected]>
* gitlab-ci: Create separate docker images for Debian stretch & busterMichel Dänzer2019-09-181-14/+38
| | | | | | | | | | | | | | Pros: * Less fragile due to not mixing packages from stretch and buster * No longer need to use third-party LLVM packages * The buster image now uses GCC 8 for C++ as well (previously 6 for C++, 8 for C), allowing to drop some hacks Con: * The stretch image now only uses GCC 6 for C as well as C++ * Need separate jobs for testing old LLVM versions Reviewed-by: Eric Engestrom <[email protected]>
* gitlab-ci: Reference full ci-templates commit hashMichel Dänzer2019-09-181-1/+1
| | | | | | 8 digits might become ambiguous at some point. Reviewed-by: Eric Engestrom <[email protected]>
* ci: Run tests on i386 cross buildsAdam Jackson2019-09-171-3/+0
| | | | | | | | | Yes, some tests fail, but we can turn those into XFAILs at meson time. Better to keep the things that work working than not cover them at all. Unfortunately XPASS results will not cause the build to fail until we update CI to meson 0.51 or newer. Reviewed-by: Daniel Stone <[email protected]>
* gitlab-ci: Move up meson-arm64 job definitionMichel Dänzer2019-09-161-42/+42
| | | | | | | This might allow the arm64 tests to start running earlier. Reviewed-by: Eric Engestrom <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* gitlab-ci: Move dependencies/needs for meson-main job to .deqp-testMichel Dänzer2019-09-161-6/+3
| | | | Reviewed-by: Eric Anholt <[email protected]>
* gitlab-ci: Simplify some job definitions by extending more similar jobsMichel Dänzer2019-09-161-37/+15
| | | | | | | | | | v2: * Preserve setting NIR_VALIDATE=0 for all arm64_* jobs * Preserve setting DEQP_SKIPS=deqp-default-skips.txt for arm64_a306_gles2 jobs Reviewed-by: Eric Engestrom <[email protected]> # v1 Reviewed-by: Eric Anholt <[email protected]>
* gitlab-ci: Use multiple inheritance instead of YAML referencesMichel Dänzer2019-09-161-12/+16
| | | | | | | Support for multiple inheritance was added to GitLab recently. Reviewed-by: Eric Engestrom <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* gitlab-ci: Add needs stanza to arm64_a306_gles2 job definitionMichel Dänzer2019-09-161-0/+1
| | | | | | | | | This allows the arm64_a306_gles2 jobs to run as soon as the meson-arm64 job has finished. Fixes: 6f0dc087b7a5 "freedreno: Introduce gitlab-based CI." Reviewed-by: Eric Engestrom <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* gitlab-ci: rename stages to something simplerEric Engestrom2019-09-131-6/+6
| | | | | Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Michel Dänzer <[email protected]>
* freedreno: Introduce gitlab-based CI.Eric Anholt2019-09-121-4/+62
| | | | | | | | | | | | | | | | | | | | | | | | Since freedreno's kernel and GPU reset seem to be totally solid, we don't need to have the complexity of the LAVA setup that panfrost has. Instead, we can register some boards as shared gitlab runners and have the jobs run out of a docker container just like we do for llvmpipe. Just make sure that the DRI device node is passed through to the containers in the gitlab config ('devices = ["/dev/dri"]' under runners.docker). If a runner fails (networking dies, kernel panic, etc.) it'll take out one build but the rest can keep going since gitlab-runner is what pulls jobs. Since the runner pulls jobs, it also means that they can live behind firewalls instead of needing some public address to be accessed by gitlab.fd.o. For now, enable it just on db410c (A307) and cheza (A630) as those are the hardware that I have plenty of. A307 is only testing GLES2 since running all of GLES3 takes too long for the number of boards I've brought up. Acked-by: Rob Clark <[email protected]> Acked-by: Kenneth Graunke <[email protected]>
* gallium: Require LLVM >= 3.5Adam Jackson2019-09-111-4/+2
| | | | | | | Reviewed-by: Timothy Arceri <[email protected]> Reviewed-by: Jose Fonseca <[email protected]> [ Michel Dänzer: Dropped jessie line from debian-install.sh again ]
* gitlab-ci: Use new needs: keywordMichel Dänzer2019-08-301-0/+3
| | | | | | | | | | | | | | | | This way, the test jobs can start running before all build+test jobs have finished, once the meson-main job has. Idea suggested by Daniel Stone on IRC. See https://docs.gitlab.com/ce/ci/directed_acyclic_graph/ and https://docs.gitlab.com/ce/ci/yaml/README.html#needs for details. v2: * Improve commit log (Daniel Stone, Eric Engestrom) Reviewed-by: Eric Engestrom <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* gitlab-ci: Move up meson-main job definitionMichel Dänzer2019-08-301-29/+29
| | | | | | | In order to increase the chance of it running early. Reviewed-by: Eric Engestrom <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* gitlab-ci: bump LLVM to 8 for meson-vulkan and meson-cloverSamuel Pitoiset2019-08-231-2/+3
| | | | | | | To fix pipeline builds. Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Eric Engestrom <[email protected]>
* gitlab-ci: Enable the GLES2/3 CTS on softpipe.Eric Anholt2019-08-201-0/+28
| | | | | | | | | | | | | | The GLES2 CTS takes about 8 minutes of total runtime (at parallel 4 is ~2 minutes in the test stage if runners are free), while GLES3 takes about 25. Since the GLES3 run is pretty expensive, just do a cheap touch test of 1 out of every 10 tests in the test list on MRs, until we can get the runtime down. v2: Drop the full run for now until we can bring runtime down or bring up a dedicated mesa runner. Reviewed-by: Eric Engestrom <[email protected]> (v1) Reviewed-By: Gert Wollny <[email protected]> (v1)
* gitlab-ci: Run the GLES2 CTS on llvmpipe.Eric Anholt2019-08-131-0/+46
| | | | | | | | | | | | | | | | This is the start of doing CTS tests on merges to Mesa master. We use the surfaceless platform so that we don't need to bother bringing up weston or X11. The surface size is kept low to reduce runtime, but this comes at the cost of many rendering tests skipping due to too-small render targets (as we see the impact of Mesa on the shared runner pool, we can reevaluate this and what set of CTS tests we want to run). We split the job up across 4 runners (each at 4 llvmpipe threads), so that the job can load-balance across our shared runners and finish sooner (since dEQP is very single-thread-performance bound). Reviewed-by: Eric Engestrom <[email protected]>
* gitlab-ci: Switch the meson-main build type to debugoptimized.Eric Anholt2019-08-131-0/+1
| | | | | | | | | | | Now that we're running the drivers we build, building with optimization is important for keeping our runtime down. Shaves about 4 minutes of runtime off of GLES2 CTS of llvmpipe at 64x64. v2: Only switch meson-main until we enable CTS for other builds on request by Michel. Reviewed-by: Eric Engestrom <[email protected]>
* gitlab-ci: Build the CTS in the debian build image.Eric Anholt2019-08-131-1/+1
| | | | | | This will let us reuse the image for test runs. Reviewed-by: Eric Engestrom <[email protected]>
* gitlab-ci: Move around which builds cover which swrast.Eric Anholt2019-08-131-14/+15
| | | | | | | | | | I want to enable CI of llvmpipe out of the meson-main build. So, kick classic swrast/osmesa to meson-i386, then promote llvmpipe to meson-main (along with nine, now that classic osmesa isn't keeping it out of there). Reviewed-by: Michel Dänzer <[email protected]> Reviewed-by: Eric Engestrom <[email protected]>
* gitlab-ci: simplify $CROSS optionEric Engestrom2019-08-101-3/+3
| | | | | Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Jordan Justen <[email protected]>
* gitlab-ci: generate meson cross-files earlierEric Engestrom2019-08-091-10/+4
| | | | | | Suggested-by: Michel Dänzer <[email protected]> Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* gitlab-ci: don't install autotools depsEric Engestrom2019-08-071-1/+1
| | | | | | | These could've been deleted a long time ago, but apparent we forgot. Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Michel Dänzer <[email protected]>
* gitlab-ci: add gtk3 dev files for `-D tools=intel-ui`Eric Engestrom2019-08-071-1/+1
| | | | | | | | We also need to update wayland-protocols and libXrandr (and randrproto), as they are too old for gdk3 (which gtk3 depends on). Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Lionel Landwerlin <[email protected]>
* gitlab-ci: just build all the toolsEric Engestrom2019-08-021-1/+0
| | | | | | | | | This line was mistakenly added while there is already a `-D tools=all` a few lines below. Fixes: f60defa72d5d20d99e3a ("gitlab-ci: Add a shader-db run using v3d on drm-shim.") Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* gitlab-ci: Fix scons build directory pathMichel Dänzer2019-07-301-1/+1
| | | | | | Fixes: dd3d0b2897b8 "gitlab-ci: Only keep the build logs as artifacts." Reviewed-by: Eric Engestrom <[email protected]>
* gitlab-ci: Add a shader-db run using v3d on drm-shim.Eric Anholt2019-07-251-1/+4
| | | | | | | | | | | | | | This provides significant compiler coverage during CI at a fairly low cost in CPU time (~17s per thread for 4 threads on gst-gitlab-htz-runner3). I'm leaving wget in the docker image, as once this is in master I'm planning on having an automatic shader-db comparison between master and the branch included in the artifacts. I also haven't done freedreno yet, because it has some races when run in multithreaded mode that I'm still tracking down. Reviewed-by: Eric Engestrom <[email protected]>
* gitlab-ci: Only keep the build logs as artifacts.Eric Anholt2019-07-251-2/+5
| | | | | | | | | | | On a build failure, we were tarring up the whole ccache directory, build.ninja, build products, etc. This was over 400MB compressed on a recent early meson-main build failure, which fd.o then has to hang on to for 4 weeks. The build logs are probably the interesting part, are potentially useful regardless ("how did CI's build flags differ from mine?"), and are <500k uncompressed on my personal meson build. Reviewed-by: Michel Dänzer <[email protected]>
* gitlab-ci: Always set libdir to lib/Eric Anholt2019-07-251-1/+0
| | | | | | | | I introduced libdir for cross-builds so we could point at the resulting drivers without per-arch dependencies, but I'd rather not have to type x86_64-linux-whatever for non-cross-builds either. Reviewed-by: Eric Engestrom <[email protected]>
* gitlab-ci: Build i386 and ARM drivers in surfaceless mode.Eric Anholt2019-07-131-1/+66
| | | | | | | | | | | | | I don't particularly care about getting x86/ARM cross-build coverage of all the window systems, but we do want to be building src/mesa/ (for x86 asm) and gallium drivers (for vc4 NEON asm). I'm also hoping to use these build products for testing freedreno on actual HW (which we do using surfaceless). This increases the docker image from 1.4G to 1.5G. Reviewed-by: Michel Dänzer <[email protected]> Acked-by: Eric Engestrom <[email protected]>
* gitlab-ci: bump required libdrm versionChristian Gmeiner2019-07-041-1/+1
| | | | | | | | | | | | Fixes following build problem: Message: libdrm 2.4.99 needed because amdgpu has the highest requirement Dependency libdrm_intel found: NO found '2.4.97' but need: '>=2.4.99' Dependency libdrm_intel found: NO meson.build:1178:4: ERROR: Invalid version of dependency, need 'libdrm_intel' ['>=2.4.99'] found '2.4.97'. Signed-off-by: Christian Gmeiner <[email protected]> Reviewed-by: Eric Engestrom <[email protected]>
* gitlab-ci: build-test the tools as wellEric Engestrom2019-05-171-0/+2
| | | | | | | Suggested-by: Rob Clark <[email protected]> Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Michel Dänzer <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* gitlab-ci: add the vulkan overlay layer to the vulkan buildEric Engestrom2019-05-081-0/+2
| | | | | Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Lionel Landwerlin <[email protected]>
* gitlab-ci: Reorder jobs a bit to be generally ordered longer => shorterMichel Dänzer2019-05-081-33/+33
| | | | | | | This makes the longer jobs likely to run earlier, which can help the overall pipeline duration. Reviewed-by: Eric Engestrom <[email protected]>
* gitlab-ci: Build clover against all supported versions of LLVMMichel Dänzer2019-05-081-9/+11
| | | | | | | | | | | | | | | | And consolidate it all into a single job. It doesn't take much longer than a single version, thanks to ccache. Overall, this single job might be faster or at least use fewer CPU cycles than the two jobs before, while covering thrice as many versions of LLVM. v2: * Move "rm -rf _build" to meson-build.sh. * Set GALLIUM_DRIVERS the same way both times in the meson-clover job, for symmetry. Reviewed-by: Eric Engestrom <[email protected]> # v1
* gitlab-ci: Move meson job script to separate fileMichel Dänzer2019-05-081-25/+1
| | | | | | | | No functional change intended (except for no longer running meson --version separately, as the version appears early in meson's output anyway). Reviewed-by: Eric Engestrom <[email protected]>
* gitlab-ci: Remove superfluous comment about image tag counter suffixMichel Dänzer2019-05-081-3/+0
| | | | | | | | We really shouldn't ever need a suffix, otherwise it indicates a failure in coordination. :) In which case, it doesn't really matter how the tag is disambiguated. Reviewed-by: Eric Engestrom <[email protected]>
* gitlab-ci: merge meson-glvnd into meson-swrEric Engestrom2019-05-021-23/+6
| | | | | | | | | | | | | There's no need to have a whole build just for that flag, we can add it to any build. v2: Add a note about why we put glvnd where we did (by anholt). Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Eric Anholt <[email protected]> Reviewed-by: Michel Dänzer <[email protected]> Reviewed-by: Eric Engestrom <[email protected]> (v2) Acked-by: Dylan Baker <[email protected]>
* gitlab-ci: simplify meson job namesEric Engestrom2019-05-021-4/+4
| | | | | | | Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Eric Anholt <[email protected]> Reviewed-by: Michel Dänzer <[email protected]> Acked-by: Dylan Baker <[email protected]>
* gitlab-ci: meson-gallium-radeonsi was a subset of meson-gallium-clover-llvmEric Engestrom2019-05-021-20/+0
| | | | | | | | | Let's just drop it. Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Eric Anholt <[email protected]> Reviewed-by: Michel Dänzer <[email protected]> Acked-by: Dylan Baker <[email protected]>
* gitlab-ci: merge several meson jobsEric Engestrom2019-05-021-53/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Merge the following into `meson-main`/`meson-loader-classic-dri`/ `meson-gallium-swr`: - meson-vulkan - meson-gallium-drivers-other - meson-gallium-st-other Signed-off-by: Eric Engestrom <[email protected]> [ Michel Dänzer ] * Rebase and fix up commit log. * Don't set VULKAN_DRIVERS in meson-loader-classic-dri. * Remove extraneous whitespace. * Squash in follow-up fixes. Signed-off-by: Michel Dänzer <[email protected]> [ anholt] * Add a note why nine and swrast landed where they did. * Switch from s/meson-vulkan/meson-main/ to s/meson-loader-classic-dri/meson-main/ which I think was the original intent Reviewed-by: Eric Anholt <[email protected]> Acked-by: Eric Engestrom <[email protected]> (anholt changes) Acked-by: Dylan Baker <[email protected]>
* gitlab-ci: add scons windows build using mingwEric Engestrom2019-05-021-1/+7
| | | | Signed-off-by: Eric Engestrom <[email protected]>
* gitlab-ci: build vulkan drivers in clang buildEric Engestrom2019-05-011-0/+1
| | | | | Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Michel Dänzer <[email protected]>
* gitlab-ci: Use meson buildtype debug instead of default debugoptimizedMichel Dänzer2019-04-251-0/+1
| | | | | | This can save a lot of time for some of the meson CI jobs. Acked-by: Eric Engestrom <[email protected]>
* gitlab-ci: Use LLVM 3.4 from Debian jessie for scons-llvm jobMichel Dänzer2019-04-161-1/+3
| | | | | | | This gets us closer to the officially supported minimum version of LLVM, which is 3.3. Acked-by: Eric Engestrom <[email protected]>
* gitlab-ci: Use clang 8 instead of 7Michel Dänzer2019-04-161-2/+2
| | | | Reviewed-by: Eric Engestrom <[email protected]>
* gitlab-ci: Install most packages from Debian busterMichel Dänzer2019-04-161-1/+7
| | | | | | | | | | We now use the C frontend of GCC 8 instead of 6 (required tweaking the before_script for the clang job). We cannot use the C++ frontend of GCC 7 or newer yet, because upstream GCC 7 changed some C++ name mangling stuff in backwards incompatible ways, and LLVM < 6.0 packages aren't available in buster. Reviewed-by: Eric Engestrom <[email protected]>
* gitlab-ci: Use Debian packages instead of pip ones for meson and sconsMichel Dänzer2019-04-161-1/+1
| | | | Reviewed-by: Eric Engestrom <[email protected]>