* [PATCH 0/3] ci: update to Trixie to use make --shuffle
@ 2025-09-01 15:38 Ahmad Fatoum
2025-09-01 15:38 ` [PATCH 1/3] ci: container: update components installed on top to newest versions Ahmad Fatoum
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: Ahmad Fatoum @ 2025-09-01 15:38 UTC (permalink / raw)
To: barebox
Debian Trixie ships with GNU make v4.4.1.
v4.4 introduced a new --shuffle option that shuffles goal and prerequisite
ordering to hopefully catch issues around non-deterministic build order
in parallel makefiles.
Let's enable this option for all our defconfig builds. When a build
fails, make will also print to stderr a shuffle=<integer> line.
The integer can be passed to --shuffle locally when trying to reproduce
the breakage.
Ahmad Fatoum (3):
ci: container: update components installed on top to newest versions
ci: container: update to Debian Trixie
ci: build: shuffle goal and prerequisite ordering
.github/workflows/build-defconfigs.yml | 2 ++
test/Containerfile | 21 ++++++++++-----------
2 files changed, 12 insertions(+), 11 deletions(-)
--
2.47.2
^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH 1/3] ci: container: update components installed on top to newest versions
2025-09-01 15:38 [PATCH 0/3] ci: update to Trixie to use make --shuffle Ahmad Fatoum
@ 2025-09-01 15:38 ` Ahmad Fatoum
2025-09-01 15:38 ` [PATCH 2/3] ci: container: update to Debian Trixie Ahmad Fatoum
2025-09-01 15:38 ` [PATCH 3/3] ci: build: shuffle goal and prerequisite ordering Ahmad Fatoum
2 siblings, 0 replies; 4+ messages in thread
From: Ahmad Fatoum @ 2025-09-01 15:38 UTC (permalink / raw)
To: barebox; +Cc: Ahmad Fatoum
All of GCC, LLVM, the Kalray GCC, Labgrid and QEMU have had newer
releases in the mean time, so let's update them all to the newest
version in preparation for updating the Debian container as a whole.
Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
---
test/Containerfile | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/test/Containerfile b/test/Containerfile
index fb9bb25bbfc5..9a1df8efb99c 100644
--- a/test/Containerfile
+++ b/test/Containerfile
@@ -58,8 +58,8 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*
-ENV GCC_VERSION=14.2.0
-ENV LLVM_VERSION=20
+ENV GCC_VERSION=15.2.0
+ENV LLVM_VERSION=21
RUN apt-get update && apt-get install -y --no-install-recommends \
lsb-release software-properties-common gnupg \
@@ -81,10 +81,10 @@ RUN korg_crosstool_dl() { wget -nv -O - https://mirrors.edge.kernel.org/pub/tool
RUN tgz_checksum_dl() { set -e; wget -nv -O archive.tgz "$1"; \
echo "$2 archive.tgz" | sha256sum --check --status; tar -C /opt -xzf archive.tgz; rm archive.tgz; } && \
- tgz_checksum_dl https://github.com/kalray/build-scripts/releases/download/v5.0.0/gcc-kalray-kvx-ubuntu-22.04-v5.0.0.tar.gz \
- d27b3d6e6246f5debffee0bb01e77eb133bd32c658782a68a779cf9fb4c436bc
+ tgz_checksum_dl https://github.com/kalray/build-scripts/releases/download/v5.2.0/gcc-kalray-kvx-ubuntu-22.04-v5.2.0.tar.gz \
+ f59964cac188f1e5a8f628d0abef68e3b6ceebdae18dff51625472329fe6ec40
-RUN wget -nv "https://github.com/qemu/qemu/blob/v5.2.0/pc-bios/opensbi-riscv32-generic-fw_dynamic.bin?raw=true" -O /usr/share/qemu/opensbi-riscv32-generic-fw_dynamic.bin
+RUN wget -nv "https://github.com/qemu/qemu/blob/v10.1.0/pc-bios/opensbi-riscv32-generic-fw_dynamic.bin?raw=true" -O /usr/share/qemu/opensbi-riscv32-generic-fw_dynamic.bin
# Create our user/group
RUN useradd -m -U barebox
@@ -92,7 +92,7 @@ RUN echo barebox ALL=NOPASSWD: ALL > /etc/sudoers.d/barebox
# install labgrid
RUN pip3 install -q --no-cache-dir --break-system-packages \
- git+https://github.com/labgrid-project/labgrid.git@v25.0 && \
+ git+https://github.com/labgrid-project/labgrid.git@v25.0.1 && \
ln -s $(which pytest) /usr/local/bin/labgrid-pytest
ENV CROSS_COMPILE_arm=/opt/gcc-${GCC_VERSION}-nolibc/arm-linux-gnueabi/bin/arm-linux-gnueabi-
--
2.47.2
^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH 2/3] ci: container: update to Debian Trixie
2025-09-01 15:38 [PATCH 0/3] ci: update to Trixie to use make --shuffle Ahmad Fatoum
2025-09-01 15:38 ` [PATCH 1/3] ci: container: update components installed on top to newest versions Ahmad Fatoum
@ 2025-09-01 15:38 ` Ahmad Fatoum
2025-09-01 15:38 ` [PATCH 3/3] ci: build: shuffle goal and prerequisite ordering Ahmad Fatoum
2 siblings, 0 replies; 4+ messages in thread
From: Ahmad Fatoum @ 2025-09-01 15:38 UTC (permalink / raw)
To: barebox; +Cc: Ahmad Fatoum
Debian Trixie was released last month. Let's update our container to it.
Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
---
test/Containerfile | 9 ++++-----
1 file changed, 4 insertions(+), 5 deletions(-)
diff --git a/test/Containerfile b/test/Containerfile
index 9a1df8efb99c..39bd64603e86 100644
--- a/test/Containerfile
+++ b/test/Containerfile
@@ -2,7 +2,7 @@
# This Containerfile is used to build an image containing basic stuff to be used
# to build barebox and run our test suites.
-FROM debian:bookworm
+FROM debian:trixie
MAINTAINER Sascha Hauer <s.hauer@pengutronix.de>
LABEL Description="This image is for building and testing barebox inside a container"
@@ -21,7 +21,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
libc6-i386 \
libgit2-dev \
libguestfs-tools \
- liblz4-tool \
+ lz4 \
librsvg2-bin \
libseccomp-dev \
libssl-dev \
@@ -61,11 +61,10 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
ENV GCC_VERSION=15.2.0
ENV LLVM_VERSION=21
-RUN apt-get update && apt-get install -y --no-install-recommends \
- lsb-release software-properties-common gnupg \
+RUN apt-get update && apt-get install -y --no-install-recommends lsb-release gnupg \
&& wget https://apt.llvm.org/llvm.sh \
&& chmod +x llvm.sh && ./llvm.sh ${LLVM_VERSION} \
- && apt-get remove -y lsb-release software-properties-common gnupg \
+ && apt-get remove -y lsb-release gnupg \
&& apt-get autoremove -y --purge \
&& apt-get clean \
&& rm -rf llvm.sh /var/lib/apt/lists/*
--
2.47.2
^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH 3/3] ci: build: shuffle goal and prerequisite ordering
2025-09-01 15:38 [PATCH 0/3] ci: update to Trixie to use make --shuffle Ahmad Fatoum
2025-09-01 15:38 ` [PATCH 1/3] ci: container: update components installed on top to newest versions Ahmad Fatoum
2025-09-01 15:38 ` [PATCH 2/3] ci: container: update to Debian Trixie Ahmad Fatoum
@ 2025-09-01 15:38 ` Ahmad Fatoum
2 siblings, 0 replies; 4+ messages in thread
From: Ahmad Fatoum @ 2025-09-01 15:38 UTC (permalink / raw)
To: barebox; +Cc: Ahmad Fatoum
Now that the container has been newly updated to Debian Trixie, we have
GNU make v4.4.1 available. v4.4 introduced a new --shuffle option
that shuffles goal and prerequisite ordering to hopefully catch issues
around non-deterministic build order in parallel makefiles.
Let's enable this option for all our defconfig builds. When a build
fails, make will also print to stderr a shuffle=<integer> line.
The integer can be passed to --shuffle locally when trying to reproduce
the breakage.
Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
---
.github/workflows/build-defconfigs.yml | 2 ++
1 file changed, 2 insertions(+)
diff --git a/.github/workflows/build-defconfigs.yml b/.github/workflows/build-defconfigs.yml
index c95c56b6ba88..e99dfe595bf0 100644
--- a/.github/workflows/build-defconfigs.yml
+++ b/.github/workflows/build-defconfigs.yml
@@ -39,6 +39,8 @@ jobs:
./test/generate-dummy-fw.sh
+ export GNUMAKEFLAGS=--shuffle
+
./MAKEALL -O build-${{matrix.arch}} -l "" -v 0 \
-k common/boards/configs/disable_size_check.config \
-k common/boards/configs/disable_target_tools.config \
--
2.47.2
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2025-09-01 23:12 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-09-01 15:38 [PATCH 0/3] ci: update to Trixie to use make --shuffle Ahmad Fatoum
2025-09-01 15:38 ` [PATCH 1/3] ci: container: update components installed on top to newest versions Ahmad Fatoum
2025-09-01 15:38 ` [PATCH 2/3] ci: container: update to Debian Trixie Ahmad Fatoum
2025-09-01 15:38 ` [PATCH 3/3] ci: build: shuffle goal and prerequisite ordering Ahmad Fatoum
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox