feat: add bridge firmware release workflows
This commit is contained in:
@@ -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/*
|
||||
|
||||
Reference in New Issue
Block a user