[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAJ+HfNjwqMhAFUvKRsWEAD1BZNC19ouYmJ9XMNP2HrcyKo6Ltg@mail.gmail.com>
Date: Mon, 30 Sep 2024 16:54:19 +0200
From: Björn Töpel <bjorn@...nel.org>
To: Palmer Dabbelt <palmer@...belt.com>, Paul Walmsley <paul.walmsley@...ive.com>,
linux-riscv <linux-riscv@...ts.infradead.org>
Cc: Charlie Jenkins <charlie@...osinc.com>, Conor Dooley <conor@...nel.org>,
Samuel Holland <samuel.holland@...ive.com>,
Emil Renner Berthing <emil.renner.berthing@...onical.com>,
Drew Fustini <dfustini@...storrent.com>, Arnd Bergmann <arnd@...db.de>,
LKML <linux-kernel@...r.kernel.org>
Subject: Github RISC-V CI (BoF follow-up)
Hi,
Following up on the discussion around CI that came up during Plumbers
RISC-V BoF.
TL;DR: There's a CI running builds/and tests for RISC-V. Check out [4],
if you're a nice person, try to fix what's broken.
Long version: As most of you know there are a number of Linux kernel
CIs out there, that build/test some areas of RISC-V. kernelci does
some, and Linaro LKFT some.
Yet another CI runs in parallel to the RISC-V Patchwork CI on Github,
running on the RISE sponsored runners [1].
A major piece missing is a summary/dashboard page. That's still in the
planning phase. I'll be looking into what the kernel CI folks are
offering in that space (KCIDB).
The CI pulls in a couple of branches, e.g. Linus' master, Palmer's
staging branches, and more. All branches are listed via the PRs here
[4].
There are two workflows ci-series (build and boot), and for bpf,
bpf-next, and Linus' master ci-kselftest is running as an experiment.
I'll be adding kselftest to the other branches, and a couple of other
suites once we get more build machines, and the tests are somewhat
more stable. ;-)
All the builds are cross compiled, and the tests are performed on
qemu. It's all run in a Docker container [3], that can be pulled with:
$ docker pull ghcr.io/linux-riscv/pw-builder:latest
The Github CI scripts (again, shared with Patchwork) reside here [2].
Each time a tree moves, a new build is performed. Sometimes, the tree
moves before the job is done. In that case it's cancelled, and re-run
on the new head.
Build/boot: A 6.12-rc1 run is here [6]. The log artifacts are at the bottom.
Click "build-series", and expand "Run checks" for more details (or
checkout the logs).
Kselftest: A 6.12-rc1 run is here [5]. The kernel configuration is
defconfig+kselftest-merge (plus some additional bandaid patches that
haven't made it to mainline [7]. The test suites include everything
that's explicitly in TARGETS (top kselftest Makefile), and that has
cross compile support (e.g. NOT sched_ext yet ;-)).
Download the logs from [5], and then:
$ egrep -a '^TEST|^not|Kernel panic' *__kselftest{,-bpf,-net,-ftrace}.log
to view the failed tests. On 6.12-rc1 the ftrace suite panics! :-P
It's far from perfect, and we're still not running enough (AFAIK) tests on
real HW, but it's something that's available now. Patches are *welcome*
X-D.
Björn
[1] https://github.com/linux-riscv/linux-riscv
[2] https://github.com/linux-riscv/github-ci/
[3] https://github.com/linux-riscv/docker
[4] https://github.com/linux-riscv/linux-riscv/pulls?q=is%3Apr+is%3Aopen+test%5D
[5] https://github.com/linux-riscv/linux-riscv/actions/runs/11096387863
[6] https://github.com/linux-riscv/linux-riscv/actions/runs/11096387858
[7] https://github.com/linux-riscv/github-ci/tree/main/.github/scripts/series/patches
Powered by blists - more mailing lists