Skip to content

ci: MemBrowse Integration#18862

Open
michael-membrowse wants to merge 2 commits into
apache:masterfrom
michael-membrowse:master
Open

ci: MemBrowse Integration#18862
michael-membrowse wants to merge 2 commits into
apache:masterfrom
michael-membrowse:master

Conversation

@michael-membrowse
Copy link
Copy Markdown

Re-opening of #18774, which was closed and could not be reopened because the branch was rebased onto a newer apache/nuttx:master. Same content as before, rebased on current master.

Summary

Integrates MemBrowse memory footprint tracking into NuttX CI to automatically report firmware memory footprint across a representative set of boards on every PR and push to master.

  • Adds .github/membrowse-targets.json: tracks 9 boards spanning all supported architectures
    • ARM Cortex-M/A
    • AVR
    • MIPS
    • RISC-V
    • RX
    • SPARC
    • x86_64
    • Xtensa
  • Adds membrowse-report.yml: builds NuttX on the above targets and runs membrowse-action to generate and upload the reports
  • Adds membrowse-comment.yml: posts a memory-diff comment on PRs after the report workflow finishes
  • Adds membrowse-onboard.yml: manual workflow to backfill the last N commits per target
  • Adds a MemBrowse badge to README.md for easy access to the MemBrowse NuttX dashboard

Setup

To view the memory dashboard and receive PR comments:

  1. Create an account and a project at https://membrowse.com.
  2. Copy the project's API key.
  3. In the MemBrowse project settings set the dashboard as publicly available.
  4. In the GitHub repo, add it as a secret named MEMBROWSE_API_KEY.

Testing

The integration has been running on a fork. See the live dashboard here:
https://membrowse.com/public/michael-membrowse/nuttx

@michael-membrowse
Copy link
Copy Markdown
Author

reopening the PR, by request of @xiaoxiang781216 and @acassis

@github-actions github-actions Bot added Area: CI Size: M The size of the change in this PR is medium labels May 10, 2026
Copy link
Copy Markdown
Member

@lupyuen lupyuen left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

MemBrowse failed to start. That's because ASF Infra Team has disallowed Third Party GitHub Actions, to prevent supply-chain attacks: https://github.com/apache/nuttx/actions/runs/25633744705

The actions dorny/paths-filter@v3 and membrowse/membrowse-action@v1 are not allowed in apache/nuttx because all actions must be from a repository owned by your enterprise, created by GitHub, or match one of the patterns...

@michael-membrowse
Copy link
Copy Markdown
Author

@lupyuen Pushed a change - calling the membrowse python package directly, instead of using an action. Should work now.
Please create an account on membrowse.com, create a project and set a github secret: MEMBROWSE_API_KEY to the generated api key.

@lupyuen
Copy link
Copy Markdown
Member

lupyuen commented May 11, 2026

Please create an account on membrowse.com, create a project and set a github secret: MEMBROWSE_API_KEY to the generated api key.

@hartmannathan Are we legally allowed to accept MemBrowse's Terms Of Use, on behalf of the Apache NuttX Project?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Area: CI Size: M The size of the change in this PR is medium

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants