Commit Graph
33 Commits
Author SHA1 Message Date
agessaman a6fd68c28e ci: document that the staged plus workflow registers on first push-trigger fire 2026-07-10 07:36:48 -07:00
agessaman 54cc194db2 ci: stage observer+ flasher channel workflow (disabled)
Second-channel pipeline for mqtt-observer-plus, mirroring
build-observer-firmwares.yml with full channel isolation:
- rolling tag observer-mqtt-plus-latest (never shared: per-tag asset pruning
  would cross-delete on a shared tag)
- FIRMWARE_VERSION v1.16.0-plus, separate build counter
- OTA_MANIFEST_BASE overridden to /v-plus at build time so device pull-OTA
  can never hop a plus node back onto the stable channel (env build flags
  append after ini flags, so the override wins — verified in the binary)

Not enabled: workflow_dispatch only (push trigger staged in comments), and
the flasher-repo sync is gated behind SYNC_FLASHER=false with a fail-closed
guard so a premature enable cannot clobber the stable config.json. The
header documents the flasher-side prerequisites (channel-aware
update-firmware.py, SPA channel picker, v-plus manifests, plus changelog).
Manual dispatch already works for publishing hand-flashable test builds to
the release page.
2026-07-10 07:34:10 -07:00
agessaman b88dc02b66 Merge mcarper/keymindCascade into mqtt-observer-plus
Integrates Mike Carper's transmission-reliability work (direct retries with
SNR-adaptive backoff and CR, flood retry controls, alt-path replies, flood
channel gates) plus its upstream/dev base (as of 2026-07-06) on top of the
observer stack. The flex branch is untouched; this branch is the experimental
integration line.

Conflict-resolution decisions, for future re-syncs (git rerere is enabled and
has recorded these):
- NodePrefs adopts keymind/upstream member order + retry/flood tail. Member
  order is in-memory only: /com_prefs stays field-by-field with the same
  canonical file order both sides already share through offset 294; keymind
  appends the retry tail at 295+ (new canonical size 676). Flex fleet files
  load unchanged; retry fields default via direct_retry_prefs_magic.
- loadPrefsInt keeps the fork's legacy MQTT-gap recovery but moves its
  detection boundary from 'extra > 5' to 'extra > LEGACY_MQTT_GAP_3SLOT (864)'
  so keymind-size tails take the normal read path. COM_PREFS_TAIL_BYTES
  retired.
- Dispatcher/RadioLibWrappers: fork watchdog additions + keymind TX overrides
  and CAD busy counter are unioned; RxReservePacketManager::queueOutbound
  follows upstream's new bool return (false when shedding).
- CommonCLI: fork observer dispatch + versioned /mqtt_prefs machinery kept;
  keymind CLI (retry/flood/radioat) taken; duplicate CAD/FEM handlers and
  sanitise lines deduped (kept keymind placements to minimize future diff).
- MyMesh (repeater/room): fork alerter/OTA/observer wiring kept; keymind
  scheduled-radio system replaces the old pending_* temp-radio members;
  applySavedRadioParams() replaces raw setParams at startup.
- ESP32Board: fork manifest-OTA + keymind powerOff/deepSleep and stopOTAUpdate
  unioned; startOTAUpdate keeps fork's STA-aware IP with keymind's idempotency
  guard.
- build.sh taken wholesale from keymind (fleet builds use GH Actions).

Verified: Heltec_v3_repeater_observer_mqtt, Heltec_v3_repeater,
heltec_v4_repeater_observer_mqtt, Heltec_v3_room_server_observer_mqtt build;
host migration harness (13 MQTT + non-MQTT scenarios) passes with updated
expectations (676-byte /com_prefs; odd-size files normalize on save, not
load); native unit tests 13/13.
2026-07-09 23:10:41 -07:00
agessaman b5797da462 fix(github-actions): exclude .partsig files from release asset uploads
Updated the build-observer-firmwares workflow to exclude .partsig files
when uploading release assets. This change prevents issues with the
slim-manifest generator and ensures that only relevant firmware files
are published, improving the integrity of the release process.
2026-06-23 15:59:28 -07:00
agessaman 125ddac184 feat(ota): add partition-table signature handling for OTA updates
Implemented functionality to generate and compare partition-table
signatures during OTA updates. This enhancement ensures that the
target build's partition layout matches the device's actual layout,
improving the reliability of OTA updates and preventing issues
related to partition changes.
2026-06-23 15:38:10 -07:00
agessaman 730eb37dbd feat(ota): implement build number suffix for firmware versioning
Enhanced the firmware versioning system by appending a build number
suffix when available, allowing for better tracking of published builds.
This change improves the OTA update process by providing clearer
versioning information in the embedded firmware string.
2026-06-23 12:55:07 -07:00
agessaman 8b084d5ac3 chore(github-actions): enhance asset pruning logic in release workflow
Updated the build-observer-firmwares.yml to improve the asset pruning
logic during the release process. The workflow now retains the most
recent build hashes to prevent 404 errors for assets that may still
be requested during build cycles. This change ensures a smoother
release experience by maintaining necessary assets while cleaning
up older ones.
2026-06-18 17:55:45 -07:00
agessaman 50154563ba chore(github-actions): refine paths-ignore and shallow clone handling in workflow 2026-06-18 12:01:32 -07:00
agessaman 71b92c830c chore(github-actions): improve changelog generation and git history fetch 2026-06-18 09:38:27 -07:00
agessaman 0844eee136 Sync documentation files for Flasher in GitHub Actions workflow 2026-06-16 14:14:33 -07:00
liamcottle 3b39925399 use single quotes for repo name 2026-06-12 03:20:44 +12:00
liamcottle c94ed29ca3 add github workflow to close stale issues 2026-06-12 03:18:10 +12:00
agessaman 8fa38707c2 Refactor GitHub Actions workflow for rolling release management
Updated the build-observer-firmwares.yml to improve the handling of rolling releases. The workflow now creates a release only if it doesn't already exist, preventing tag conflicts. Additionally, it uploads build artifacts while replacing existing assets and prunes older assets to maintain a clean release. This change enhances the reliability and efficiency of the release process.
2026-06-08 19:13:19 -07:00
agessaman c29ede054b Increase the number of shards from 4 to 14 in the GitHub Actions workflow for building observer firmwares 2026-06-06 14:44:24 -07:00
agessaman 6723776f9d Add caching for PlatformIO toolchains in GitHub Actions workflow 2026-06-06 14:20:30 -07:00
agessaman 981ed2469e automate build process with github actions 2026-06-06 14:10:53 -07:00
Scott Powell 07a3ca9e05 Merge branch 'dev'
# Conflicts:
#	docs/faq.md
2026-06-06 21:12:43 +10:00
Sefinek c67548347c ci: pin peaceiris/actions-gh-pages to v4.1.0 for Node.js 24 support 2026-05-28 16:10:46 +02:00
Sefinek bbd37f53a8 ci: update GitHub Actions and Python version, fix ruby-version typo 2026-05-28 16:01:59 +02:00
Michael Lynch 5e03c00397 Add unit tests for Utils::toHex 2026-04-24 19:37:21 +00:00
Liam CottleandGitHub bdae60498c Merge pull request #2016 from weebl2000/add-lr1110-sx1276
Add sanity build for LR1110 and SX1276 too
2026-04-22 19:30:12 +12:00
Wessel Nieboer c0252ab82c Add sanity build for LR1110 and SX1276 too 2026-04-04 13:18:15 +02:00
liamcottle 2f6046d7ba update docs cname 2026-03-24 15:38:15 +13:00
Wessel Nieboer bcfe001370 Have our github PR sanity check also run against main and dev for every merge
This will pick up any easy to spot build failures on dev/main
2026-03-11 16:51:09 +01:00
Scott Powell 9f1a3eafcc Merge branch 'dev'
# Conflicts:
#	docs/cli_commands.md
2026-03-06 12:21:52 +11:00
Wessel Nieboer 15cce12efd Add basic sanity test github PR workflow
Build a few generic variants to verify at least those compile. Can't
hurt.
2026-02-25 02:43:48 +01:00
liamcottle 85aa052e1f only deploy docs from main branch 2026-02-08 13:01:13 +13:00
liamcottle 6564bbd58e migrate docs build script so cname survives 2026-02-08 13:00:59 +13:00
liamcottle 706b5a39c6 allow manual deploy 2026-01-28 21:48:39 +13:00
liamcottle c35c1961de add docs branch for testing 2026-01-28 21:48:39 +13:00
liamcottle 132c8961e8 add workflow to build and deploy docs to github pages 2026-01-28 21:48:39 +13:00
Scott Powell 45a88dca3d * .yml files, permissions: write 2025-03-05 19:48:52 +11:00
liamcottle 13bc6e4178 setup automated firmware builds with github actions 2025-03-03 17:58:15 +13:00