Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

How to use kernelCI for testing my local builts? #508

Open
krrish-sehgal opened this issue Jan 27, 2025 · 4 comments
Open

How to use kernelCI for testing my local builts? #508

krrish-sehgal opened this issue Jan 27, 2025 · 4 comments

Comments

@krrish-sehgal
Copy link

I was trying to use kernel CI as a tool to test out my local builts , and i tried using kernelCI-docker and its dependent repos , but seems like those repos have been deprecated and new workflow has been shifted to Pipeline and API projects .
I want to work locally with it , I dont have any server. So are there any resources I can use and or any suggestion that the community can offer so that i can build and use it for locally built kernel images.

Thank you.

@krrish-sehgal krrish-sehgal changed the title how to use kernelCI for testing my local builts. How to use kernelCI for testing my local builts? Jan 27, 2025
@aliceinwire
Copy link
Member

aliceinwire commented Jan 27, 2025

The tool most near to what you want to do is probably kci-dev
Still is a tool in phase of development and you need token for sending and asking builds
You can check the following documentation
The system that you are explaining about testing own local patches is part of the milestone of kci-dev

@krrish-sehgal
Copy link
Author

Thank you , I'll try this tool.

@nuclearcat
Copy link
Member

Let me first introduce what KernelCI is and what it is used for.

KernelCI was created as a project to utilize distributed infrastructure (build clusters and labs), process updates on official Linux kernel trees, and generate results that assist kernel developers in identifying regressions and bugs. The current generation project components are:

  • kernelci-api (basically a database and API server)
  • kernelci-pipeline (orchestration of tests, builds, results)
  • kcidb (database with test results)
  • dashboard (web interface to view results)
  • kci-dev (a kernel developer-friendly tool that can be used to control kernelci-pipeline, e.g., trigger checkouts, retry tests, and retrieve results using CLI for automation)

Additionally, there’s a project not entirely related to KernelCI but still relevant: kci-gitlab. This project is discussed in kernel mailing lists under the topic: "kci-gitlab: Introducing GitLab-CI Pipeline for Kernel Testing" and might be of interest to you. It is designed to be used in a local environment and is often used to test contributions before they are merged into the official kernel tree.

As you understand, KernelCI in general can be used to test the current tip of the tree if you have the official kernel tree. In the near future, it will also be possible to test upcoming contributions using the kci-dev tool. However, since the project is designed for a distributed environment, it isn’t straightforward to use it completely locally unless you have the resources to run all components.

That said, we do have an option to run a limited development environment using Docker Compose, which is available at:
https://github.com/kernelci/kernelci-deploy/tree/main/localinstall

I hope this information helps you better understand the KernelCI project and how you can use it for your needs. If you have any further questions, feel free to ask.

@krrish-sehgal
Copy link
Author

krrish-sehgal commented Jan 27, 2025

Thank you so much for such exclusive and latest info on the projects, it really put things in perspective.
As for my use case, currently I need to perform cross architecture tests for the same kernel config files and I came across kernelCI to automate this process as well perform the test.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants