aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Bennée <alex.bennee@linaro.org>2023-10-29 14:50:19 +0000
committerAlex Bennée <alex.bennee@linaro.org>2023-10-31 13:28:30 +0000
commitcb8715bf0ce2d8347729bbaf19e236be95d58084 (patch)
tree94b0fa7f7d8ee69a04b66041defe67e58eefa587
parent6f6c399976933d3c77cb0f516d5d8bbfc0fad2b0 (diff)
gitlab: add build-loongarch to matrix
We have the compiler and with a few updates a container that can build QEMU so we should at least run the check-tcg smoke tests. Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20231029145033.592566-6-alex.bennee@linaro.org>
-rw-r--r--.gitlab-ci.d/buildtest.yml9
-rw-r--r--.gitlab-ci.d/container-cross.yml6
-rw-r--r--tests/docker/Makefile.include1
-rw-r--r--tests/docker/dockerfiles/debian-loongarch-cross.docker22
4 files changed, 36 insertions, 2 deletions
diff --git a/.gitlab-ci.d/buildtest.yml b/.gitlab-ci.d/buildtest.yml
index 5e9cbf9385..9500ea6e2c 100644
--- a/.gitlab-ci.d/buildtest.yml
+++ b/.gitlab-ci.d/buildtest.yml
@@ -303,6 +303,15 @@ build-some-softmmu:
TARGETS: arm-softmmu aarch64-softmmu i386-softmmu riscv64-softmmu
s390x-softmmu x86_64-softmmu
MAKE_CHECK_ARGS: check-tcg
+
+build-loongarch64:
+ extends: .native_build_job_template
+ needs:
+ job: loongarch-debian-cross-container
+ variables:
+ IMAGE: debian-loongarch-cross
+ CONFIGURE_ARGS: --disable-tools --enable-debug
+ TARGETS: loongarch64-linux-user loongarch64-softmmu
MAKE_CHECK_ARGS: check-tcg
# We build tricore in a very minimal tricore only container
diff --git a/.gitlab-ci.d/container-cross.yml b/.gitlab-ci.d/container-cross.yml
index 80c540230a..d200f3e00d 100644
--- a/.gitlab-ci.d/container-cross.yml
+++ b/.gitlab-ci.d/container-cross.yml
@@ -52,6 +52,12 @@ hppa-debian-cross-container:
variables:
NAME: debian-hppa-cross
+loongarch-debian-cross-container:
+ extends: .container_job_template
+ stage: containers
+ variables:
+ NAME: debian-loongarch-cross
+
m68k-debian-cross-container:
extends: .container_job_template
stage: containers
diff --git a/tests/docker/Makefile.include b/tests/docker/Makefile.include
index ab68b2dbad..5635d1537f 100644
--- a/tests/docker/Makefile.include
+++ b/tests/docker/Makefile.include
@@ -125,7 +125,6 @@ docker-image-debian-nios2-cross: $(DOCKER_FILES_DIR)/debian-toolchain.docker \
DOCKER_PARTIAL_IMAGES += debian-alpha-cross
DOCKER_PARTIAL_IMAGES += debian-powerpc-test-cross
DOCKER_PARTIAL_IMAGES += debian-hppa-cross
-DOCKER_PARTIAL_IMAGES += debian-loongarch-cross
DOCKER_PARTIAL_IMAGES += debian-m68k-cross debian-mips64-cross
DOCKER_PARTIAL_IMAGES += debian-microblaze-cross
DOCKER_PARTIAL_IMAGES += debian-mips-cross
diff --git a/tests/docker/dockerfiles/debian-loongarch-cross.docker b/tests/docker/dockerfiles/debian-loongarch-cross.docker
index b4bf265717..b25e779a2c 100644
--- a/tests/docker/dockerfiles/debian-loongarch-cross.docker
+++ b/tests/docker/dockerfiles/debian-loongarch-cross.docker
@@ -9,22 +9,42 @@ FROM docker.io/library/debian:11-slim
# 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 build-dep -yy qemu
+
RUN apt-get update && \
DEBIAN_FRONTEND=noninteractive apt install -yy eatmydata && \
DEBIAN_FRONTEND=noninteractive eatmydata \
apt-get install -y --no-install-recommends \
build-essential \
+ bison \
ca-certificates \
+ ccache \
+ clang \
+ flex \
curl \
gettext \
git \
- python3-minimal
+ ninja-build \
+ python3-pip \
+ python3-setuptools \
+ python3-venv \
+ python3-wheel
+
+RUN /usr/bin/pip3 install tomli
RUN curl -#SL https://github.com/loongson/build-tools/releases/download/2023.08.08/CLFS-loongarch64-8.1-x86_64-cross-tools-gcc-glibc.tar.xz \
| tar -xJC /opt
ENV PATH $PATH:/opt/cross-tools/bin
ENV LD_LIBRARY_PATH /opt/cross-tools/lib:/opt/cross-tools/loongarch64-unknown-linux-gnu/lib:$LD_LIBRARY_PATH
+
+ENV QEMU_CONFIGURE_OPTS --disable-system --disable-docs --disable-tools
+ENV DEF_TARGET_LIST loongarch64-linux-user,loongarch-softmmu
+
# As a final step configure the user (if env is defined)
ARG USER
ARG UID