summaryrefslogtreecommitdiff
path: root/.gitlab-ci.yml
AgeCommit message (Collapse)AuthorFilesLines
2019-08-20gitlab-ci: Enable the GLES2/3 CTS on softpipe.Eric Anholt1-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 <eric@engestrom.ch> (v1) Reviewed-By: Gert Wollny <gert.wollny@collabora.com> (v1)
2019-08-13gitlab-ci: Run the GLES2 CTS on llvmpipe.Eric Anholt1-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 <eric.engestrom@intel.com>
2019-08-13gitlab-ci: Switch the meson-main build type to debugoptimized.Eric Anholt1-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 <eric.engestrom@intel.com>
2019-08-13gitlab-ci: Build the CTS in the debian build image.Eric Anholt1-1/+1
This will let us reuse the image for test runs. Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
2019-08-13gitlab-ci: Move around which builds cover which swrast.Eric Anholt1-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 <michel.daenzer@amd.com> Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
2019-08-10gitlab-ci: simplify $CROSS optionEric Engestrom1-3/+3
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com> Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
2019-08-09gitlab-ci: generate meson cross-files earlierEric Engestrom1-10/+4
Suggested-by: Michel Dänzer <michel@daenzer.net> Signed-off-by: Eric Engestrom <eric.engestrom@intel.com> Reviewed-by: Eric Anholt <eric@anholt.net>
2019-08-07gitlab-ci: don't install autotools depsEric Engestrom1-1/+1
These could've been deleted a long time ago, but apparent we forgot. Signed-off-by: Eric Engestrom <eric.engestrom@intel.com> Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
2019-08-07gitlab-ci: add gtk3 dev files for `-D tools=intel-ui`Eric Engestrom1-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 <eric.engestrom@intel.com> Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
2019-08-02gitlab-ci: just build all the toolsEric Engestrom1-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 <eric.engestrom@intel.com> Reviewed-by: Eric Anholt <eric@anholt.net>
2019-07-30gitlab-ci: Fix scons build directory pathMichel Dänzer1-1/+1
Fixes: dd3d0b2897b8 "gitlab-ci: Only keep the build logs as artifacts." Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
2019-07-25gitlab-ci: Add a shader-db run using v3d on drm-shim.Eric Anholt1-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 <eric@engestrom.ch>
2019-07-25gitlab-ci: Only keep the build logs as artifacts.Eric Anholt1-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 <michel.daenzer@amd.com>
2019-07-25gitlab-ci: Always set libdir to lib/Eric Anholt1-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 <eric@engestrom.ch>
2019-07-13gitlab-ci: Build i386 and ARM drivers in surfaceless mode.Eric Anholt1-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 <michel.daenzer@amd.com> Acked-by: Eric Engestrom <eric@engestrom.ch>
2019-07-04gitlab-ci: bump required libdrm versionChristian Gmeiner1-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 <christian.gmeiner@gmail.com> Reviewed-by: Eric Engestrom <eric@engestrom.ch>
2019-05-17gitlab-ci: build-test the tools as wellEric Engestrom1-0/+2
Suggested-by: Rob Clark <robclark@freedesktop.org> Signed-off-by: Eric Engestrom <eric.engestrom@intel.com> Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> Reviewed-by: Eric Anholt <eric@anholt.net>
2019-05-08gitlab-ci: add the vulkan overlay layer to the vulkan buildEric Engestrom1-0/+2
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com> Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
2019-05-08gitlab-ci: Reorder jobs a bit to be generally ordered longer => shorterMichel Dänzer1-33/+33
This makes the longer jobs likely to run earlier, which can help the overall pipeline duration. Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
2019-05-08gitlab-ci: Build clover against all supported versions of LLVMMichel Dänzer1-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 <eric.engestrom@intel.com> # v1
2019-05-08gitlab-ci: Move meson job script to separate fileMichel Dänzer1-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 <eric.engestrom@intel.com>
2019-05-08gitlab-ci: Remove superfluous comment about image tag counter suffixMichel Dänzer1-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 <eric.engestrom@intel.com>
2019-05-02gitlab-ci: merge meson-glvnd into meson-swrEric Engestrom1-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 <eric.engestrom@intel.com> Reviewed-by: Eric Anholt <eric@anholt.net> Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> Reviewed-by: Eric Engestrom <eric.engestrom@intel.com> (v2) Acked-by: Dylan Baker <dylan@pnwbakers.com>
2019-05-02gitlab-ci: simplify meson job namesEric Engestrom1-4/+4
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com> Reviewed-by: Eric Anholt <eric@anholt.net> Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> Acked-by: Dylan Baker <dylan@pnwbakers.com>
2019-05-02gitlab-ci: meson-gallium-radeonsi was a subset of meson-gallium-clover-llvmEric Engestrom1-20/+0
Let's just drop it. Signed-off-by: Eric Engestrom <eric.engestrom@intel.com> Reviewed-by: Eric Anholt <eric@anholt.net> Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> Acked-by: Dylan Baker <dylan@pnwbakers.com>
2019-05-02gitlab-ci: merge several meson jobsEric Engestrom1-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 <eric.engestrom@intel.com> [ 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 <michel.daenzer@amd.com> [ 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 <eric@anholt.net> Acked-by: Eric Engestrom <eric.engestrom@intel.com> (anholt changes) Acked-by: Dylan Baker <dylan@pnwbakers.com>
2019-05-02gitlab-ci: add scons windows build using mingwEric Engestrom1-1/+7
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com>
2019-05-01gitlab-ci: build vulkan drivers in clang buildEric Engestrom1-0/+1
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com> Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
2019-04-25gitlab-ci: Use meson buildtype debug instead of default debugoptimizedMichel Dänzer1-0/+1
This can save a lot of time for some of the meson CI jobs. Acked-by: Eric Engestrom <eric.engestrom@intel.com>
2019-04-16gitlab-ci: Use LLVM 3.4 from Debian jessie for scons-llvm jobMichel Dänzer1-1/+3
This gets us closer to the officially supported minimum version of LLVM, which is 3.3. Acked-by: Eric Engestrom <eric.engestrom@intel.com>
2019-04-16gitlab-ci: Use clang 8 instead of 7Michel Dänzer1-2/+2
Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
2019-04-16gitlab-ci: Install most packages from Debian busterMichel Dänzer1-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 <eric.engestrom@intel.com>
2019-04-16gitlab-ci: Use Debian packages instead of pip ones for meson and sconsMichel Dänzer1-1/+1
Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
2019-04-16gitlab-ci: Use Debian stretch instead of Ubuntu bionicMichel Dänzer1-8/+8
The APT archive used by the Ubuntu docker image can be slow, even timing out sometimes, causing spurious failures of the containers-build job. The Debian docker image uses deb.debian.org, which is backed by a content distribution network. One downside is that stretch only has GCC 6, whereas bionic had 7. Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
2019-04-15ci: Delete autotools build jobsDylan Baker1-15/+0
Reviewed-by: Eric Anholt <eric@anholt.net> Reviewed-by: Eric Engestrom <eric.engestrom@intel.com> Acked-by: Marek Olšák <marek.olsak@amd.com> Acked-by: Jason Ekstrand <jason@jlekstrand.net> Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Acked-by: Matt Turner <mattst88@gmail.com>
2019-04-12gitlab-ci: add lima to the buildEric Engestrom1-1/+1
Suggested-by: Karol Herbst <karolherbst@gmail.com> Signed-off-by: Eric Engestrom <eric.engestrom@intel.com>
2019-04-11gitlab-ci: build gallium extra hudEric Engestrom1-0/+1
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com>
2019-04-11gitlab-ci: Run CI pipeline for all branches in the main repositoryMichel Dänzer1-1/+1
In turn, do not run the pipeline for the master branch in forked repositories. Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
2019-04-02CI: use wayland ci-templates repo to create the base imageBenjamin Tissoires1-24/+15
There shouldn't be a difference for users, but this way we do manage all of our containers from freedesktop.org note: compared to the provious Dockerfile, we need to manually add gcc, g++ and python*-wheel Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com> Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
2019-03-27gitlab-ci: Automatically retry jobs after runner system failureMichel Dänzer1-0/+4
Up to twice, for a total of 3 attempts maximum. This will hopefully avoid spurious CI pipeline failures due to intermittent GitLab/docker infrastructure issues. Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
2019-03-27gitlab-ci: Only pull/push cache contents in build+test stage jobsMichel Dänzer1-4/+3
The containers-build stage job doesn't use the cache, so this might save some wasted time for it. Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
2019-03-27gitlab-ci: Make sure clang job actually uses ccacheMichel Dänzer1-2/+2
Meson didn't automatically pick up ccache in this job for some reason. Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
2019-03-21gitlab-ci: Use 8 CPU cores in autotools jobMichel Dänzer1-1/+1
This cuts down the job runtime from ~9.5 to ~7 minutes with my personal runner on an 8-core Ryzen 7 1700. While this might result in slightly higher load on shared runners, it should be OK, since libtool doesn't use the CPU cores as effectively as e.g. ninja does; a significant part of the CPU load tends to be in bash processes at any time, which should be relatively light on memory. Reviewed-by: Eric Anholt <eric@anholt.net> Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
2019-03-21gitlab-ci: List some longer-running jobs before others of the same stageMichel Dänzer1-47/+47
This increases the chance of them running earlier, which can have an impact on the total duration of the pipeline. v2: * Minor style fix-up to moved comment (Eric Anholt) Reviewed-by: Eric Engestrom <eric.engestrom@intel.com> Acked-by: Eric Anholt <eric@anholt.net>
2019-03-19gitlab-ci: drop most autotools buildsEric Engestrom1-162/+13
With autotools this close to being not supported anymore, let's not waste half of the CI cycles on it. The default build will catch most issues, and the rest can be tested by the old Travis. Signed-off-by: Eric Engestrom <eric.engestrom@intel.com> Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Reviewed-by: Eric Anholt <eric@anholt.net>
2019-03-19gitlab-ci: add clang buildEric Engestrom1-0/+9
`clang` has a different set of warnings and errors than `gcc`, so it's useful to do at least a generic pass over Mesa with it. Signed-off-by: Eric Engestrom <eric.engestrom@intel.com>
2019-03-16gitlab-ci: Build turnip.Bas Nieuwenhuizen1-1/+2
No autotools build to care about. The half baked turnips param is kind of ugly, but felt like a waste defining more variables for it now. Reviewed-by: Eric Engestrom <eric@engestrom.ch> Reviewed-by: Kristian H. Kristensen <hoegsberg@chromium.org>
2019-03-09gitlab-ci: add panfrost to the gallium drivers buildEric Engestrom1-1/+1
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com>
2019-03-08gitlab-ci: fix llvm version (7 doesn't have a ".0")Eric Engestrom1-1/+1
Fixes: 85ee157283c667372baf "gitlab-ci: autotools needs to be told which llvm version to use" Signed-off-by: Eric Engestrom <eric.engestrom@intel.com>
2019-03-08gitlab-ci: autotools needs to be told which llvm version to useEric Engestrom1-0/+1
Fixes: 45d58cd91567b39f51af "gitlab-ci: only build the default (=latest) and oldest llvm versions" Signed-off-by: Eric Engestrom <eric.engestrom@intel.com>