2.8 KiB
Development and releases
Released applications should use a public Git tag. While changing DFTE with a sibling library, select a local symlink:// or file:// dependency from an ignored PlatformIO override rather than changing tracked application dependencies.
Target pins
DFTE uses one maintained ESP32 fixture baseline:
| Test selector | pioarduino platform | Framework stack | Purpose |
|---|---|---|---|
esp32 |
55.03.311 |
Arduino-ESP32 3.3.11 / ESP-IDF 5.5.5 | Maintained baseline |
These are test-harness fixture lanes, not DFTE package dependencies: a consuming
application owns its platform pin and tests the complete framework/toolchain
stack. Do not copy a compiler or toolchain package between lanes; each pinned
pioarduino platform resolves its matched framework, uploader, and toolchain.
All DFTE ESP8266 test and example environments pin framework commit 521ae60
for the upstream Postmortem large-jump linker fix. The exact rationale and
update rule are in the shared ESP8266 linker-workaround
note.
For the pioarduino release-to-Core mapping and cache-collision diagnosis, see DeviceFramework's toolchain guide.
./scripts/test.sh uses the persistent PlatformIO Core/cache shared by the
maintained framework repositories:
${XDG_CACHE_HOME:-$HOME/.cache}/arduino-framework-platformio/core-3.3.11.
All maintained ESP32 lanes pin this exact graph, avoiding repeated downloads
while keeping stale global tool-esptoolpy metadata from shadowing the current
pioarduino uploader. Override it with DFTE_PLATFORMIO_CORE_DIR,
DFTE_PLATFORMIO_PACKAGES_DIR, and DFTE_PLATFORMIO_CACHE_DIR for another
disk; the script never clears that cache or pins one compiler separately.
Start a release with bump-version.sh. It updates package metadata and canonical installation snippets, then creates the changelog section. Replace its generated TODO with the release summary and update any behavioural documentation before running:
./scripts/bump-version.sh vMAJOR.MINOR.PATCH
# Replace the generated CHANGELOG TODO with the release summary.
./scripts/check-docs.sh
./scripts/test.sh compile --platform esp8266
./scripts/test.sh compile --platform esp32
./scripts/test.sh examples --platform esp8266
./scripts/test.sh examples --platform esp32
./scripts/prepare-release.sh vMAJOR.MINOR.PATCH --tag
Push the branch and annotated tag. GitHub Actions repeats the board-free compile checks, validates the package, and creates a GitHub Release from that version’s changelog section. It does not publish to the PlatformIO Registry.
Back to documentation · project overview.