Re: [PATCH v2 0/5] kci-gitlab: Introducing GitLab-CI Pipeline for Kernel Testing

Laurent Pinchart
2025-01-24T08:13:01Z

On Fri, Jan 24, 2025 at 02:11:26AM -0300, Leonardo Brás wrote:
> On Thu, 2025-01-23 at 19:23 +0530, Vignesh Raman wrote:
> > This patch series introduces "kci-gitlab," a GitLab CI pipeline
> > specifically designed for kernel testing. It provides kernel
> > developers with an integrated, efficient, and flexible testing
> > framework using GitLab's CI/CD capabilities. This patch includes
> > a .gitlab-ci file in the tools/ci/gitlab-ci/ folder, along with
> > additional YAML and script files, to define a basic test pipeline
> > triggered by code pushes to a GitLab-CI instance.
> > The initial version implements:
> >
> > - Static checks: Includes checkpatch and smatch for code validation.
> > - Build tests: Covers various architectures and configurations.
> > - Boot tests: Utilizes virtme for basic boot testing.
> >
> > Additionally, it introduces a flexible "scenarios" mechanism to
> > support subsystem-specific extensions.
> >
> > This series also introduces a drm scenario that adds a job to run IGT
> > tests for vkms. This scenario includes helper scripts to build deqp-runner
> > and IGT, leveraging approaches from the drm-ci/mesa-ci project.
> >
> > We are working towards creating a generic, upstream GitLab-CI pipeline
> > (kci-gitlab) that will replace DRM-CI [1]. The proposed GitLab-CI pipeline
> > is designed with a distributed infrastructure model, making it possible
> > to run on any gitLab instance. We plan to leverage KernelCI [2] as the
> > backend, utilizing its hardware, rootfs, test plans, and KCIDB [3]
> > integration.
> >
> > For an example of a fully executed pipeline with drm scenario set,
> > including documentation generation,
> > see: https://gitlab.freedesktop.org/vigneshraman/kernel/-/pipelines/1350262
> >
> > Please refer to the documentation included in the patch, or check the
> > rendered version, here:
> > https://vigneshraman.pages.freedesktop.org/-/kernel/-/jobs/69787927/artifacts/artifacts/Documentation-output/ci/gitlab-ci/gitlab-ci.html
> >
> > Differences from v1 to v2:
> > - moved to tools/ci as suggested by Linus on the previous version
> > - add arm64 containers for native compilation
> > - added boot tests using virtme: this is the base structure for boot tests,
> > next steps would be adding other tests such as kselftests/kunit tests
> > - added DRM scenario testing on vkms: this should replace current vkms test
> > in drm-ci. This work shows how a test scenario can be used by different
> > subsystems to add their tests.
> > - update documentation
> >
> > For more details on the motivation behind this work, please refer to the
> > cover letter of v1: https://patchwork.kernel.org/project/linux-kselftest/cover/20240228225527.1052240-1-helen.koike@collabora.com/
> >
> > [1] https://www.collabora.com/news-and-blog/blog/2024/02/08/drm-ci-a-gitlab-ci-pipeline-for-linux-kernel-testing/
> > [2] https://kernelci.org/
> > [3] https://docs.kernelci.org/kcidb/
> >
> > Helen Koike (3):
> > kci-gitlab: Introducing GitLab-CI Pipeline for Kernel Testing
> > kci-gitlab: Add documentation
> > kci-gitlab: docs: Add images
> >
> > Vignesh Raman (2):
> > MAINTAINERS: Add an entry for ci automated testing
> > kci-gitlab: Add drm scenario
>
> Hi Vignesh Raman,
> I am very happy to see this project going forward :)
>
> It's been a few years since I first thought on finding a good way of helping
> kernel developers testing their patches, while making use of the free runner
> minutes Gitlab offers. It can greatly simplify the testing for people who are
> new to kernel development, or students trying to understand it better.
>
> And this patchset allows that to happen :)
>
> Actually, I spoke to Helen last year, and to enable it to run on the free
> Gitlab-CI runners, there is a small extra patch which is needed:
>
> https://lore.kernel.org/all/20240327013055.139494-2-leobras@redhat.com/

Gitlab as an open-source software project (the community edition) is one
thing, but can we please avoid advertising specific proprietary services
in the kernel documentation ?

> Could you please apply it on top of your tree?
> Some stuff changed places, but I can send a v2 with that fix if you want.
>
>
> While I have yet to review this v2 patchset, I applied it on my repo for
> testing, and cherry-picked the patch on above link, triggering a Pipeline:
>
> https://gitlab.com/linux-kernel/linux/-/pipelines/1638955600
>
> It seems to be working fine, please check it, as you may be more used to the
> results.
>
> Thanks!
> Leo

--
Regards,

Laurent Pinchart