A small test program for stable-rc kernel release on RPI4. It's triggered by emails in maillist(stable@vger.kernel.org), fetches source code from the repo then builds and reboots the kernel to see if there is any problem.
The program comprises two parts: controller
and worker
. The controller polling email box regularly dispatches testing tasks to the worker and also monitoring the health of the worker. The worker on the other hand receiving tasks from the controller, executes the runner.sh to fetch, build, and boot specified linux kernels, then reports results back to the controller.
- Install Rust
- Clone the repo
git clone https://github.com/foxhlchen/RPI4-Kernel-Test.git
- Build and Install
cargo build cargo install
- Configurate
setting.toml
(see config section) - Start the controller
./controller
- Start the worker
./worker
The controller and worker will read settings.toml from its working directory when started.
- controller's
settings.toml
:[imap] domain = "imap.gmail.com" username = "myaddr@gmail.com" password = "mypasswd" mailbox = "MyBox/Linux/Stable" [smtp] domain = "smtp.gmail.com" username = "myaddr@gmail.com" password = "mypasswd" from = "My Name <myaddr@gmail.com>" [rpc] addr = "[::]:9999" taskcache = "task.cache" [log] conf_path = "log4rs.yaml"
- worker's
settings.toml
:[rpc] addr = "[::]:9999" taskcache = "task.cache" [log] conf_path = "log4rs.yaml" [execute] runner = "runner.sh"
- log4rs.yaml:
see log4rs