[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v2 7/7] gitlab-ci: Add cross-compiling build tests
From: |
Thomas Huth |
Subject: |
Re: [PATCH v2 7/7] gitlab-ci: Add cross-compiling build tests |
Date: |
Tue, 1 Sep 2020 18:36:45 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.6.0 |
On 01/09/2020 18.27, Daniel P. Berrangé wrote:
> On Sun, Aug 23, 2020 at 01:17:57PM +0200, Thomas Huth wrote:
>> Now that we can use all our QEMU test containers in the gitlab-CI, we can
>> easily add some jobs that test cross-compilation for various architectures.
>> There is just only small ugliness: Since the shared runners on gitlab.com
>> are single-threaded, we have to split each compilation job into two parts
>> (--disable-user and --disable-system), and exclude some additional targets,
>> to avoid that the jobs are running too long and hitting the timeout of 1 h.
>>
>> Signed-off-by: Thomas Huth <thuth@redhat.com>
>> ---
>> .gitlab-ci.d/crossbuilds.yml | 113 +++++++++++++++++++++++++++++++++++
>> .gitlab-ci.yml | 1 +
>> MAINTAINERS | 1 +
>> 3 files changed, 115 insertions(+)
>> create mode 100644 .gitlab-ci.d/crossbuilds.yml
>
> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
>
>>
>> diff --git a/.gitlab-ci.d/crossbuilds.yml b/.gitlab-ci.d/crossbuilds.yml
>> new file mode 100644
>> index 0000000000..4ec7226b5c
>> --- /dev/null
>> +++ b/.gitlab-ci.d/crossbuilds.yml
>> @@ -0,0 +1,113 @@
>> +
>> +.cross_system_build_job_template: &cross_system_build_job_definition
>> + stage: build
>> + image: $CI_REGISTRY_IMAGE/qemu/$IMAGE:latest
>> + script:
>> + - mkdir build
>> + - cd build
>> + - PKG_CONFIG_PATH=$PKG_CONFIG_PATH
>> + ../configure --enable-werror $QEMU_CONFIGURE_OPTS --disable-user
>> + --target-list-exclude="aarch64-softmmu i386-softmmu
>> microblaze-softmmu
>> + mips-softmmu mipsel-softmmu mips64-softmmu ppc64-softmmu
>> sh4-softmmu
>> + xtensa-softmmu"
>
> What does this leave enabled ? Would it be shorter to just say
> --target-list="...explicit targets we want..." ? It would be clearer
> to review at least.
I basically excluded all targets that have a second compile test
coverage, e.g. i386-softmmu code is mostly also covered by
x86_64-softmmu, sh4-softmmu is covered by sh4eb-softmmu etc.
The --target-list-exclude also comes in handy when new targets are added
to QEMU - you then don't have to remember to add the new targets here,
they are picked up automatically.
>> + - make -j$(expr $(nproc) + 1) all check-build
>
> None the less, it is functionally fine so
>
> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Thanks!
Thomas