#rtos #ci #nuttx #request #snippets #logging #build #command #nsh

app nuttx-test-bot

Bot that Builds and Tests Pull Requests for Apache NuttX RTOS

6 stable releases

1.0.5 Apr 2, 2025
1.0.4 Mar 13, 2025
1.0.2 Feb 23, 2025

#902 in Command line utilities

Download history 89/week @ 2025-02-10 273/week @ 2025-02-17 46/week @ 2025-02-24 144/week @ 2025-03-03 131/week @ 2025-03-10 16/week @ 2025-03-17 2/week @ 2025-03-24 127/week @ 2025-03-31 17/week @ 2025-04-07

173 downloads per month

Apache-2.0

33KB
365 lines

Test Bot for Pull Requests ... Tested on Real Hardware (Apache NuttX RTOS / Oz64 SG2000 RISC-V SBC)

Apache NuttX RTOS: Bot that will Build and Test a Pull Request

Read the article...

We might allow a PR Comment to trigger a Build + Test on QEMU. For example, this PR Comment...

@nuttxpr test rv-virt:knsh64

Will trigger our Test Bot to download the PR Code, and run Build + Test on QEMU RISC-V. Or on Real Hardware...

@nuttxpr test milkv_duos:nsh

Here are commands for PR Test Bot:

## For Avaota-A1 Arm64 SBC (Allwinner A537)
@nuttxpr test avaota-a1:nsh

## For Milk-V Duo S 64-bit RISC-V SBC (Sophgo SG2000)
@nuttxpr test milkv_duos:nsh

## For QEMU Arm64 (Flat Build) and RISC-V 64-bit (Kernel Build)
@nuttxpr test qemu-armv8a:netnsh
@nuttxpr test rv-virt:knsh64

These commands will trigger an Email Alert to me. Please give me 12 Hours to review the PR (making sure there isn't malicious code) before I start the PR Test Bot. The results shall be posted as a PR Comment.

How To Run

See run.sh...

#!/usr/bin/env bash
## Build and Test PRs for NuttX Kernel and Apps

set -e  ## Stop on error

## Install QEMU Emulators
sudo apt install \
  qemu-system-riscv64 \
  qemu-system-aarch64

## Set the GitHub Token. Should have permission to Post PR Comments.
## export GITHUB_TOKEN=...
. $HOME/github-token.sh

## Set the GitLab Token for creating snippets
## export GITLAB_TOKEN=...
. $HOME/gitlab-token.sh

set -x  ## Echo commands

## Enable Rust Logging
export RUST_LOG=info 
export RUST_BACKTRACE=1

for (( ; ; ))
do
  cargo run
  sleep 300
done

Build + Test Bot is hosted on this hefty Ubuntu Xeon Workstation

Build + Test Bot is hosted on this hefty Ubuntu Xeon Workstation

Dependencies

~15–29MB
~443K SLoC