Commit Graph

13 Commits

Author SHA1 Message Date
eric b8e9b65995 fix(ci): forward auth token across http->https redirect on release publish
curl drops the Authorization header when -L follows Gitea's 308 redirect from
http server_url to https, so the API replied 'token is required' and publish
failed with no release id. Add --location-trusted to every publish curl.
2026-09-07 21:01:34 -07:00
eric 29b048e066 chore(plugin): release v0.1.3 2026-09-07 21:01:21 -07:00
eric 932171c34d Merge pull request 'fix(ci): follow Gitea http->https redirect when publishing releases' (#1) from ci-publish-fix into main
release / contract-test (push) Successful in 45s
release / test-and-release (push) Failing after 12s
2026-09-08 03:56:33 +00:00
eric cdc67bc263 fix(ci): follow Gitea http->https redirect when publishing releases
server_url resolves to http and Gitea answers the create-release POST with a
308 redirect; curl without -L returned an empty body and the grep-based id
extraction failed under set -e/pipefail, failing v0.1.3 publish. Add -L,
reuse an existing release on retry, and parse with python3.
2026-09-07 20:56:20 -07:00
eric 310c0244df fix(plugin): bind adapter to real Hermes gateway API; add contract-test gate
release / contract-test (push) Successful in 54s
release / test-and-release (push) Successful in 11s
- Resolve the Hermes gateway API lazily via get_adapter_class() so the adapter
  always inherits the real gateway.platforms.base.BasePlatformAdapter instead
  of the ImportError fallback stub (root cause of the AttributeError:
  'set_message_handler' crash at gateway startup).
- Pass Platform('meshtastic') enum to super().__init__ and align
  connect(*, is_reconnect=False) -> bool with the gateway contract.
- Split pure formatting utils into formatting.py; remove the stub fallback.
- Add tests/contract (L0-L3): real-base binding, ABC instantiation, gateway
  run.py wiring replay, signature and event-shape conformance, run against
  hermes-agent pinned to the deployed image source (v2026.8.31).
- Add scripts/contract-test.sh and a contract-test CI job; release publish
  now requires contract tests to pass.
- Untrack stray __pycache__ artifacts.
2026-09-07 20:50:21 -07:00
eric 2d9106b864 fix(plugin): implement BasePlatformAdapter abstract methods and proper build_source event
release / test-and-release (push) Failing after 12s
v0.1.2
2026-09-07 19:45:37 -07:00
eric 7136f8c0fd fix: entry point should reference package module hermes_meshtastic not function
release / test-and-release (push) Successful in 13s
v0.1.1
2026-09-07 19:32:15 -07:00
eric 5e8ef0ee6e fix(ci): create python venv before installing test and build dependencies
release / test-and-release (push) Failing after 12s
v0.1.0
2026-09-07 19:25:23 -07:00
eric d7162ccfae feat: add hermes-meshtastic platform plugin and Gitea Actions release workflow
release / test-and-release (push) Successful in 1m5s
2026-09-07 19:24:10 -07:00
eric 0914bb8ab2 feat: add factory backup for second Heltec V4 node (!1ba1496c) 2026-09-07 18:39:46 -07:00
eric 1b4795ed83 chore: move meshtastic skill to local .agents/skills/ 2026-09-07 18:29:52 -07:00
eric a7e0d65a32 feat: add meshtastic skill definitions and references to repo 2026-09-07 18:28:31 -07:00
eric f6fe5a1987 feat: initial setup for Meshtastic Heltec V4 node, custom CA HTTPS firmware, backups, and tooling 2026-09-07 18:15:58 -07:00