diff mbox series

[v1,27/29] gitlab: enable a very minimal build with the tricore container

Message ID 20210720232703.10650-28-alex.bennee@linaro.org
State Superseded
Headers show
Series various fixes pre-PR (metadata, docs, plugins, testing) | expand

Commit Message

Alex Bennée July 20, 2021, 11:27 p.m. UTC
Rather than base of the shared Debian 10 container which would require
us to bring in even more dependencies just bring in what is needed for
building tricore-softmmu in GitLab. We don't even remove the container
from the DOCKER_PARTIAL_IMAGES lest we cause more confusion.

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>

Message-Id: <20210720114057.32053-4-alex.bennee@linaro.org>
---
 .gitlab-ci.d/buildtest.yml                    | 11 ++++++
 .../dockerfiles/debian-tricore-cross.docker   | 34 ++++++++++++++++---
 2 files changed, 40 insertions(+), 5 deletions(-)

-- 
2.32.0.264.g75ae10bc75

Comments

Thomas Huth July 21, 2021, 7:05 a.m. UTC | #1
On 21/07/2021 01.27, Alex Bennée wrote:
> Rather than base of the shared Debian 10 container which would require

> us to bring in even more dependencies just bring in what is needed for

> building tricore-softmmu in GitLab. We don't even remove the container

> from the DOCKER_PARTIAL_IMAGES lest we cause more confusion.

> 

> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>

> Message-Id: <20210720114057.32053-4-alex.bennee@linaro.org>

> ---

>   .gitlab-ci.d/buildtest.yml                    | 11 ++++++

>   .../dockerfiles/debian-tricore-cross.docker   | 34 ++++++++++++++++---

>   2 files changed, 40 insertions(+), 5 deletions(-)

> 

> diff --git a/.gitlab-ci.d/buildtest.yml b/.gitlab-ci.d/buildtest.yml

> index 89df51517c..48cb45a783 100644

> --- a/.gitlab-ci.d/buildtest.yml

> +++ b/.gitlab-ci.d/buildtest.yml

> @@ -354,6 +354,17 @@ build-some-softmmu:

>       TARGETS: xtensa-softmmu arm-softmmu aarch64-softmmu alpha-softmmu

>       MAKE_CHECK_ARGS: check-tcg

>   

> +# We build tricore in a very minimal tricore only container

> +build-tricore-softmmu:

> +  extends: .native_build_job_template

> +  needs:

> +    job: tricore-debian-cross-container

> +  variables:

> +    IMAGE: debian-tricore-cross

> +    CONFIGURE_ARGS: --disable-tools --disable-fdt --enable-debug

> +    TARGETS: tricore-softmmu

> +    MAKE_CHECK_ARGS: check-tcg

> +

>   clang-system:

>     extends: .native_build_job_template

>     needs:

> diff --git a/tests/docker/dockerfiles/debian-tricore-cross.docker b/tests/docker/dockerfiles/debian-tricore-cross.docker

> index 985925134c..d8df2c6117 100644

> --- a/tests/docker/dockerfiles/debian-tricore-cross.docker

> +++ b/tests/docker/dockerfiles/debian-tricore-cross.docker

> @@ -1,23 +1,47 @@

>   #

>   # Docker TriCore cross-compiler target

>   #

> -# This docker target builds on the debian Stretch base image.

> +# This docker target builds on the Debian Buster base image but

> +# doesn't inherit from the common one to avoid bringing in unneeded

> +# dependencies.

>   #

>   # Copyright (c) 2018 Philippe Mathieu-Daudé

>   #

>   # SPDX-License-Identifier: GPL-2.0-or-later

>   #

> -FROM qemu/debian10

> +FROM docker.io/library/debian:buster-slim

>   

>   MAINTAINER Philippe Mathieu-Daudé <f4bug@amsat.org>

>   

> +RUN apt update && \

> +    DEBIAN_FRONTEND=noninteractive apt install -yy eatmydata && \

> +    DEBIAN_FRONTEND=noninteractive eatmydata apt install -yy \

> +       bzip2 \

> +       ca-certificates \

> +       ccache \

> +       g++ \

> +       gcc \

> +       git \

> +       libglib2.0-dev \

> +       libpixman-1-dev \

> +       libtest-harness-perl \

> +       locales \

> +       make \

> +       ninja-build \

> +       perl-base \

> +       pkgconf \

> +       python3-pip \

> +       python3-setuptools \

> +       python3-wheel

> +

>   RUN git clone --single-branch \

>           https://github.com/bkoppelmann/tricore-binutils.git \

>           /usr/src/binutils && \

>       cd /usr/src/binutils && chmod +x missing && \

> -    CFLAGS=-w ./configure --prefix=/usr --disable-nls --target=tricore && \

> +    CFLAGS=-w ./configure --prefix=/usr/local --disable-nls --target=tricore && \

>       make && make install && \

>       rm -rf /usr/src/binutils

>   

> -# This image isn't designed for building QEMU but building tests

> -ENV QEMU_CONFIGURE_OPTS --disable-system --disable-user

> +# This image can only build a very minimal QEMU as well as the tests

> +ENV DEF_TARGET_LIST tricore-softmmu

> +ENV QEMU_CONFIGURE_OPTS --disable-user --disable-tools --disable-fdt

> 


Reviewed-by: Thomas Huth <thuth@redhat.com>
Willian Rampazzo July 21, 2021, 3 p.m. UTC | #2
On Tue, Jul 20, 2021 at 8:34 PM Alex Bennée <alex.bennee@linaro.org> wrote:
>

> Rather than base of the shared Debian 10 container which would require

> us to bring in even more dependencies just bring in what is needed for

> building tricore-softmmu in GitLab. We don't even remove the container

> from the DOCKER_PARTIAL_IMAGES lest we cause more confusion.

>

> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>

> Message-Id: <20210720114057.32053-4-alex.bennee@linaro.org>

> ---

>  .gitlab-ci.d/buildtest.yml                    | 11 ++++++

>  .../dockerfiles/debian-tricore-cross.docker   | 34 ++++++++++++++++---

>  2 files changed, 40 insertions(+), 5 deletions(-)

>


Reviewed-by: Willian Rampazzo <willianr@redhat.com>
diff mbox series

Patch

diff --git a/.gitlab-ci.d/buildtest.yml b/.gitlab-ci.d/buildtest.yml
index 89df51517c..48cb45a783 100644
--- a/.gitlab-ci.d/buildtest.yml
+++ b/.gitlab-ci.d/buildtest.yml
@@ -354,6 +354,17 @@  build-some-softmmu:
     TARGETS: xtensa-softmmu arm-softmmu aarch64-softmmu alpha-softmmu
     MAKE_CHECK_ARGS: check-tcg
 
+# We build tricore in a very minimal tricore only container
+build-tricore-softmmu:
+  extends: .native_build_job_template
+  needs:
+    job: tricore-debian-cross-container
+  variables:
+    IMAGE: debian-tricore-cross
+    CONFIGURE_ARGS: --disable-tools --disable-fdt --enable-debug
+    TARGETS: tricore-softmmu
+    MAKE_CHECK_ARGS: check-tcg
+
 clang-system:
   extends: .native_build_job_template
   needs:
diff --git a/tests/docker/dockerfiles/debian-tricore-cross.docker b/tests/docker/dockerfiles/debian-tricore-cross.docker
index 985925134c..d8df2c6117 100644
--- a/tests/docker/dockerfiles/debian-tricore-cross.docker
+++ b/tests/docker/dockerfiles/debian-tricore-cross.docker
@@ -1,23 +1,47 @@ 
 #
 # Docker TriCore cross-compiler target
 #
-# This docker target builds on the debian Stretch base image.
+# This docker target builds on the Debian Buster base image but
+# doesn't inherit from the common one to avoid bringing in unneeded
+# dependencies.
 #
 # Copyright (c) 2018 Philippe Mathieu-Daudé
 #
 # SPDX-License-Identifier: GPL-2.0-or-later
 #
-FROM qemu/debian10
+FROM docker.io/library/debian:buster-slim
 
 MAINTAINER Philippe Mathieu-Daudé <f4bug@amsat.org>
 
+RUN apt update && \
+    DEBIAN_FRONTEND=noninteractive apt install -yy eatmydata && \
+    DEBIAN_FRONTEND=noninteractive eatmydata apt install -yy \
+       bzip2 \
+       ca-certificates \
+       ccache \
+       g++ \
+       gcc \
+       git \
+       libglib2.0-dev \
+       libpixman-1-dev \
+       libtest-harness-perl \
+       locales \
+       make \
+       ninja-build \
+       perl-base \
+       pkgconf \
+       python3-pip \
+       python3-setuptools \
+       python3-wheel
+
 RUN git clone --single-branch \
         https://github.com/bkoppelmann/tricore-binutils.git \
         /usr/src/binutils && \
     cd /usr/src/binutils && chmod +x missing && \
-    CFLAGS=-w ./configure --prefix=/usr --disable-nls --target=tricore && \
+    CFLAGS=-w ./configure --prefix=/usr/local --disable-nls --target=tricore && \
     make && make install && \
     rm -rf /usr/src/binutils
 
-# This image isn't designed for building QEMU but building tests
-ENV QEMU_CONFIGURE_OPTS --disable-system --disable-user
+# This image can only build a very minimal QEMU as well as the tests
+ENV DEF_TARGET_LIST tricore-softmmu
+ENV QEMU_CONFIGURE_OPTS --disable-user --disable-tools --disable-fdt