Hi, The only bad thing, well it's not really bad but it has been a challenge, is that we've been struggling to keep our GitHub CI usage under control.
Would it be possible for this to run once per 24 hours as a nightly build job, instead of on each build? Thanks, Nathan On Tue, Apr 21, 2026 at 3:12 PM Michael Rogov Papernov < [email protected]> wrote: > Hi, > > I've opened a pull request: https://github.com/apache/nuttx/pull/18774 > I've added a target from each architecture family supported by Nuttx. > The github workflow uses a github action: > https://github.com/membrowse/membrowse-action > This generates the memory footprint report from the ELF file, the ld script > and the map file, and then uploads it > to membrowse.com where you can see the dashboard. > To your question, Tomak: you can install membrowse with pip (pip install > membrowse) and generate the reports locally. However, the dashboard and the > database are hosted. > (There is a self hosted option as well, but it's not open source) > > Kind regards, > > Michael Rogov Papernov > Founder, MemBrowse > membrowse.com > > Kind regards, > > Michael Rogov Papernov > Founder, MemBrowse > membrowse.com > > > On Mon, 20 Apr 2026 at 16:14, Tomek CEDRO <[email protected]> wrote: > > > Hey there Michael! > > > > Very nice solution! For sure we can use that to track how much > > firmware images grow in time.. right next to self-test and benchmark > > applications :-) > > > > Can membrowse constitute a standalone application to be part of > > nuttx/tools/membrowse? I mean so it can be launched locally too not > > only by the CI? > > > > Thanks :-) > > Tomek > > > > -- > > CeDeROM, SQ7MHZ, http://www.tomek.cedro.info > > > > On Mon, Apr 20, 2026 at 1:46 PM Michael Rogov Papernov > > <[email protected]> wrote: > > > > > > Hi all, > > > > > > I'd like to propose adding a memory footprint tracking integration to > > > NuttX's CI, and I'm looking for feedback before opening a PR. > > > > > > Background: I'm an embedded systems developer, and over the past year > > > I've been building MemBrowse, > > > a platform that parses ELF binaries and linker map files at the symbol > > > level and tracks firmware footprint across commits. > > > It runs as a CI step, uploads symbol data, and surfaces per-PR diffs > > > (flash/RAM deltas, symbols that grew or shrank, and library-level > > > breakdowns). > > > Similar integrations are already merged in TinyUSB and wolfSSL. > > > > > > I've set up a public dashboard with data from real NuttX builds so the > > > output is evaluable before any code lands: > > > > > > https://membrowse.com/public/michael-membrowse/nuttx > > > > > > Proposed scope: > > > > > > 1. A new opt-in GitHub Actions workflow (or a job in an existing one) > > > that runs after a successful build, extracts symbol data from the ELF > > > and map file, and uploads it. > > > 2. Tokenless upload for public repos. No secrets in CI, no > > > pull_request_target, forked PRs work with the standard pull_request > > > trigger. > > > 3. No required changes to NuttX's build system. The tool consumes the > > > ELF and map artifacts the existing CI already produces. > > > > > > Feedback welcome. > > > > > > Kind regards, > > > > > > Michael Rogov Papernov > > > Founder, MemBrowse > > > membrowse.com > > >
