feat: add bridge firmware release workflows

This commit is contained in:
Jared Dohrman
2026-05-05 20:50:57 +10:00
parent c42cc03069
commit 21daf79ddf
7 changed files with 101 additions and 5 deletions
@@ -42,11 +42,16 @@ runs:
# Active release tag formats:
# companion-wifi-v1.2.3
# repeater-bridge-espnow-v1.2.3
# repeater-mqtt-bridge-eastmesh-v1.0.1
# repeater-mqtt-eastmesh-v1.0.1
# with OFFICIAL_MESHCORE_VERSION=v1.2.3 configured as a GitHub variable.
#
# This exports:
# companion-wifi-v1.2.3 -> FIRMWARE_VERSION=v1.2.3, RELEASE_VERSION=v1.2.3
# repeater-bridge-espnow-v1.2.3 -> FIRMWARE_VERSION=v1.2.3, RELEASE_VERSION=v1.2.3
# repeater-mqtt-bridge-eastmesh-v1.0.1 -> FIRMWARE_VERSION=v1.2.3, EASTMESH_VERSION=v1.0.1,
# RELEASE_VERSION=v1.2.3-eastmesh-v1.0.1
# 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
@@ -74,8 +79,16 @@ runs:
exit 1
fi
EASTMESH_VERSION="${BASH_REMATCH[1]}"
elif [[ "$GIT_TAG_NAME" =~ ^repeater-mqtt-bridge-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[1]}"
elif [[ "$GIT_TAG_NAME" =~ ^companion-wifi-(v[[:alnum:]._-]+)$ ]]; then
FIRMWARE_VERSION="${BASH_REMATCH[1]}"
elif [[ "$GIT_TAG_NAME" =~ ^repeater-bridge-espnow-(v[[:alnum:]._-]+)$ ]]; then
FIRMWARE_VERSION="${BASH_REMATCH[1]}"
else
echo "Unsupported release tag format: $GIT_TAG_NAME" >&2
exit 1
@@ -0,0 +1,42 @@
name: EastMesh Build Repeater ESP-NOW Bridge Firmwares
permissions:
contents: write
on:
workflow_dispatch:
push:
tags:
- 'repeater-bridge-espnow-v*'
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 eastmesh-build.sh build-repeater-bridge-espnow-firmwares
- name: Upload Workflow Artifacts
uses: actions/upload-artifact@v7
with:
name: repeater-bridge-espnow-firmwares
path: out
- name: Create Release
uses: softprops/action-gh-release@v2
if: startsWith(github.ref, 'refs/tags/')
with:
name: Repeater ESP-NOW Bridge Firmware ${{ env.RELEASE_VERSION }}
body: ""
draft: true
files: out/*
@@ -5,6 +5,9 @@ permissions:
on:
workflow_dispatch:
push:
tags:
- 'repeater-mqtt-bridge-eastmesh-*'
jobs:
@@ -29,3 +32,12 @@ jobs:
with:
name: repeater-mqtt-bridge-firmwares
path: out
- name: Create Release
uses: softprops/action-gh-release@v2
if: startsWith(github.ref, 'refs/tags/')
with:
name: Repeater MQTT Bridge Firmware ${{ env.RELEASE_VERSION }}
body: ""
draft: true
files: out/*