• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

dangernoodle-io / taipan-cli / 24962730892
67%

Build:
DEFAULT BRANCH: main
Ran 26 Apr 2026 05:32PM UTC
Jobs 1
Files 24
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

26 Apr 2026 05:31PM UTC coverage: 45.615% (+6.5%) from 39.072%
24962730892

push

github

web-flow
feat(config): top-level wifi/worker/pool/device/boards + flash overrides (#17)

Reworks the taipan config schema to support shared globals across
profiles, eliminating per-profile duplication of wifi credentials,
pool defaults, and per-board worker prefixes.

schema additions:
- wifi: top-level { ssid, password } shared across all profiles
- worker: top-level { prefix, suffix } defaults
- pool: top-level { host, port, password } defaults (password
  defaults to "x" when entirely unset)
- device: top-level { display_en } applied across all boards
- boards: top-level map of per-board defaults (worker_prefix,
  pool overrides, display_en) shared by all profiles
- per-board pool_password and display_en overrides on BoardEntry
- Profile.PoolPassword override

resolution chain (per BoardEntry-shaped field):
profile.board → profile → cfg.boards[board] → cfg.<global>

Wallet stops at profile (no global). WorkerName stays board-local
and wins verbatim over prefix/suffix. Board enrollment is strict:
profiles must opt in via profile.boards entries.

flash command:
- --wifi-ssid / --wifi-password CLI overrides applied after
  ResolveBoard, before any prompt
- --yes skips the new resolved-NVS confirmation prompt
- resolved NVS configuration table prints before chip I/O so the
  user can verify wifi/pool/wallet/worker/display_en before any
  destructive operation. Aborts cleanly on "n"; non-TTY proceeds
  silently for CI use (closes T1-5)
- pool_pass NVS entry sourced from resolved.PoolPassword instead
  of being hardcoded to "x"
- display_en NVS entry (u8) provisioned at flash time

config command:
- get/set new dot-paths: wifi.ssid, wifi.password, worker.prefix,
  worker.suffix, pool.host, pool.port, pool.password,
  device.display_en, boards.<n>.<field>
- global keys (wifi/worker/pool/device + top-level boards)
  routed via empty --profile flag
- runInit skips per-profile wifi prompts when global wifi exists

YAML output now uses 2-space indentation in Save() an... (continued)

360 of 547 new or added lines in 5 files covered. (65.81%)

7 existing lines in 3 files now uncovered.

1139 of 2497 relevant lines covered (45.61%)

0.54 hits per line

Uncovered Changes

Lines Coverage ∆ File
67
5.05
-1.53% internal/cli/config.go
62
80.76
13.79% internal/config/resolve.go
55
2.86
2.86% internal/flash/flash.go
3
42.42
1.68% internal/cli/flash.go

Coverage Regressions

Lines Coverage ∆ File
4
5.05
-1.53% internal/cli/config.go
2
2.86
2.86% internal/flash/flash.go
1
80.76
13.79% internal/config/resolve.go
Jobs
ID Job ID Ran Files Coverage
1 24962730892.1 26 Apr 2026 05:32PM UTC 24
45.61
GitHub Action Run
Source Files on build 24962730892
  • Tree
  • List 24
  • Changed 5
  • Source Changed 5
  • Coverage Changed 5
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #24962730892
  • 27e6ff73 on github
  • Prev Build on main (#24962625066)
  • Next Build on main (#26139885183)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc