[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 30/41] tests/docker: add a linux-user testing focused image
From: |
Alex Bennée |
Subject: |
[PULL 30/41] tests/docker: add a linux-user testing focused image |
Date: |
Tue, 7 Jul 2020 08:08:47 +0100 |
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>
Message-Id: <20200701135652.1366-33-alex.bennee@linaro.org>
diff --git a/.gitlab-ci.d/containers.yml b/.gitlab-ci.d/containers.yml
index f353359fd8ba..a7621c4204c7 100644
--- a/.gitlab-ci.d/containers.yml
+++ b/.gitlab-ci.d/containers.yml
@@ -64,6 +64,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 a26177abc258..a104e9df2817 100644
--- a/tests/docker/Makefile.include
+++ b/tests/docker/Makefile.include
@@ -134,6 +134,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 000000000000..dedcea58b467
--- /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
--
2.20.1
- [PULL 23/41] tests/docker: add packages needed for check-acceptance, (continued)
- [PULL 23/41] tests/docker: add packages needed for check-acceptance, Alex Bennée, 2020/07/07
- [PULL 38/41] shippable: pull images from registry instead of building, Alex Bennée, 2020/07/07
- [PULL 32/41] gitlab: enable check-tcg for linux-user tests, Alex Bennée, 2020/07/07
- [PULL 26/41] tests/acceptance: skip multicore mips_malta tests on GitLab, Alex Bennée, 2020/07/07
- [PULL 40/41] tests/qht-bench: Adjust testing rate by -1, Alex Bennée, 2020/07/07
- [PULL 24/41] tests/acceptance: skip s390x_ccw_vrtio_tcg on GitLab, Alex Bennée, 2020/07/07
- [PULL 21/41] gitlab: build containers with buildkit and metadata, Alex Bennée, 2020/07/07
- [PULL 22/41] tests/docker: add --registry support to tooling, Alex Bennée, 2020/07/07
- [PULL 33/41] gitlab: add avocado asset caching, Alex Bennée, 2020/07/07
- [PULL 19/41] gitlab: build all container images during CI, Alex Bennée, 2020/07/07
- [PULL 30/41] tests/docker: add a linux-user testing focused image,
Alex Bennée <=
- [PULL 37/41] testing: add check-build target, Alex Bennée, 2020/07/07
- Re: [PULL 00/41] testing updates (vm, gitlab, misc build fixes), Alex Bennée, 2020/07/07
- Re: [PULL 00/41] testing updates (vm, gitlab, misc build fixes), Peter Maydell, 2020/07/09