Apache NuttX RTOS: CI Build Retry works OK yay!
NuttX CI Build Retry works OK! Here's the proof.
IoT Techie and Educator
NuttX CI Build Retry works OK! Here's the proof.
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!
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.
How we're Parsing the GitHub Build Logs for NuttX. Also: How we're generating the PR Monitoring Dashboard for NuttX
Most Expensive Apps PR has 6 Compile Errors and 3 Download Errors. Also: How we're building the PR Monitoring Dashboard
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.
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
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.
Here's a new way to Build PRs in Our Own NuttX Repos
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.
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.
Here are the most expensive PRs in Apache NuttX Project, in terms of GitHub Runner Usage
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
This video explains why we're using too many GitHub Runners in Apache NuttX Project, and discusses potential solutions
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.
This is how I monitor Apache NuttX Project every day, making sure that the Continuous Integration is all OK
Let's find out why pull_request_target is unsafe in GitHub Actions. And how we fixed it in 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.
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.
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.
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.
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!
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 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.
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.
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.
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 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
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)
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.
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.
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.
Please sponsor my open-source writing and projects. Thank you so much!
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.
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.
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.
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.
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.
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.
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!
This article explains how Apache NuttX RTOS is running Continuous Integration with GitHub Actions. Every NuttX Pull Request will trigger 1,594 NuttX Builds!
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.
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!
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.
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!
Will Rust Apps run on a 64-bit RISC-V SBC? Like Ox64 BL808 SBC? Let's find out with 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
Here's how we run Rust Apps on Apache NuttX RTOS and QEMU RISC-V Emulator.
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.
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