qemu-devel
[Top][All Lists]
Advanced

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

Re: [PATCH v3 25/30] tests/docker: add a linux-user testing focused imag


From: Philippe Mathieu-Daudé
Subject: Re: [PATCH v3 25/30] tests/docker: add a linux-user testing focused image
Date: Mon, 29 Jun 2020 12:18:03 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.5.0

On 6/26/20 8:13 PM, Alex Bennée wrote:
> We happily use all the cross images for both cross-building QEMU as
> well as building the linux-user tests. However calling docker from
> within docker seems not to work. As we can build in Debian anyway why
> not include an image that has all the compilers available for
> non-docker invocation.
> 
> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>

Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>

> ---
>  .gitlab-ci.d/containers.yml                   |  7 +++
>  tests/docker/Makefile.include                 |  1 +
>  .../dockerfiles/debian-all-test-cross.docker  | 53 +++++++++++++++++++
>  3 files changed, 61 insertions(+)
>  create mode 100644 tests/docker/dockerfiles/debian-all-test-cross.docker
> 
> diff --git a/.gitlab-ci.d/containers.yml b/.gitlab-ci.d/containers.yml
> index ba9c24e98f1..20b2fb1de5d 100644
> --- a/.gitlab-ci.d/containers.yml
> +++ b/.gitlab-ci.d/containers.yml
> @@ -66,6 +66,13 @@ amd64-debian-cross-container:
>    variables:
>      NAME: debian-amd64-cross
>  
> +amd64-debian-user-cross-container:
> +  <<: *container_job_definition
> +  stage: containers-layer2
> +  needs: ['amd64-debian10-container']
> +  variables:
> +    NAME: debian-all-test-cross
> +
>  amd64-debian-container:
>    <<: *container_job_definition
>    stage: containers-layer2
> diff --git a/tests/docker/Makefile.include b/tests/docker/Makefile.include
> index 8139e8467d4..079ceb6ff33 100644
> --- a/tests/docker/Makefile.include
> +++ b/tests/docker/Makefile.include
> @@ -133,6 +133,7 @@ docker-image-travis: NOUSER=1
>  
>  # Specialist build images, sometimes very limited tools
>  docker-image-debian-tricore-cross: docker-image-debian9
> +docker-image-debian-all-test-cross: docker-image-debian10
>  docker-image-debian-arm64-test-cross: docker-image-debian11
>  
>  # These images may be good enough for building tests but not for test builds
> diff --git a/tests/docker/dockerfiles/debian-all-test-cross.docker 
> b/tests/docker/dockerfiles/debian-all-test-cross.docker
> new file mode 100644
> index 00000000000..dedcea58b46
> --- /dev/null
> +++ b/tests/docker/dockerfiles/debian-all-test-cross.docker
> @@ -0,0 +1,53 @@
> +#
> +# Docker all cross-compiler target (tests only)
> +#
> +# While the normal cross builds take care to setup proper multiarch
> +# build environments which can cross build QEMU this just installs the
> +# basic compilers for as many targets as possible. We shall use this
> +# to build and run linux-user tests on GitLab
> +#
> +FROM qemu/debian10
> +
> +# What we need to build QEMU itself
> +RUN apt update && \
> +    DEBIAN_FRONTEND=noninteractive eatmydata \
> +    apt build-dep -yy qemu
> +
> +# Add the foreign architecture we want and install dependencies
> +RUN DEBIAN_FRONTEND=noninteractive eatmydata \
> +        apt install -y --no-install-recommends \
> +        gcc-aarch64-linux-gnu \
> +        libc6-dev-arm64-cross \
> +        gcc-alpha-linux-gnu \
> +        libc6.1-dev-alpha-cross \
> +        gcc-arm-linux-gnueabihf \
> +        libc6-dev-armhf-cross \
> +        gcc-hppa-linux-gnu \
> +        libc6-dev-hppa-cross \
> +        gcc-m68k-linux-gnu \
> +        libc6-dev-m68k-cross \
> +        gcc-mips-linux-gnu \
> +        libc6-dev-mips-cross \
> +        gcc-mips64-linux-gnuabi64 \
> +        libc6-dev-mips64-cross \
> +        gcc-mips64el-linux-gnuabi64 \
> +        libc6-dev-mips64el-cross \
> +        gcc-mipsel-linux-gnu \
> +        libc6-dev-mipsel-cross \
> +        gcc-powerpc-linux-gnu \
> +        libc6-dev-powerpc-cross \
> +        gcc-powerpc64-linux-gnu \
> +        libc6-dev-ppc64-cross \
> +        gcc-powerpc64le-linux-gnu \
> +        libc6-dev-ppc64el-cross \
> +        gcc-riscv64-linux-gnu \
> +        libc6-dev-riscv64-cross \
> +        gcc-s390x-linux-gnu \
> +        libc6-dev-s390x-cross \
> +        gcc-sh4-linux-gnu \
> +        libc6-dev-sh4-cross \
> +        gcc-sparc64-linux-gnu \
> +        libc6-dev-sparc64-cross
> +
> +ENV QEMU_CONFIGURE_OPTS --disable-system --disable-docs --disable-tools
> +ENV DEF_TARGET_LIST 
> aarch64-linux-user,alpha-linux-user,arm-linux-user,hppa-linux-user,i386-linux-user,m68k-linux-user,mips-linux-user,mips64-linux-user,mips64el-linux-user,mipsel-linux-user,ppc-linux-user,ppc64-linux-user,ppc64le-linux-user,riscv64-linux-user,s390x-linux-user,sh4-linux-user,sparc64-linux-user
> 




reply via email to

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