aboutsummaryrefslogtreecommitdiffstats
path: root/.gitlab-ci.yml
Commit message (Collapse)AuthorAgeFilesLines
* 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]>
* gitlab-ci: Use Debian stretch instead of Ubuntu bionicMichel Dänzer2019-04-161-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 <[email protected]>
* ci: Delete autotools build jobsDylan Baker2019-04-151-15/+0
| | | | | | | | | Reviewed-by: Eric Anholt <[email protected]> Reviewed-by: Eric Engestrom <[email protected]> Acked-by: Marek Olšák <[email protected]> Acked-by: Jason Ekstrand <[email protected]> Acked-by: Bas Nieuwenhuizen <[email protected]> Acked-by: Matt Turner <[email protected]>
* gitlab-ci: add lima to the buildEric Engestrom2019-04-121-1/+1
| | | | | Suggested-by: Karol Herbst <[email protected]> Signed-off-by: Eric Engestrom <[email protected]>
* gitlab-ci: build gallium extra hudEric Engestrom2019-04-111-0/+1
| | | | Signed-off-by: Eric Engestrom <[email protected]>
* gitlab-ci: Run CI pipeline for all branches in the main repositoryMichel Dänzer2019-04-111-1/+1
| | | | | | | In turn, do not run the pipeline for the master branch in forked repositories. Reviewed-by: Eric Engestrom <[email protected]>
* CI: use wayland ci-templates repo to create the base imageBenjamin Tissoires2019-04-021-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 <[email protected]> Reviewed-by: Michel Dänzer <[email protected]> Reviewed-by: Eric Engestrom <[email protected]>
* gitlab-ci: Automatically retry jobs after runner system failureMichel Dänzer2019-03-271-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 <[email protected]>
* gitlab-ci: Only pull/push cache contents in build+test stage jobsMichel Dänzer2019-03-271-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 <[email protected]>
* gitlab-ci: Make sure clang job actually uses ccacheMichel Dänzer2019-03-271-2/+2
| | | | | | Meson didn't automatically pick up ccache in this job for some reason. Reviewed-by: Eric Engestrom <[email protected]>
* gitlab-ci: Use 8 CPU cores in autotools jobMichel Dänzer2019-03-211-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 <[email protected]> Reviewed-by: Eric Engestrom <[email protected]>
* gitlab-ci: List some longer-running jobs before others of the same stageMichel Dänzer2019-03-211-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 <[email protected]> Acked-by: Eric Anholt <[email protected]>
* gitlab-ci: drop most autotools buildsEric Engestrom2019-03-191-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 <[email protected]> Reviewed-by: Lionel Landwerlin <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* gitlab-ci: add clang buildEric Engestrom2019-03-191-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 <[email protected]>
* gitlab-ci: Build turnip.Bas Nieuwenhuizen2019-03-161-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 <[email protected]> Reviewed-by: Kristian H. Kristensen <[email protected]>
* gitlab-ci: add panfrost to the gallium drivers buildEric Engestrom2019-03-091-1/+1
| | | | Signed-off-by: Eric Engestrom <[email protected]>
* gitlab-ci: fix llvm version (7 doesn't have a ".0")Eric Engestrom2019-03-081-1/+1
| | | | | Fixes: 85ee157283c667372baf "gitlab-ci: autotools needs to be told which llvm version to use" Signed-off-by: Eric Engestrom <[email protected]>
* gitlab-ci: autotools needs to be told which llvm version to useEric Engestrom2019-03-081-0/+1
| | | | | Fixes: 45d58cd91567b39f51af "gitlab-ci: only build the default (=latest) and oldest llvm versions" Signed-off-by: Eric Engestrom <[email protected]>
* gitlab-ci: only build the default (=latest) and oldest llvm versionsEric Engestrom2019-03-081-34/+12
| | | | | | | | Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Lionel Landwerlin <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* gitlab-ci: drop job prefixesEric Engestrom2019-03-051-33/+33
| | | | | | | | | | | It is already obvious whether the job is building a container or running a mesa build, so let's drop that prefix so that we can see more information on the screen (eg. in the jobs list on a pipeline page). Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Michel Dänzer <[email protected]> Reviewed-by: Eric Anholt <[email protected]> Reviewed-by: Jordan Justen <[email protected]>
* gitlab-ci: install distro's ninjaAndres Gomez2019-03-051-1/+1
| | | | | | | | Ubuntu Bionic is shipping ninja 1.8.2. Therefore, we do not need to download v1.6.0 manually any more. Signed-off-by: Andres Gomez <[email protected]> Reviewed-by: Eric Engestrom <[email protected]>
* gitlab-ci: install xmllint to validate 00-mesa-defaults.confEric Engestrom2019-02-281-1/+1
| | | | | Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* gitlab-ci: always run the containers buildEric Engestrom2019-02-261-8/+10
| | | | | | | | | | | | | If the first time a fork was created, the job creating the containers was manually cancelled, this would have left the fork unable to use the CI (until the next automatic regeneration of the container). Avoid this by always running the container-generation job, even though 99% of the time it will spin up, see that the container exists and shut down. Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Michel Dänzer <[email protected]>
* iris: Add gitlab-ci build testingJordan Justen2019-02-221-1/+1
| | | | | Signed-off-by: Jordan Justen <[email protected]> Reviewed-by: Eric Engestrom <[email protected]>
* gitlab-ci: automatically run the CI on pushes to `ci/*` branchesEric Engestrom2019-02-191-0/+1
| | | | | | | | | | | Last commit limited the CI to master and MRs, but to avoid having to manually trigger CI runs, let's add a 3rd, automatic way: by pushing to a branch named `ci/*` (or `ci-*` or just `ci`) (which you can delete afterwards, the pipeline results will remain). Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Caio Marcelo de Oliveira Filho <[email protected]> Reviewed-by: Erik Faye-Lund <[email protected]>
* gitlab-ci: limit the automatic CI to master and MRsEric Engestrom2019-02-191-0/+3
| | | | | | | | | | | Runs on random other branches (stables RCs, personal forks) can still be triggered manually via the web interface, or an app using the API. This should massively help with the current voracious state of our CI. Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Caio Marcelo de Oliveira Filho <[email protected]> Reviewed-by: Erik Faye-Lund <[email protected]>
* gitlab-ci: use ccache to speed up buildsEric Engestrom2019-02-191-5/+17
| | | | Signed-off-by: Eric Engestrom <[email protected]>