Skip to content

Commit b744b42

Browse files
committed
merge: observer-firmware-dev into observer-firmware at v1.17.0
The planned wholesale dev -> prod merge at upstream MeshCore 1.17.0. Production now adopts the dev lineage in full; the two release channels stay separated by workflow, not by branch content. Resolution: prod's tree is now identical to observer-firmware-dev. Prod's 23 observer commits were sibling hand-ports of features dev implements more fully (neighbors, max-active-slots, retain policy, MeshRank routing, SNMP, deferred OTA), so dev's implementation wins throughout. Verified no prod-only content was lost: MQTT broker presets are at parity (34 both sides), and the sensor_base build flags that prod added for Heltec/RAK3112/Xiao S3 WIO are all present. Three files auto-merged into an inconsistent mix and were forced to dev: - examples/simple_repeater/MyMesh.h: kept BOTH lineages' WITH_MQTT_NEIGHBORS blocks, redeclaring neighbor_discover[] and declaring sendAnonRegionsReq() twice with different return types. Would not have compiled. - src/helpers/MQTTDefaults.h: duplicate neighbors default assignments (dev already sets them further down). - .wt-station-g3-prod: stray tracked build worktree, untracked on dev and covered by dev's .gitignore '.wt-*/' rule. Prod's station-g3 OTA hotfix (5000391) hardcoded the production manifest URL in build_flags; dropped in favour of dev's env, since build.sh already defaults OTA_MANIFEST_BASE to the production URL when the beta workflow does not override it. Verified on the built binary. Channels after this merge: - observer-firmware -> v1.17.0, tag observer-mqtt-latest, manifest /v - observer-firmware-dev -> v1.17.0, tag observer-mqtt-beta-latest, manifest /beta/v The beta workflow now also lives on prod but only triggers on the dev branch.
2 parents 40b2112 + 8f12b89 commit b744b42

429 files changed

Lines changed: 30519 additions & 3406 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/FUNDING.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
github: meshcore-dev

.github/actions/setup-build-environment/action.yml

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,17 +4,17 @@ runs:
44
steps:
55

66
- name: Init Cache
7-
uses: actions/cache@v4
7+
uses: actions/cache@v5
88
with:
99
path: |
1010
~/.cache/pip
1111
~/.platformio/.cache
1212
key: ${{ runner.os }}-pio
1313

1414
- name: Install Python
15-
uses: actions/setup-python@v5
15+
uses: actions/setup-python@v6
1616
with:
17-
python-version: '3.11'
17+
python-version: '3.13'
1818

1919
- name: Install PlatformIO
2020
shell: bash
@@ -25,5 +25,14 @@ runs:
2525
- name: Extract Version from Git Tag
2626
shell: bash
2727
run: |
28-
GIT_TAG_NAME="${GITHUB_REF#refs/tags/}"
29-
echo "GIT_TAG_VERSION=${GIT_TAG_NAME##*-}" >> $GITHUB_ENV
28+
if [[ "${GITHUB_REF}" == refs/tags/* ]]; then
29+
# triggered by a tag push (e.g: refs/tags/companion-v1.2.3)
30+
GIT_TAG_NAME="${GITHUB_REF#refs/tags/}"
31+
VERSION_STRING="${GIT_TAG_NAME##*-}"
32+
else
33+
# triggered by a workflow dispatch (e.g: refs/heads/main)
34+
# strip "refs/heads/" prefix and replace any remaining "/" with "-" to protect file paths
35+
BRANCH_NAME="${GITHUB_REF#refs/heads/}"
36+
VERSION_STRING=$(echo "$BRANCH_NAME" | tr '/' '-')
37+
fi
38+
echo "GIT_TAG_VERSION=${VERSION_STRING}" >> $GITHUB_ENV

.github/workflows/build-companion-firmwares.yml

Lines changed: 5 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -10,33 +10,8 @@ on:
1010
- 'companion-*'
1111

1212
jobs:
13-
14-
build:
15-
runs-on: ubuntu-latest
16-
steps:
17-
18-
- name: Clone Repo
19-
uses: actions/checkout@v4
20-
21-
- name: Setup Build Environment
22-
uses: ./.github/actions/setup-build-environment
23-
24-
- name: Build Firmwares
25-
env:
26-
FIRMWARE_VERSION: ${{ env.GIT_TAG_VERSION }}
27-
run: /usr/bin/env bash build.sh build-companion-firmwares
28-
29-
- name: Upload Workflow Artifacts
30-
uses: actions/upload-artifact@v4
31-
with:
32-
name: companion-firmwares
33-
path: out
34-
35-
- name: Create Release
36-
uses: softprops/action-gh-release@v2
37-
if: startsWith(github.ref, 'refs/tags/')
38-
with:
39-
name: Companion Firmware ${{ env.GIT_TAG_VERSION }}
40-
body: ""
41-
draft: true
42-
files: out/*
13+
build-companion-firmwares:
14+
uses: ./.github/workflows/firmware-builder.yml
15+
with:
16+
firmware_type: 'companion'
17+
release_title_prefix: 'Companion Firmware'

0 commit comments

Comments
 (0)