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é <berra...@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'