[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
>
- Re: [PATCH v3 29/30] gitlab: limit re-builds of the containers, (continued)
- [PATCH v3 24/30] gitlab: add acceptance testing to system builds, Alex Bennée, 2020/06/26
- [PATCH v3 27/30] gitlab: add avocado asset caching, Alex Bennée, 2020/06/26
- [PATCH v3 22/30] tests/docker: add --registry support to tooling, Alex Bennée, 2020/06/26
- [PATCH v3 25/30] tests/docker: add a linux-user testing focused image, Alex Bennée, 2020/06/26
- Re: [PATCH v3 25/30] tests/docker: add a linux-user testing focused image,
Philippe Mathieu-Daudé <=
- Re: [PATCH v3 00/30] testing/next (gitlab, vm, docker), no-reply, 2020/06/26