RSSAmplifier

Blog

lupyuen

IoT Techie and Educator

lupyuen.github.ioRSS feed ↗277 posts

Latest posts

Apache NuttX RTOS: CI Build Retry works OK yay!

NuttX CI Build Retry works OK! Here's the proof.

Apache NuttX RTOS: More Testing of Retry for CI Builds

This video explains how we're using the new NuttX Build Monitor to test the Retry of CI Builds. So far the results look promising!

Apache NuttX RTOS: Build Monitor

NuttX Build Monitor displays the recent Errors and Warnings for NuttX GitHub CI. Hopefully our devs will find it useful for monitoring our PRs. Also: NuttX CI Team will use this tool to understand what's happening right now in our GitHub CI.

Apache NuttX RTOS: Parsing the GitHub Build Logs

How we're Parsing the GitHub Build Logs for NuttX. Also: How we're generating the PR Monitoring Dashboard for NuttX

Apache NuttX RTOS: Building the PR Monitor + Most Expensive Apps PR

Most Expensive Apps PR has 6 Compile Errors and 3 Download Errors. Also: How we're building the PR Monitoring Dashboard

Apache NuttX RTOS: PR Monitoring + Third Most Expensive PR

Third Most Expensive PR had Download Errors, NTFC Errors and Compile Errors. We propose a new PR Monitoring Dashboard that shows all errors in real time.

Apache NuttX RTOS: NTFC Download Failure + Second Most Expensive PR

This video explains (1) NTFC Download Failures in Most Expensive PR (2) Compile Errors in Second Most Expensive PR (3) Build Quirk in ESP32: Retry Scheduled

Apache NuttX RTOS: Testing of Retry for CI Builds

This video explains our script for Retry for NuttX CI Builds. And how we're testing at NuttX Main Repo / NuttX Mirror Repo / NuttX Build Farm.

Apache NuttX RTOS: Building PRs in Our Own Repo

Here's a new way to Build PRs in Our Own NuttX Repos

Apache NuttX RTOS: Analysing the Most Expensive PR

We did a Quantitative Analysis of our Most Expensive PR (in terms of GitHub Runner Usage), here's what we found: (1) We really need to fix the downloading of Build Dependencies (2) We should disable the Build Config for `bl602evb/elf` (3) Later we should show our developers how to build and test PRs in our own repos.

Apache NuttX RTOS: Cost of NuttX PRs vs NuttX Apps

Which PRs are consuming more GitHub Runners: NuttX PRs or NuttX Apps PRs? 84% of GitHub Runners were spent on NuttX Repo, 12% was spent on NuttX Apps Repo. What about the past 4 months? The distribution is the same.

Apache NuttX RTOS: Most Expensive PR

Here are the most expensive PRs in Apache NuttX Project, in terms of GitHub Runner Usage

Apache NuttX RTOS: Dumping the GitHub Jobs

Let's dump the PRs, Jobs and Job Durations from GitHub ... So we can understand why Apache NuttX Project is using so many GitHub Runners

Apache NuttX RTOS: Too Many GitHub Runners

This video explains why we're using too many GitHub Runners in Apache NuttX Project, and discusses potential solutions

Apache NuttX RTOS: GitHub Runners and Mystery Spikes

We have a problem with GitHub Runners in Apache NuttX Project: Sometimes during peak periods ... We use too many of them! In this video I'm documenting everything I know about the problem.

Is Apache NuttX RTOS really OK? Daily Routine for NuttX Monitoring

This is how I monitor Apache NuttX Project every day, making sure that the Continuous Integration is all OK

GitHub Actions pull_request_target vs Apache NuttX RTOS

Let's find out why pull_request_target is unsafe in GitHub Actions. And how we fixed it in Apache NuttX RTOS.

Grafana Dashboard on Google Cloud VM for Apache NuttX RTOS

12 Months Ago: We created a Grafana Dashboard that monitors the successful / failed Daily Builds of Apache NuttX RTOS, across all 339 microcontroller boards. Today, let's migrate NuttX Dashboard from our Home Computer to Google Cloud VM.

Uncle Nerd Runs A Marathon

Our 42 km Full Marathon Training turned out surprisingly successful! Let's look back and technically document everything that happened, over the past 6 months.

Creating the Unicorn Emulator for Avaota-A1 SBC (Apache NuttX RTOS)

Avaota-A1 Arm64 SBC is officially supported by Apache NuttX RTOS (Allwinner A527 SoC). Let's take Unicorn Emulator and create a Software Emulator for Avaota SBC.

Inside Arm64 MMU: Unicorn Emulator vs Apache NuttX RTOS

Spotted in Unicorn Emulator: A Demo of Arm64 Memory Management Unit (MMU)... in 18 Lines of Arm64 Assembly! Today we decipher the code inside the Arm64 MMU Demo, figure out how it works. Which turns out to be surprisingly helpful for emulating Apache NuttX RTOS, compiled for Arm64 SBCs.

Porting Apache NuttX RTOS to Avaota-A1 SBC (Allwinner A527 SoC)

This article explains how we ported NuttX from QEMU Arm64 Kernel Build to PINE64 Yuzuki Avaota-A1 SBC based on Allwinner A527 SoC ... Completed within 24 Hours!

PR Test Bot for PinePhone (Apache NuttX RTOS)

Earlier we created a PR Test Bot that will Build and Test the Pull Requests for Apache NuttX RTOS. Today we extend our Test Bot to Build and Test the Pull Requests for PINE64 PinePhone. Yep on the Real Arm64 PinePhone Hardware!

StarPro64 EIC7700X RISC-V SBC: Maybe LLM on NPU on NuttX?

StarPro64 EIC7700X is the (literally) Hot New RISC-V SBC by PINE64. Let's chat about ESWIN EIC7700X, the RISC-V SoC inside, how its Neural Processing Unit supports Large Language Models. And how we port Apache NuttX RTOS to StarPro64.

QEMU Test Bot for Pull Requests: Beware of Semihosting Breakout (Apache NuttX RTOS)

Last week we saw our new Test Bot for NuttX Pull Requests, that will test on Real Hardware: Oz64 SG2000 RISC-V SBC. Today we extend our Test Bot to QEMU Emulators: Arm64 QEMU and RISC-V QEMU.

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

We're always Making Things Better (and making better things) with Apache NuttX RTOS. Our new Test Bot shall watch for Comments on Pull Requests and start a NuttX Build and Test on Real Hardware: PINE64 Oz64 SG2000 RISC-V SBC.

Auto-Rewind for Daily Test (Apache NuttX RTOS)

If the Daily Test fails for Apache NuttX RTOS... Can we Auto-Rewind and discover the Breaking Commit? Let's do it with Prometheus Time-Series Database and Mastodon Server

Rust Standard Library on Apache NuttX RTOS

Rust Standard Library is now available on Apache NuttX RTOS, thanks to awesome work by Huang Qi! In this article we explain (1) How to build NuttX + Rust Standard Library (2) Handling JSON with the Serde Crate (3) Async Functions with the Tokio Crate (4) Blinking LEDs with the Nix Crate

Fixing a uname bug (Apache NuttX RTOS)

Earlier This Week: uname became unusually quieter on Apache NuttX RTOS... The Commit Hash is missing! Watch as we stomp the seemingly simple bug, that turns out to be something seriously sinister! (Spoiler: Static Vars are broken)

Forgejo Git Forge for Apache NuttX RTOS (Experimental)

Life Without GitHub: What's it like? Today we talk about Forgejo Git Forge, and whether Apache NuttX RTOS could possibly switch from GitHub to our own Git Forge.

Git Bisecting a Bug (Apache NuttX RTOS)

Suppose we hit a Runtime Bug in Apache NuttX RTOS. We think that the Breaking Commit (causing the bug) is somewhere inside these hundreds of NuttX Commits. But which one? In this article: We run Git Bisect to discover the Breaking Commit.

Mastodon Server for Continuous Integration (Apache NuttX RTOS)

We're out for a 50 km overnight hike. Our Build Farm for Apache NuttX RTOS runs non-stop all day, all night. Continuously compiling over 1,000 NuttX Targets. Can we be 100% sure that NuttX is OK? Without getting spammed by alert emails all night? In this article: We talk about Mastodon as a fun new way to broadcast NuttX Alerts in real time.

Buy a Coffee for Lup Yuen Lee

Please sponsor my open-source writing and projects. Thank you so much!

Failing a Continuous Integration Test for Apache NuttX RTOS (QEMU RISC-V)

Every Day: Apache NuttX RTOS on QEMU RISC-V Emulator fails our Continuous Integration Test. The Bug Stops Here! In this article, we study the internals of a NuttX CI Test (Continuous Integration) as we fix the bug.

Rewinding a Build for Apache NuttX RTOS (Docker)

When something breaks the Daily Build for Apache NuttX RTOS: Our NuttX Maintainers will scramble to identify the Breaking Commit. Not any more! Now we can go back in time and Rewind The Build.

macOS Build Farm for Apache NuttX RTOS (Apple Silicon)

Folks on macOS: Compiling Apache NuttX RTOS used to be so tiresome. Not any more! In this article, we explain how to build anything on macOS, by patching the NuttX CI Script. Which also becomes our macOS Build Farm.

Continuous Integration Dashboard for Apache NuttX RTOS (Prometheus and Grafana)

Last article we spoke about the (Twice) Daily Builds for Apache NuttX RTOS. Today we talk about Monitoring the Daily Builds (also the NuttX Build Farm) with our new NuttX Dashboard.

Optimising the Continuous Integration for Apache NuttX RTOS (GitHub Actions)

Within Two Weeks: We squashed our GitHub Actions spending from $4,900 (weekly) down to $890. Previously: Our developers waited 2.5 Hours for a Pull Request to be checked. Now we wait at most 1.5 Hours! This article explains everything we did in the (Semi-Chaotic) Two Weeks for Apache NuttX RTOS.

Your very own Build Farm for Apache NuttX RTOS

Refurbished Ubuntu PCs have become quite affordable. Let's turn them into a (Low-Cost) Build Farm for Apache NuttX RTOS, thanks to the Docker Image provided by NuttX.

LLM Bot that reviews Pull Requests for Apache NuttX RTOS

We’re experimenting with an LLM Bot (Large Language Model) that will review Pull Requests for Apache NuttX RTOS. This article explains how we created the Bot in One Week... By sheer accident!

Continuous Integration for Apache NuttX RTOS

This article explains how Apache NuttX RTOS is running Continuous Integration with GitHub Actions. Every NuttX Pull Request will trigger 1,594 NuttX Builds!

Early Days of Rust Apps on Apache NuttX RTOS

My student Rushabh Gala has just completed his project for Google Summer of Code, on creating Safer Rust Apps for Apache NuttX RTOS. In this article we walk through Rushabh’s contributions, and understand how we’re evolving Rust Apps for NuttX.

RISC-V Emulator for Sophgo SG2000 SoC (Pine64 Oz64 / Milk-V Duo S)

Earlier this year we made a RISC-V Emulator for Ox64 BL808 SBC, thanks to our customised TinyEMU RISC-V Emulator. (Not the small flightless bird) Now that NuttX supports Sophgo SG2000 SoC: Let's create a similar emulator for Pine64 Oz64 SBC and Milk-V Duo S!

Daily Automated Testing for Milk-V Duo S RISC-V SBC (IKEA TRETAKT / Apache NuttX RTOS)

Last week we upstreamed Milk-V Duo S SBC to Apache NuttX RTOS. (Based on Sophgo SG2000 RISC-V SoC) But NuttX Mainline changes every day. Will Milk-V Duo S suffer “Software Bit Rot”? And fail to boot NuttX someday? Let’s do Daily Automated Testing for NuttX on a Milk-V Duo S SBC, controlled by an IKEA Smart Power Plug with Home Assistant API.

Apache NuttX RTOS on Sophgo SG2000 RISC-V SoC (Milk-V Duo S / Oz64 SBC)

Soon we'll see many new 64-bit RISC-V SBCs based on the Sophgo SG2000 RISC-V SoC. Will they work with Apache NuttX RTOS? Let's find out!

Rust Apps on Ox64 BL808 RISC-V SBC and Apache NuttX RTOS

Will Rust Apps run on a 64-bit RISC-V SBC? Like Ox64 BL808 SBC? Let's find out with Apache NuttX RTOS!

Rust Custom Target for QEMU RISC-V on Apache NuttX RTOS

Our Rust App compiles for Software Floating-Point, but Apache NuttX RTOS expects Hardware Floating-Point... Let's fix this with a Rust Custom Target for QEMU RISC-V

Rust Apps on Apache NuttX RTOS and QEMU RISC-V

Here's how we run Rust Apps on Apache NuttX RTOS and QEMU RISC-V Emulator.

Too many Embedded Logs? PureScript might help (Ox64 BL808 SBC / Apache NuttX RTOS)

Troubleshooting Crash Dumps for Apache NuttX RTOS will become a little less painful... Thanks to our new NuttX Log Parser! This is how we created with PureScript, a Real-Time Parser and Explainer for RISC-V Exceptions and Stack Dumps.

(Homage to MakeCode) Coding Ox64 BL808 SBC the Drag-n-Drop Way

Remember Makecode? BBC micro:bit and its Drag-n-Drop App Builder? Let's give MakeCode a wholesome wholesale makeover... With Blockly, QuickJS JavaScript Engine, Apache NuttX RTOS and Ox64 BL808 64-bit RISC-V SBC

lupyuen · RSS Amplifier