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

Alan-Jowett / sonde / 23819217029
80%

Build:
DEFAULT BRANCH: main
Ran 31 Mar 2026 09:07PM UTC
Jobs 1
Files 82
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

31 Mar 2026 09:01PM UTC coverage: 85.024% (-0.2%) from 85.177%
23819217029

push

github

web-flow
feat: introduce Sonde App Bundle format and \sonde-bundle\ crate (#607)

* feat: introduce Sonde App Bundle format and sonde-bundle crate

Closes #491 — adds first-class support for .sondeapp bundles: single,
versioned artifacts that package BPF programs, handlers, node targeting,
and hardware profiles for deployment onto the Sonde platform.

Specifications:
- docs/bundle-format.md — archive format, YAML manifest schema,
  deploy/undeploy semantics, schema versioning
- docs/bundle-tool-requirements.md — 14 requirements (SB-0100–SB-0502)
- docs/bundle-tool-design.md — module architecture and API design
- docs/bundle-tool-validation.md — 42 test cases with traceability

Gateway spec extensions:
- docs/gateway-requirements.md — GW-1600–GW-1604 (deploy/undeploy CLI)
- docs/gateway-design.md — §20 deploy orchestration
- docs/gateway-validation.md — T-1600–T-1608 deploy tests

Implementation:
- New crate \sonde-bundle\ (library + \sonde-bundle\ CLI binary)
- Modules: \manifest\ (YAML types), \alidate\ (all §6 rules),
  \rchive\ (create/extract/inspect), \rror\ (error types)
- CLI subcommands: \create\, \alidate\, \inspect\
- 33 passing tests covering validation, security (path traversal,
  symlink rejection), round-trip, and file exclusion
- Clippy-clean with \-D warnings\

The \sonde-admin deploy/undeploy/validate\ commands (GW-1600–1604)
are fully specified but deferred to a follow-up PR.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Signed-off-by: Alan Jowett <alan.jowett@microsoft.com>

* fix: address review comments on sonde-bundle PR

- Strengthen path traversal checks in \alidate.rs\ and \rchive.rs\:
  reject \Component::Prefix\, \Component::RootDir\, and Windows drive
  letters on all platforms
- Refactor \check_path_safety\ to operate on \&Path\ directly, preventing
  non-UTF8 bypass via \	o_string_lossy\
- Add path safety validation for handler args and \working_dir\ in
  \create_bundle\ before including files
- Sort ... (continued)

1182 of 1440 new or added lines in 5 files covered. (82.08%)

24805 of 29174 relevant lines covered (85.02%)

145.72 hits per line

Uncovered Changes

Lines Coverage ∆ File
93
79.42
crates/sonde-bundle/src/archive.rs
75
90.43
crates/sonde-bundle/src/validate.rs
39
26.42
crates/sonde-bundle/src/manifest.rs
36
72.73
crates/sonde-bundle/src/main.rs
15
21.05
crates/sonde-bundle/src/error.rs
Jobs
ID Job ID Ran Files Coverage
1 23819217029.1 31 Mar 2026 09:07PM UTC 82
85.02
GitHub Action Run
Source Files on build 23819217029
  • Tree
  • List 82
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #23819217029
  • cce40171 on github
  • Prev Build on main (#23819205766)
  • Next Build on main (#23819578967)
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