membrowse/Binary Size & Memory Footprint Tracking
Track and analyze firmware memory footprint across commits and PRs to catch memory regressions.
View on GitHubTrust Signals
- Scorecard Score
- not yet scored
- Maintenance Recency
- Activelast commit Jul 7, 2026
- License
- GPL 3.0
Pinned Snippet
uses: membrowse/membrowse-action@3f23ea562abaa6614855d6be5ec83b3cd1d274dd # v1.2.9tags can be moved; commit SHAs can't. why a SHA?
Inputs
| name | description | required | default |
|---|---|---|---|
| elf | Path to ELF file (not required when identical=true) | no | — |
| ld | Space-separated list of linker script paths (optional - if omitted, uses default Code/Data regions) | no | — |
| target_name | Target name like esp32, stm32f4 | yes | — |
| api_key | API key for MemBrowse | no | — |
| api_url | MemBrowse API base URL (/upload appended automatically) | no | https://api.membrowse.com |
| dont_fail_on_alerts | Continue even if budget alerts are detected (default: fail on alerts) | no | false |
| linker_vars | Space-separated linker variable definitions (e.g., "__micropy_flash_size__=4096K RAM_START=0x20000000") | no | "" |
| verbose | Enable verbose output including full API responses (default: WARNING) | no | WARNING |
| pr_author_name | PR author name (auto-detected from GitHub event if not provided) | no | "" |
| pr_author_email | PR author email (auto-detected from GitHub event if not provided) | no | "" |
| identical | Mark this commit as having identical memory footprint to previous (metadata-only upload) | no | false |
| map_file | Path to linker map file for archive/object file attribution (supports GNU LD and IAR formats) | no | "" |
| limits | Optional. Linker script supplying the real LENGTH per MEMORY region. Use this when the primary `ld` script is built with inflated region sizes so the link succeeds even when the binary exceeds the real target capacity (e.g. PX4 flash-analysis builds). Section attribution still uses `ld` (the wider ranges); utilization and overflow are then reported against the real LENGTH values from this script. Omit when the binary fits — the primary `ld` is already the real limit. | no | "" |
| skip_sections | Space-separated list of ELF section names to exclude from the report (exact match), e.g. ".noinit .user_data". Skipped sections do not contribute to any region's used_size, and symbols inside them are removed from the report. | no | "" |
Outputs
| name | description |
|---|---|
| report_path | Path to the generated JSON report file |