mirror of
https://github.com/ruvnet/RuView
synced 2026-07-20 17:03:24 +00:00
a8f5276d9b
YAML-driven orchestrator for testing multiple ESP32-S3 QEMU instances with configurable topologies (star/mesh/line/ring), role-based nodes (sensor/coordinator/gateway), and swarm-level health assertions. New files: - ADR-062: architecture decision record - qemu_swarm.py: main orchestrator (1097 lines) - YAML config parsing with schema validation - 4 topology implementations with TAP/SLIRP fallback - Per-node NVS provisioning via provision.py --dry-run - Signal-safe cleanup, dry-run mode, JSON results output - swarm_health.py: 9-assertion health oracle (653 lines) - 7 preset configs: smoke (2n/15s), standard (3n/60s), large-mesh (6n/90s), line-relay (4n/60s), ring-fault (4n/75s), heterogeneous (5n/90s), ci-matrix (3n/30s) - CI: swarm-test job in firmware-qemu.yml Co-Authored-By: claude-flow <ruv@ruv.net>
32 lines
499 B
YAML
32 lines
499 B
YAML
# CI-optimized preset: 3 nodes, star topology, 30s, minimal assertions
|
|
swarm:
|
|
name: ci-matrix
|
|
duration_s: 30
|
|
topology: star
|
|
aggregator_port: 5005
|
|
|
|
nodes:
|
|
- role: coordinator
|
|
node_id: 0
|
|
scenario: 0
|
|
channel: 6
|
|
edge_tier: 1
|
|
|
|
- role: sensor
|
|
node_id: 1
|
|
scenario: 1
|
|
channel: 6
|
|
tdm_slot: 1
|
|
|
|
- role: sensor
|
|
node_id: 2
|
|
scenario: 2
|
|
channel: 6
|
|
tdm_slot: 2
|
|
|
|
assertions:
|
|
- all_nodes_boot
|
|
- no_crashes
|
|
- tdm_no_collision
|
|
- max_boot_time_s: 10
|