feat: add MQTT repeater support, web config panel, and EastMesh-specific firmware workflows

This commit is contained in:
Jared Dohrman
2026-04-09 15:00:53 +10:00
förälder 2ab5f5128f
incheckning 98fe78a379
27 ändrade filer med 3412 tillägg och 103 borttagningar
+19 -29
Visa fil
@@ -16,17 +16,16 @@ This value becomes the base `FIRMWARE_VERSION` used by the release workflows.
Push one or more of the following tag formats to trigger the matching firmware release workflow:
- `companion-eastmesh-v1.0.1`
- `repeater-eastmesh-v1.0.1`
- `room-server-eastmesh-v1.0.1`
- `companion-wifi-v1.2.3`
- `repeater-mqtt-eastmesh-v1.0.1`
Replace `v1.0.1` with the EastMesh release version you want to publish.
Use the upstream MeshCore version in `companion-wifi-v1.2.3`.
Use the EastMesh release version in `repeater-mqtt-eastmesh-v1.0.1`.
Each tag triggers a separate workflow:
- `companion-eastmesh-*` builds companion firmware
- `repeater-eastmesh-*` builds repeater firmware
- `room-server-eastmesh-*` builds room server firmware
- `companion-wifi-v*` builds companion WiFi firmware
- `repeater-mqtt-eastmesh-*` builds repeater MQTT firmware
You can push one, or more tags on the same commit, and they will all build separately.
@@ -34,16 +33,18 @@ You can push one, or more tags on the same commit, and they will all build separ
During the GitHub Actions build:
- `FIRMWARE_VERSION` comes from `OFFICIAL_MESHCORE_VERSION`
- `EASTMESH_VERSION` comes from the tag
- `companion-wifi` uses the version in the tag as `FIRMWARE_VERSION`
- `repeater-mqtt` uses `OFFICIAL_MESHCORE_VERSION` as `FIRMWARE_VERSION`
- `repeater-mqtt` uses the EastMesh version from the tag as `EASTMESH_VERSION`
The final firmware/artifact version string becomes:
The resulting version string depends on the workflow:
- `v1.2.3-eastmesh-v1.0.1-<commit>`
- `companion-wifi`: `v1.2.3-<commit>`
- `repeater-mqtt`: `v1.2.3-eastmesh-v1.0.1-<commit>`
Example:
- tag: `room-server-eastmesh-v1.0.1`
- tag: `repeater-mqtt-eastmesh-v1.0.1`
- repo variable: `OFFICIAL_MESHCORE_VERSION=v1.2.3`
- resulting build version: `v1.2.3-eastmesh-v1.0.1-abcdef`
@@ -59,23 +60,12 @@ Example:
Example:
```bash
git tag companion-eastmesh-v1.0.1
git tag repeater-eastmesh-v1.0.1
git tag room-server-eastmesh-v1.0.1
git push origin companion-eastmesh-v1.0.1 repeater-eastmesh-v1.0.1 room-server-eastmesh-v1.0.1
git tag companion-wifi-v1.2.3
git tag repeater-mqtt-eastmesh-v1.0.1
git push origin companion-wifi-v1.2.3 repeater-mqtt-eastmesh-v1.0.1
```
## Legacy Tags
## Supported Tags
The workflows still accept older tag formats for compatibility:
- `companion-v1.2.3`
- `repeater-v1.2.3`
- `room-server-v1.2.3`
- `room-server-v1.2.3-eastmesh-v1.0.1`
However, the recommended EastMesh release format is:
- `companion-eastmesh-v1.0.1`
- `repeater-eastmesh-v1.0.1`
- `room-server-eastmesh-v1.0.1`
- `companion-wifi-v1.2.3`
- `repeater-mqtt-eastmesh-v1.0.1`