[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'
[PATCH 2/2] gitlab: skip many more targets in windows cross builds, Daniel P . Berrangé, 2021/08/10
Re: [PATCH 0/2] gitlab: avoid timeouts in windows cross builds, Thomas Huth, 2021/08/11