[Mesa-dev] [PATCH 12/15] travis: split the make target to three separate ones

Emil Velikov emil.l.velikov at gmail.com
Fri Apr 28 16:43:59 UTC 2017


On 28 April 2017 at 16:00, Andres Gomez <agomez at igalia.com> wrote:
> On Thu, 2017-04-27 at 19:38 +0100, Emil Velikov wrote:
>> From: Emil Velikov <emil.velikov at collabora.com>
>>
>> Split the target to allow faster builds for each run.
>>
>> The overall build time will be more, yet Travis runs multiple builds in
>> parallel so we're limited by the slowest one.
>>
>> Things are split roughly as:
>>  - DRI loaders, classic DRI drivers, classic OSMesa, make check
>>  - All Gallium drivers (minus the SWR) alongside st/dri (mesa)
>>  - The Vulkan drivers - ANV and RADV, make check (anv)
>
> I think it would be better to split ANV and RADV on different builds
> too.
>
Any particular reason why?

As-is the jobs are fairly well balanced - be that with cold [1] or
warm ccache [2] [3].
In the latter case, big hunk of the time is dominated by the
build/install of dependencies (even w/o wayland/va/vdpau).

[1] https://travis-ci.org/evelikov/Mesa/builds/226462487
[2] https://travis-ci.org/evelikov/Mesa/builds/226874115
[3] https://travis-ci.org/evelikov/Mesa/builds/226879305

>> @@ -207,18 +255,33 @@ install:
>>        (cd $LIBTXC_DXTN_VERSION && ./configure --prefix=$HOME/prefix && make install);
>>      fi
>>
>> +  # Generate the header since one is missing on the Travis instance
>> +  - mkdir -p linux
>> +  - echo "#ifndef _LINUX_MEMFD_H"                         > linux/memfd.h
>> +  - echo "#define _LINUX_MEMFD_H"                         >> linux/memfd.h
>> +  - echo ""                                               >> linux/memfd.h
>> +  - echo "#define __NR_memfd_create 319"                  >> linux/memfd.h
>> +  - echo "#define SYS_memfd_create __NR_memfd_create"     >> linux/memfd.h
>> +  - echo ""                                               >> linux/memfd.h
>> +  - echo "#define MFD_CLOEXEC             0x0001U"        >> linux/memfd.h
>> +  - echo "#define MFD_ALLOW_SEALING       0x0002U"        >> linux/memfd.h
>> +  - echo ""                                               >> linux/memfd.h
>> +  - echo "#endif /* _LINUX_MEMFD_H */"                    >> linux/memfd.h
>
> This is a bit ugly on the travis log output. What about replacing it
> with something like?:
>
>   - printf "%s\n" \
>            "#ifndef _LINUX_MEMFD_H" \
>            "#define _LINUX_MEMFD_H" \
>            "" \
>            "#define __NR_memfd_create 319" \
>            "#define SYS_memfd_create __NR_memfd_create" \
>            "" \
>            "#define MFD_CLOEXEC             0x0001U" \
>            "#define MFD_ALLOW_SEALING       0x0002U" \
>            "" \
>            "#endif /* _LINUX_MEMFD_H */" > linux/memfd.h
>
Looks nice and works like a charm. Much appreciated.

-Emil


More information about the mesa-dev mailing list