You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+15-19Lines changed: 15 additions & 19 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,26 +1,25 @@
1
-
# Kernel Patches Daemon
1
+
# Kernel Patches Daemon (KPD)
2
2
3
-
Kernel Patches Daemon (`kpd`), watches patchwork for new series sent to the mailing
4
-
list, applies the series on top of `repo`.
3
+
Kernel Patches Daemon (KPD) is a service connecting [Patchwork](https://github.com/getpatchwork/patchwork) with a GitHub repository, primarily for the puprose of running automated continuous integration (CI) testing via [GitHub Actions](https://github.com/features/actions).
5
4
6
-
`repo` maintains base branches by pulling updates from `<upstream>@<upstream_branch>`
7
-
and applying the CI files from `<ci_repo>@<ci_branch>`to it.
5
+
KPD watches Patchwork for new patch series and keeps them in sync with pull requests for a specified repository.
6
+
It also updates series checks at Patchwork with CI workflow results, and can send email notifications to the authors of a patch.
8
7
9
-
When `kpd` sees a new or updated series, it applies the patches from the series
10
-
on top of one of the maintained branch and creates a PR against it.
8
+
KPD was originally developed at Meta in order to facilitate automated testing of [BPF subsystem](https://docs.cilium.io/en/latest/reference-guides/bpf/index.html) of the [Linux Kernel](https://kernel.org/) (see [BPF CI](https://github.com/kernel-patches/bpf/actions/workflows/test.yml)).
11
9
12
-
This in turns triggers the Github workflows copied from `ci_repo`.
10
+
There have been a number of talks at various Linux-related conferences about KPD, see the slide decks for an introduction and overview:
11
+
-["KPD: Connect LKML to GitHub"](https://github.com/user-attachments/files/21110162/KPD_.Connect.LKML.to.GitHub.pdf) (Automated Testing Summit 2025)
12
+
-["Get Started with KPD"](https://github.com/user-attachments/files/21110192/Get.Started.with.KPD.pdf) (2024)
13
+
-["How BPF CI works?"](http://oldvger.kernel.org/bpfconf2022_material/lsfmmbpf2022-bpf-ci.pdf) (LSF/MM/BPF 2022)
13
14
14
-
When the workflow runs are reporting back, `kpd` updates the relevant checks for
15
-
this series on patchwork (when the configuration provides a `pw_token` and
16
-
`pw_user`).
15
+
Also [kdevops](https://github.com/linux-kdevops/kdevops) project has great documentation with [a page on KPD integration](https://github.com/linux-kdevops/kdevops/blob/main/docs/kernel-ci/kernel-ci-kpd.md).
17
16
18
17
## Configuration
19
-
`kpd.conf.template` is an example config based on the setup of https://github.com/kernel-patches/bpf
20
18
21
-
The branch `bpf-next` uses [Github personal token](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token)
See an example of the configuration files in `configs/` directory.
20
+
21
+
You may use [Github personal token](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token)
22
+
to authenticate KPD to github, but using [Github App](https://docs.github.com/en/apps/creating-github-apps/authenticating-with-a-github-app/about-authentication-with-a-github-app) is preferrable.
24
23
25
24
When using a GH app, it needs to have the following read and write access:
0 commit comments