It can work but it will lose accuracy because you will not know exactly which commit introduced the footprint change. Also you will not receive a PR comment detailing the memory footprint impact of a commit.
Kind regards, Michael Rogov Papernov Founder, MemBrowse membrowse.com On Tue, 21 Apr 2026 at 20:17, Nathan Hartman <[email protected]> wrote: > > 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 > > > > >
