PlatformIO "doesn't support framework" build error in CI
PlatformIO matched the board you selected against its supported frameworks and the one in your framework line is not on that list. Each board declares which frameworks it can build, and this pairing is invalid.
What this error means
A pio run step stops immediately with "This board doesn't support <framework> framework!" before any compilation begins.
Error: This board doesn't support espidf framework!Common causes
Board and framework are mismatched
The board only supports certain frameworks (for example arduino), and you set one it does not declare (for example espidf), so the pairing is rejected.
A board variant chosen for the wrong toolchain
You picked a board ID whose definition targets a different framework family than the code expects.
How to fix it
Set a framework the board supports
- Run
pio boards <id>and read the supported frameworks column. - Set
frameworkto one the board declares. - Re-run
pio runto confirm the pairing is accepted.
[env:esp32dev]
board = esp32dev
framework = arduinoPick a board that supports the framework you need
If you must use a specific framework, choose a board ID whose definition lists it as supported.
pio boards espressif32 | headHow to prevent it
- Verify board and framework compatibility with
pio boardsbefore pinning. - Keep one framework per environment to avoid invalid pairings.
- Document which board each environment targets in platformio.ini comments.