On 4 September 2018 at 12:49, Juan A. Suarez Romero <jasua...@igalia.com> wrote:
>> >> Simply put, one could see .gitlab-ci.xml as a form of dockerfile, >> since the gitlab-ci uses Docker. >> Former is capable of storing artefacts, although I'd imagine the extra >> docker/rocker here is used solely to share and reuse the artefacts and >> dependencies. >> > > It is like a form of Dockerfile, but it is not, because you can't build the > image, unless GitLab manages to implement some specific feature to allow it. > > I'll explain better. What happens is that the .gitlab-ci.xml content is > executed > inside a container; that is, like executing `docker run <container> /bin/bash` > and then execute each of the commands in the YAML. > > But that's all; it just execute the commands in a container, but it doesn't > generate any image, which is what we want. That's why we use docker/rocker > build. > > Docker allows to 'commit' a container as a new image. It would be really > useful > if GitLab provides a way to tell "save the result of running the job as an > image"; in that case we could use .gitlab-ci.xml instead of the Dockerfile. > But > at this moment, we can't. > So it seems the answer is "yes, we create docker images to share and reuse the artefacts" ;-) >> > > > +USER local >> > > > + >> > > >> > > A user with name "local" sounds a bit strange. Is that the >> > > recommendation? >> > >> > We just picked "local" as username, but we're fine to use a different name >> > (like >> > "mesa" or "user"). >> > >> >> Personally I would use base-builder/llvm-builder/mesa-builder for the >> respective files. >> It tends to make things a bit more obvious ... but that's just me ;-) >> > > The thing is that in the final image, you would end up with 3 users, as the > users are inherited by the images. I think it would confuse people that uses > the > final image. > > I think using one user is better; and probably "builder" is a better name :) > Get confused? Perhaps. IMHO anything more meaningful than "local" will do. >> >> It seems to me that the following happens: >> >> if .BUILD gallium >> dri-drivers = empty list >> gallium-drivers = some list >> vulkan-drivers = some list >> else >> dri-drivers = some list >> gallium-drivers = some list >> vulkan-drivers = some list >> >> AKA both gallium and vulkan drivers are built twice ... to some extend. > > As I said, for the GALLIUM we could to set the vulkan drivers list to empty, > so > they are not built twice. But if the Vulkan drivers depend on the LLVM version > like the GALLIUM drivers (I'm thinking here in the Radeon driver), then maybe > it > would be good to include them. > Any more fuzzing than mentioned (below) suggested is a waste of CPU. Who depends on what is a large complex maze but upon unwrapping you'll see what I mean. >> The current code assumes that LLVM_REQUIRED_GALLIUM - implies some >> gallium drivers. >> That's wrong - none of the ones listed need LLVM. If we want LLVM 3.3 >> testing we could stick with something short like Travis. > > Can you build the GALLIUM drivers without LLVM? According to configure.ac, you > need at LLVM 3.3 to build GALLIUM drivers. > Look closer - LLVM is optional for most drivers. Ones that require it are r300 (perf. reasons), radeonsi and swr/llvmpipe. >> >> I'd suggest: >> if .BUILD gallium - aka LLVM version fuzz; from no LLVM to latest >> dri-drivers = empty list >> gallium-drivers = some list -> details vary on LLVM version available >> vulkan-drivers = empty list >> else - with a LLVM version for radv >> dri-drivers = full list >> gallium-drivers = empty list >> vulkan-drivers = full list >> >> > > > +RUN meson _build \ >> > > >> > > Worth adding the gallium/vulkan/dri drivers list here? >> > > >> > >> > Didn't add the list because this depends on the LLVM version we are using. >> > So we >> > trust meson correctly picks all the drivers. >> > >> > If we want to be explicit, maybe we can reuse the list of >> > DRI_/VULKAN_/GALLIUM_DRIVERS here. >> > >> >> Agreed. The same reasoning as f9d0e7d3bcd831d52af6a6c46aac4ed4590a8615 >> applies here. >> If you agree feel free to keep that as a follow-up patch. >> > > This makes me think that we should use the same driver names in meson and > autotools. For instance, in Vulkan right now we have "radeon" when using > autotools and "amd" when using meson. > Perhaps we should. But as mentioned earlier - feel free to land this as-is and polish at a later stage. Thanks again Emil _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev