[<prev] [next>] [day] [month] [year] [list]
Message-ID: <CAJ+HfNj0i_gxiuZFFY=87s+h4GV43u+ORiTi0CHOxe-R3eGrQg@mail.gmail.com>
Date: Wed, 29 Jan 2025 14:26:51 +0100
From: Björn Töpel <bjorn@...nel.org>
To: linux-riscv <linux-riscv@...ts.infradead.org>
Cc: Paul Walmsley <paul.walmsley@...ive.com>, Palmer Dabbelt <palmer@...belt.com>,
Conor Dooley <mail@...chuod.ie>, Björn Töpel <bjorn@...nel.org>,
Charlie Jenkins <charlie@...osinc.com>, Tedd An <tedd.an@...el.com>,
Alexandre Ghiti <alex@...ti.fr>, LKML <linux-kernel@...r.kernel.org>,
linux-bluetooth@...r.kernel.org
Subject: Linux RISC-V Patchwork CI updates
Hi!
I just deployed a new, and hopefully improved, version of the Linux
RISC-V Patchwork CI.
The PW CI is the thing that posts the "check stoplights" to the Linux
RISC-V Patchwork instance [1]. IOW, a pre-commit CI.
Changes
-------
* The test framework is now using Python, instead of a pile of Bash. A
lot of the code is heavily based on bzcafe [2]. Bash only takes you
that far. ;-)
* Email support; The framework will mail the submitter(s) with the CI
results, for better visibility. Currently, I'm the only recipient of
mails to make sure that the framework doesn't spam too much. I'll
flip the switch sometime this week.
* Failed tests will have the details in a Github Gist page, linked
from the Patchwork patch view.
* The framework will post updates/results as comments to the pull
request corresponding to the Patchwork series, e.g. [3]. This is in
addition to the Gist links above.
* Moved from Meta's KDP daemon (external Python daemon that
synchronizes the mailing list with Github), in favor of the
Bluetooth folks bzcafe scripts [2]. This change makes the whole PW CI
self-contained as a set of Github Action set of files, and hopefully
open up for other folks to hack the CI (nudge, nudge).
Details (for those who care, or would like to push PRs)
-------------------------------------------------------
The CI code resides in linux-riscv/github-ci [4]. Additions to this
repo will automatically be picked up the linux-riscv/linux [5] where
the CI is run.
Currently, there are 6 branches:
master, workflow
{master,workflow}__riscv__fixes
{master,workflow}__riscv__for-next
master is a mirror of Linus' master [6], and fixes/for-next is the
RISC-V tree [7]. The "workflow" is the master, but with the PW CI [4]
applied as one commit on top.
The branches above are synched by a Github cronjob, run by sync.yml
[8]. The sync.yml action synchronizes all the branches, and then
fetches the latest "New" patches from Patchwork in the last 7 days.
The script then tries to apply the series in the following order:
1. workflow__riscv__fixes
2. workflow__riscv__for-next
3. workflow
If all three fail, the submitter will be notified. If any of them
succeeds, a Github PR is created for the series. IOW, all the ongoing
tests for patches can be found here [9].
The test for a series will be run in the context of a PR, and all
information can be found there. The code for the Patchwork tests can be
followed from the workflow [10].
RISE is continuing to sponsor the self hosted Github Runners, and soon
we'll move from 4 to 8 instances, which will allow for more tests.
Cheers,
Björn
[1] https://patchwork.kernel.org/project/linux-riscv/list/
[2] https://github.com/tedd-an/bzcafe
[3] https://github.com/linux-riscv/linux/pull/2
[4] https://github.com/linux-riscv/github-ci/
[5] https://github.com/linux-riscv/linux/
[6] git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
[7] git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux.git
[8] https://github.com/linux-riscv/github-ci/blob/main/.github/workflows/sync.yml
[9] https://github.com/linux-riscv/linux/pulls
[10] https://github.com/linux-riscv/github-ci/blob/main/.github/workflows/patchwork.yml
Powered by blists - more mailing lists