Linux RISC-V Patchwork CI updates

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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





[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux