Skip to content

feat: support PlatformIO check_tool metadata #645

Description

@zackees

Context

PlatformIO supports check_tool in platformio.ini for static analysis tools such as clangtidy, but fbuild does not currently expose or document it as a supported compatibility key.

This should be treated as PlatformIO static-analysis metadata, not as part of fbuild's compile path.

Proposal

Add check_tool support to fbuild's PlatformIO compatibility layer.

Suggested behavior:

  • Add an optional check_tool field in the relevant config model.
  • Parse/preserve/generate check_tool = <tool> for PlatformIO-compatible configs.
  • Do not auto-default this field per board.
  • Do not consume check_tool during normal fbuild compile/build execution.
  • Document that it is only meaningful for pio check / PlatformIO static analysis compatibility.

Acceptance criteria

  • fbuild can represent and emit check_tool = clangtidy or another configured tool in generated platformio.ini output.
  • No board auto-defaults check_tool.
  • The normal fbuild compile path ignores check_tool.
  • Documentation lists check_tool as a supported PlatformIO compatibility key and notes it is for pio check, not compilation.
  • Tests cover unset, configured, and compile-path-ignored behavior.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status
    Triage

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions