qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 1/2] gitlab: exclude sparc-softmmu and riscv32-softmmu from c


From: Philippe Mathieu-Daudé
Subject: Re: [PATCH 1/2] gitlab: exclude sparc-softmmu and riscv32-softmmu from cross builds
Date: Wed, 18 Aug 2021 12:23:03 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0

On 8/18/21 11:45 AM, Mark Cave-Ayland wrote:
> On 18/08/2021 10:29, Daniel P. Berrangé wrote:
>> On Wed, Aug 18, 2021 at 10:15:47AM +0100, Mark Cave-Ayland wrote:
>>> On 10/08/2021 15:06, Daniel P. Berrangé wrote:
>>>
>>>> We need to cut down compile time by excluding more targets. Both these
>>>> targets still have their 64-bit variant enabled, so the loss of
>>>> coverage
>>>> is mitigated to some degree.
>>>>
>>>> Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
>>>> ---
>>>>    .gitlab-ci.d/crossbuild-template.yml | 3 ++-
>>>>    1 file changed, 2 insertions(+), 1 deletion(-)
>>>>
>>>> diff --git a/.gitlab-ci.d/crossbuild-template.yml
>>>> b/.gitlab-ci.d/crossbuild-template.yml
>>>> index 7d3ad00a1e..cfb576b54c 100644
>>>> --- a/.gitlab-ci.d/crossbuild-template.yml
>>>> +++ b/.gitlab-ci.d/crossbuild-template.yml
>>>> @@ -9,7 +9,8 @@
>>>>          ../configure --enable-werror --disable-docs
>>>> $QEMU_CONFIGURE_OPTS
>>>>            --disable-user --target-list-exclude="arm-softmmu
>>>> cris-softmmu
>>>>              i386-softmmu microblaze-softmmu mips-softmmu
>>>> mipsel-softmmu
>>>> -          mips64-softmmu ppc-softmmu sh4-softmmu xtensa-softmmu"
>>>> +          mips64-softmmu ppc-softmmu riscv32-softmmu sh4-softmmu
>>>> +          sparc-softmmu xtensa-softmmu"
>>>>        - make -j$(expr $(nproc) + 1) all check-build $MAKE_CHECK_ARGS
>>>>        - if grep -q "EXESUF=.exe" config-host.mak;
>>>>          then make installer;
>>>
>>> I'd prefer to keep sparc-softmmu if possible, simply because my everyday
>>> platform is Linux and so having a cross-build for Windows will catch
>>> things
>>> that I may miss on a day-to-day basis. Is sparc-softmmu currently
>>> enabled as
>>> part of the native MINGW64 build?
>>
>> Note the builds still include  'sparc64-softmmu', so we're only loosing
>> cover in places where it diverges fromthe 64-bit build, but this will
>> sstil get coverage in native builds.
> 
> Okay I see. From my perspective sparc-softmmu covers more corner cases
> simply because everything is wired up as cMMIO peripherals on a custum
> bus compared with sparc64-softmmu which is a PCI machine and so there is
> already a lot of overlap there. However...
> 
>>> If I go to my Gitlab QEMU fork Settings -> CI/CD -> Variables there
>>> is an
>>> option to set variables that can be used in job scripts. Perhaps this
>>> could
>>> be used so that I can configure my personal QEMU fork to always run
>>> sparc-softmmu builds when preparing PRs even if they aren't enabled for
>>> everyone by default? At least this would then allow me to spot any
>>> breakage
>>> before sending a final PR to Peter.
>>
>> Separately from this I'm doing some work to make things more configurable
>>
>>    https://lists.gnu.org/archive/html/qemu-devel/2021-08/msg02102.html
>>
>> but not on this level of granularity.
>>
>> Rather than globally excluding from all cross builds, I think we ought to
>> split it up more equitably acrss the different builds in some way.
> 
> From my perspective as long as I have something in Gitlab that I can
> push and then get a green CI build that covers both sparc platforms on
> Linux/Windows then I'm not too concerned about the implementation
> details. As long as the combination is covered in a job somewhere in
> your latest set of build changes then that's okay with me.

Your use case seems similar to mine: I overload the current mainstream
pipeline with extra jobs. See:
https://docs.gitlab.com/ee/ci/pipelines/settings.html#specify-a-custom-cicd-configuration-file

My namespace CI points at a custom config in some branch:
https://gitlab.com/philmd/qemu/raw/my_gci_config/.gitlab-ci.d/philmd.yml

This files simply contains:

include:
  # Keep mainstream config ...
  - local: '/.gitlab-ci.d/qemu-project.yml'
  # ... but include my extra jobs.
  -
'https://gitlab.com/philmd/qemu/raw/my_gci_config/.gitlab-ci.d/nvme_wip.yml'
  -
'https://gitlab.com/philmd/qemu/raw/my_gci_config/.gitlab-ci.d/mips_slow.yml'
  -
'https://gitlab.com/philmd/qemu/raw/my_gci_config/.gitlab-ci.d/philmd_runners.yml'



reply via email to

[Prev in Thread] Current Thread [Next in Thread]