diff mbox series

[v1,17/25] tests/docker: update and flatten debian-all-test-cross

Message ID 20220826172128.353798-18-alex.bennee@linaro.org
State New
Headers show
Series testing updates and mips deprecation | expand

Commit Message

Alex Bennée Aug. 26, 2022, 5:21 p.m. UTC
Update to the latest stable Debian. While we are at it flatten into a
single dockerfile. We also need to ensure we install clang as it is
used for those builds as well.

It would be nice to port this to lcitool but for now this will do.

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
 .gitlab-ci.d/container-cross.yml               |  1 -
 tests/docker/Makefile.include                  |  1 -
 .../dockerfiles/debian-all-test-cross.docker   | 18 ++++++++++++++----
 3 files changed, 14 insertions(+), 6 deletions(-)

Comments

Thomas Huth Aug. 26, 2022, 6:34 p.m. UTC | #1
On 26/08/2022 19.21, Alex Bennée wrote:
> Update to the latest stable Debian. While we are at it flatten into a
> single dockerfile. We also need to ensure we install clang as it is
> used for those builds as well.
> 
> It would be nice to port this to lcitool but for now this will do.
> 
> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
> ---
>   .gitlab-ci.d/container-cross.yml               |  1 -
>   tests/docker/Makefile.include                  |  1 -
>   .../dockerfiles/debian-all-test-cross.docker   | 18 ++++++++++++++----
>   3 files changed, 14 insertions(+), 6 deletions(-)
> 
> diff --git a/.gitlab-ci.d/container-cross.yml b/.gitlab-ci.d/container-cross.yml
> index 3a8bd75473..091c0d8fcb 100644
> --- a/.gitlab-ci.d/container-cross.yml
> +++ b/.gitlab-ci.d/container-cross.yml
> @@ -14,7 +14,6 @@ amd64-debian-cross-container:
>   amd64-debian-user-cross-container:
>     extends: .container_job_template
>     stage: containers
> -  needs: ['amd64-debian10-container']
>     variables:
>       NAME: debian-all-test-cross
>   
> diff --git a/tests/docker/Makefile.include b/tests/docker/Makefile.include
> index 24cd44e667..ddcc502049 100644
> --- a/tests/docker/Makefile.include
> +++ b/tests/docker/Makefile.include
> @@ -129,7 +129,6 @@ docker-image-debian-nios2-cross: $(DOCKER_FILES_DIR)/debian-toolchain.docker \
>   	$(call debian-toolchain, $@)
>   
>   # Specialist build images, sometimes very limited tools
> -docker-image-debian-all-test-cross: docker-image-debian10
>   docker-image-debian-loongarch-cross: docker-image-debian11
>   docker-image-debian-microblaze-cross: docker-image-debian10
>   docker-image-debian-nios2-cross: docker-image-debian10
> diff --git a/tests/docker/dockerfiles/debian-all-test-cross.docker b/tests/docker/dockerfiles/debian-all-test-cross.docker
> index dedcea58b4..508a914c22 100644
> --- a/tests/docker/dockerfiles/debian-all-test-cross.docker
> +++ b/tests/docker/dockerfiles/debian-all-test-cross.docker
> @@ -6,11 +6,21 @@
>   # basic compilers for as many targets as possible. We shall use this
>   # to build and run linux-user tests on GitLab
>   #
> -FROM qemu/debian10
> +FROM docker.io/library/debian:11-slim
>   
> -# What we need to build QEMU itself
> -RUN apt update && \
> -    DEBIAN_FRONTEND=noninteractive eatmydata \
> +# Duplicate deb line as deb-src
> +RUN cat /etc/apt/sources.list | sed "s/^deb\ /deb-src /" >> /etc/apt/sources.list
> +
> +RUN export DEBIAN_FRONTEND=noninteractive && \
> +    apt-get update && \
> +    apt-get install -y eatmydata && \
> +    eatmydata apt-get dist-upgrade -y && \
> +    apt install -y --no-install-recommends \
> +      ccache \
> +      clang  \
> +      git \
> +      ninja-build \

Would it make sense to add the above four lines to the "apt install" later 
in this file instead, to speed things up a little bit? (I did it in 
https://lists.gnu.org/archive/html/qemu-devel/2022-08/msg03651.html at least 
and it worked fine there)

Apart from that:

Reviewed-by: Thomas Huth <thuth@redhat.com>


> +    && \
>       apt build-dep -yy qemu
>   
>   # Add the foreign architecture we want and install dependencies
diff mbox series

Patch

diff --git a/.gitlab-ci.d/container-cross.yml b/.gitlab-ci.d/container-cross.yml
index 3a8bd75473..091c0d8fcb 100644
--- a/.gitlab-ci.d/container-cross.yml
+++ b/.gitlab-ci.d/container-cross.yml
@@ -14,7 +14,6 @@  amd64-debian-cross-container:
 amd64-debian-user-cross-container:
   extends: .container_job_template
   stage: containers
-  needs: ['amd64-debian10-container']
   variables:
     NAME: debian-all-test-cross
 
diff --git a/tests/docker/Makefile.include b/tests/docker/Makefile.include
index 24cd44e667..ddcc502049 100644
--- a/tests/docker/Makefile.include
+++ b/tests/docker/Makefile.include
@@ -129,7 +129,6 @@  docker-image-debian-nios2-cross: $(DOCKER_FILES_DIR)/debian-toolchain.docker \
 	$(call debian-toolchain, $@)
 
 # Specialist build images, sometimes very limited tools
-docker-image-debian-all-test-cross: docker-image-debian10
 docker-image-debian-loongarch-cross: docker-image-debian11
 docker-image-debian-microblaze-cross: docker-image-debian10
 docker-image-debian-nios2-cross: docker-image-debian10
diff --git a/tests/docker/dockerfiles/debian-all-test-cross.docker b/tests/docker/dockerfiles/debian-all-test-cross.docker
index dedcea58b4..508a914c22 100644
--- a/tests/docker/dockerfiles/debian-all-test-cross.docker
+++ b/tests/docker/dockerfiles/debian-all-test-cross.docker
@@ -6,11 +6,21 @@ 
 # basic compilers for as many targets as possible. We shall use this
 # to build and run linux-user tests on GitLab
 #
-FROM qemu/debian10
+FROM docker.io/library/debian:11-slim
 
-# What we need to build QEMU itself
-RUN apt update && \
-    DEBIAN_FRONTEND=noninteractive eatmydata \
+# Duplicate deb line as deb-src
+RUN cat /etc/apt/sources.list | sed "s/^deb\ /deb-src /" >> /etc/apt/sources.list
+
+RUN export DEBIAN_FRONTEND=noninteractive && \
+    apt-get update && \
+    apt-get install -y eatmydata && \
+    eatmydata apt-get dist-upgrade -y && \
+    apt install -y --no-install-recommends \
+      ccache \
+      clang  \
+      git \
+      ninja-build \
+    && \
     apt build-dep -yy qemu
 
 # Add the foreign architecture we want and install dependencies