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
> > >
> >

Reply via email to