Skip to content

Commit 01084fc

Browse files
committed
CI: add defconfig and symlinks to enable automatic firmware loader testing
A patchwork instance has been created leveraging lei filters to allow only specific firmware loader code to create a patchwork instance [0]. We've respectively created a kernel-patch-daemon [1] application under linux-kdevops now to allow us to push development patches received for the firmware loader onto a new development branch onto the new kpd specific tree under linux-kdevops for kpd testing [2]. The linux-firmware app under kdevops will monitor and look for patches from patchwork and create branches for us on the linux-firmware-kpd tree. The existing kdevops-ci tree already leverages support for selftests, and since kdevops already supports selftests and already has the firmware selftest support, all we need to do to enable connecting all the above together is associating the linux-firmware-kpd tree to a specific kdevops defconfig, for that we add a new defconfig for the firmware loader, seltests-firmware. Users can now also easily test the firmware loader tests easily with kdevops by just using: make defconfig-seltests-firmware make -j80 make bringup make linux make selftests make sefltests-baseline The kdevops-ci main branch does this: make defconfig-$repo LINUX_TREE=$repourl LINUX_REF=reporef make -j80 make bringup make linux make ci-build-test make ci-test make ci-results The ci-targets are mapped to instructions in a file: $ cat .ci/build-test/selftests make selftests $ cat .ci/test/selftests make selftests-baseline $ cat .ci/results/selftests workflows/selftests/results/ guestfs/*/*.xml guestfs/*/*.log journal/* .config extra_vars.yaml linux/.config The results are used to create an ephemeral github artifact as zip file and additionally kdevops leverage the kdevops-results-archive [4] to permanently store the same results archive in xz format into it with an automatic commit. The kdevops-results-archive results are permanent and will always be available. Since the target for CI are already available for selftests and the firmware loader can easily be tested with selftests, all we need to do is map the name of the repo kpd is pushing tests onto with our kdevops-ci/main branch .github directory as a symlink to the CI selftests in the .ci/*/ directories. That's it. Link: https://patchwork.kernel.org/project/firmware/list/ # [0] Link: https://github.com/facebookincubator/kernel-patches-daemon # [1] Link: https://github.com/linux-kdevops/linux-firmware-kpd # [2] Link: https://github.com/linux-kdevops/kdevops-ci # [3] Link: https://github.com/linux-kdevops/kdevops-results-archive # [4] Signed-off-by: Luis Chamberlain <[email protected]>
1 parent 4b7c4c5 commit 01084fc

File tree

5 files changed

+21
-0
lines changed

5 files changed

+21
-0
lines changed

.ci/build-test/linux-firmware-kpd

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
selftests

.ci/results/linux-firmware-kpd

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
selftests

.ci/test/linux-firmware-kpd

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
selftests

defconfigs/linux-firmware-kpd

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
seltests-firmware

defconfigs/seltests-firmware

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
CONFIG_GUESTFS=y
2+
CONFIG_LIBVIRT=y
3+
4+
CONFIG_WORKFLOWS=y
5+
CONFIG_WORKFLOW_LINUX_CUSTOM=y
6+
7+
CONFIG_BOOTLINUX=y
8+
CONFIG_BOOTLINUX_9P=y
9+
10+
CONFIG_WORKFLOWS_TESTS=y
11+
CONFIG_WORKFLOWS_LINUX_TESTS=y
12+
CONFIG_WORKFLOWS_DEDICATED_WORKFLOW=y
13+
CONFIG_KDEVOPS_WORKFLOW_DEDICATE_SELFTESTS=y
14+
15+
CONFIG_SELFTESTS_SECTION_FIRMWARE=y
16+
17+
CONFIG_DEVCONFIG_ENABLE_SYSTEMD_JOURNAL_REMOTE=y

0 commit comments

Comments
 (0)