feat: add MQTT repeater support, web config panel, and EastMesh-specific firmware workflows
This commit is contained in:
@@ -26,17 +26,15 @@ runs:
|
||||
uv venv --allow-existing --seed
|
||||
echo "$GITHUB_WORKSPACE/.venv/bin" >> "$GITHUB_PATH"
|
||||
|
||||
# Recommended EastMesh tag format:
|
||||
# room-server-eastmesh-v1.0.1
|
||||
# Active release tag formats:
|
||||
# companion-wifi-v1.2.3
|
||||
# repeater-mqtt-eastmesh-v1.0.1
|
||||
# with OFFICIAL_MESHCORE_VERSION=v1.2.3 configured as a GitHub variable.
|
||||
#
|
||||
# This exports:
|
||||
# FIRMWARE_VERSION=v1.2.3
|
||||
# EASTMESH_VERSION=v1.0.1
|
||||
# RELEASE_VERSION=v1.2.3-eastmesh-v1.0.1
|
||||
#
|
||||
# Legacy tags like "room-server-v1.2.3" and
|
||||
# "room-server-v1.2.3-eastmesh-v1.0.1" remain supported.
|
||||
# companion-wifi-v1.2.3 -> FIRMWARE_VERSION=v1.2.3, RELEASE_VERSION=v1.2.3
|
||||
# repeater-mqtt-eastmesh-v1.0.1 -> FIRMWARE_VERSION=v1.2.3, EASTMESH_VERSION=v1.0.1,
|
||||
# RELEASE_VERSION=v1.2.3-eastmesh-v1.0.1
|
||||
- name: Extract Version Info
|
||||
shell: bash
|
||||
run: |
|
||||
@@ -56,17 +54,14 @@ runs:
|
||||
EASTMESH_VERSION=""
|
||||
FIRMWARE_VERSION="$STATIC_OFFICIAL_VERSION"
|
||||
|
||||
if [[ "$GIT_TAG_NAME" =~ ^(companion|repeater|room-server)-eastmesh-(v[[:alnum:]._-]+)$ ]]; then
|
||||
if [[ "$GIT_TAG_NAME" =~ ^repeater-mqtt-eastmesh-(v[[:alnum:]._-]+)$ ]]; then
|
||||
if [[ -z "$STATIC_OFFICIAL_VERSION" ]]; then
|
||||
echo "OFFICIAL_MESHCORE_VERSION must be set for EastMesh release tags" >&2
|
||||
exit 1
|
||||
fi
|
||||
EASTMESH_VERSION="${BASH_REMATCH[2]}"
|
||||
elif [[ "$GIT_TAG_NAME" =~ ^(companion|repeater|room-server)-(.+)-eastmesh-(v[[:alnum:]._-]+)$ ]]; then
|
||||
FIRMWARE_VERSION="${BASH_REMATCH[2]}"
|
||||
EASTMESH_VERSION="${BASH_REMATCH[3]}"
|
||||
elif [[ "$GIT_TAG_NAME" =~ ^(companion|repeater|room-server)-(.+)$ ]]; then
|
||||
FIRMWARE_VERSION="${BASH_REMATCH[2]}"
|
||||
EASTMESH_VERSION="${BASH_REMATCH[1]}"
|
||||
elif [[ "$GIT_TAG_NAME" =~ ^companion-wifi-(v[[:alnum:]._-]+)$ ]]; then
|
||||
FIRMWARE_VERSION="${BASH_REMATCH[1]}"
|
||||
else
|
||||
echo "Unsupported release tag format: $GIT_TAG_NAME" >&2
|
||||
exit 1
|
||||
|
||||
+5
-5
@@ -1,4 +1,4 @@
|
||||
name: Build Companion Firmwares
|
||||
name: Build Companion WiFi Firmwares
|
||||
|
||||
permissions:
|
||||
contents: write
|
||||
@@ -7,7 +7,7 @@ on:
|
||||
workflow_dispatch:
|
||||
push:
|
||||
tags:
|
||||
- 'companion-*'
|
||||
- 'companion-wifi-v*'
|
||||
|
||||
jobs:
|
||||
|
||||
@@ -24,19 +24,19 @@ jobs:
|
||||
uses: ./.github/actions/setup-build-environment
|
||||
|
||||
- name: Build Firmwares
|
||||
run: /usr/bin/env bash build.sh build-companion-firmwares
|
||||
run: /usr/bin/env bash build.sh build-companion-wifi-firmwares
|
||||
|
||||
- name: Upload Workflow Artifacts
|
||||
uses: actions/upload-artifact@v7
|
||||
with:
|
||||
name: companion-firmwares
|
||||
name: companion-wifi-firmwares
|
||||
path: out
|
||||
|
||||
- name: Create Release
|
||||
uses: softprops/action-gh-release@v2
|
||||
if: startsWith(github.ref, 'refs/tags/')
|
||||
with:
|
||||
name: Companion Firmware ${{ env.RELEASE_VERSION }}
|
||||
name: Companion WiFi Firmware ${{ env.RELEASE_VERSION }}
|
||||
body: ""
|
||||
draft: true
|
||||
files: out/*
|
||||
@@ -1,42 +0,0 @@
|
||||
name: Build Repeater Firmwares
|
||||
|
||||
permissions:
|
||||
contents: write
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
push:
|
||||
tags:
|
||||
- 'repeater-*'
|
||||
|
||||
jobs:
|
||||
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
env:
|
||||
OFFICIAL_MESHCORE_VERSION: ${{ vars.OFFICIAL_MESHCORE_VERSION }}
|
||||
steps:
|
||||
|
||||
- name: Clone Repo
|
||||
uses: actions/checkout@v6
|
||||
|
||||
- name: Setup Build Environment
|
||||
uses: ./.github/actions/setup-build-environment
|
||||
|
||||
- name: Build Firmwares
|
||||
run: /usr/bin/env bash build.sh build-repeater-firmwares
|
||||
|
||||
- name: Upload Workflow Artifacts
|
||||
uses: actions/upload-artifact@v7
|
||||
with:
|
||||
name: repeater-firmwares
|
||||
path: out
|
||||
|
||||
- name: Create Release
|
||||
uses: softprops/action-gh-release@v2
|
||||
if: startsWith(github.ref, 'refs/tags/')
|
||||
with:
|
||||
name: Repeater Firmware ${{ env.RELEASE_VERSION }}
|
||||
body: ""
|
||||
draft: true
|
||||
files: out/*
|
||||
+5
-5
@@ -1,4 +1,4 @@
|
||||
name: Build Room Server Firmwares
|
||||
name: Build Repeater MQTT Firmwares
|
||||
|
||||
permissions:
|
||||
contents: write
|
||||
@@ -7,7 +7,7 @@ on:
|
||||
workflow_dispatch:
|
||||
push:
|
||||
tags:
|
||||
- 'room-server-*'
|
||||
- 'repeater-mqtt-eastmesh-*'
|
||||
|
||||
jobs:
|
||||
|
||||
@@ -24,19 +24,19 @@ jobs:
|
||||
uses: ./.github/actions/setup-build-environment
|
||||
|
||||
- name: Build Firmwares
|
||||
run: /usr/bin/env bash build.sh build-room-server-firmwares
|
||||
run: /usr/bin/env bash build.sh build-repeater-mqtt-firmwares
|
||||
|
||||
- name: Upload Workflow Artifacts
|
||||
uses: actions/upload-artifact@v7
|
||||
with:
|
||||
name: room-server-firmwares
|
||||
name: repeater-mqtt-firmwares
|
||||
path: out
|
||||
|
||||
- name: Create Release
|
||||
uses: softprops/action-gh-release@v2
|
||||
if: startsWith(github.ref, 'refs/tags/')
|
||||
with:
|
||||
name: Room Server Firmware ${{ env.RELEASE_VERSION }}
|
||||
name: Repeater MQTT Firmware ${{ env.RELEASE_VERSION }}
|
||||
body: ""
|
||||
draft: true
|
||||
files: out/*
|
||||
Reference in New Issue
Block a user