mirror of
https://github.com/alexhopeoconnor/WiFiManager.git
synced 2026-10-04 02:48:13 +10:00
52 lines
2.5 KiB
Markdown
52 lines
2.5 KiB
Markdown
# Development and releases
|
||
|
||
Released consumers use the public Git tag. While changing WiFiManager and a sibling dependency together, point an ignored local PlatformIO override at a `symlink://` or `file://` checkout rather than changing tracked application dependencies.
|
||
|
||
```ini
|
||
lib_deps =
|
||
WiFiManager=symlink:///path/to/WiFiManager
|
||
```
|
||
|
||
The ESP32 environments pin the PlatformIO-compatible pioarduino 51.03.05
|
||
platform package, which packages official Arduino-ESP32 3.0.5. This avoids the
|
||
known six-second asynchronous scan failure in the older 2.0.17 framework. Core
|
||
3 also requires the `SOC_WIFI_SUPPORTED`, `Network/src`, and ESP8266-transport
|
||
ignore settings shown in this repository `platformio.ini`; keep those settings
|
||
when adding an ESP32 environment.
|
||
|
||
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:
|
||
|
||
```bash
|
||
./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/prepare-release.sh vMAJOR.MINOR.PATCH --tag
|
||
```
|
||
|
||
When a physical ESP8266 and ESP32 are available, include their local lifecycle tests in the release gate. These tests remain opt-in because they flash the selected board and use its actual radio:
|
||
|
||
~~~bash
|
||
./scripts/test.sh hardware --platform esp8266 --port /dev/serial/by-id/usb-...
|
||
./scripts/test.sh hardware --platform esp32 --port /dev/serial/by-id/usb-...
|
||
~~~
|
||
|
||
When a physical ESP8266 or ESP32 and a spare USB Wi-Fi adapter are available,
|
||
run the Docker portal contract as an additional release-gate check. It is
|
||
opt-in because it flashes the selected board and temporarily joins its AP, but
|
||
it refuses the host default-route adapter and leaves Docker responsible only
|
||
for browser/API testing:
|
||
|
||
```bash
|
||
./tools/portal-hardware run --platform esp8266 --port /dev/serial/by-id/usb-... \
|
||
--client-interface wlx74da385d4165
|
||
```
|
||
|
||
See [Testing](TESTING.md#docker-portal-contract) for cleanup, artifacts, and
|
||
optional station handoff credentials.
|
||
|
||
Push the branch and annotated tag. GitHub Actions repeats the board-free compile checks, validates the package, and creates a GitHub Release using that version’s changelog section. The workflow does not publish to the PlatformIO Registry.
|
||
|
||
Back to [documentation](README.md) · [project overview](../README.md).
|