Files
firmware/.github/workflows
Thomas Göttgens e7bbabc30e Add ESP32 flash geometry CI guard
Cross-checks, per ESP32 environment, the resolved board's upload.maximum_size
against the end of the selected partition CSV and against
custom_meshtastic_partition_scheme. Added as a step in the CI setup job, next to
the existing board_level validation.

The espressif32 builder overwrites upload.maximum_size with the app slot size
from the partition table, so a variant pointing at an oversized table links
clean and only fails when flashed.

Board manifests for stock board ids are extracted from the pinned platform
archive as data, not installed with pio pkg install, which calls
PlatformFactory.new() and executes the downloaded platform.py. Archive URLs are
allowlisted by host and owner, members are restricted to boards/*.json, and each
is written under its basename alone.

Also bumps actions/setup-python to v7 and sets persist-credentials: false on the
setup job checkout.

Nine pre-existing mismatches across seven environments are left unfixed and fail
this check.
2026-08-20 10:13:56 +02:00
..