Skip to content

feat: add NLBoot release archive inspection (sourceosctl release inspect-archive)#7

Merged
mdheller merged 2 commits intomainfrom
copilot/add-nlboot-release-inspection
May 1, 2026
Merged

feat: add NLBoot release archive inspection (sourceosctl release inspect-archive)#7
mdheller merged 2 commits intomainfrom
copilot/add-nlboot-release-inspection

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented May 1, 2026

Devtools lacked any way to inspect a local NLBoot release archive before operators attempt installation. This adds a read-only release inspect-archive command that validates presence of all required NLBoot release artifacts in an unpacked directory.

Changes

  • New commandsourceosctl release inspect-archive <path> checks a directory for the five required files (nlboot-client, Cargo.lock, cargo-metadata.json, sbom.spdx.json, release-manifest.json), prints per-file ok/MISSING status, exits 1 with an explicit list of missing files on failure.

  • CLI wiringinspect-archive registered as a subcommand under release in cli.py.

  • Fixtures

    • fixtures/nlboot_release_valid/ — all five required stub files; passes inspection.
    • fixtures/nlboot_release_invalid/ — only nlboot-client + Cargo.lock; fails with a clear error naming the three missing files.
  • TestsTestReleaseArchive (6 cases): valid dir, invalid dir, missing dir, file-not-directory, and both via main().

  • README — commands table and running-from-repo examples updated.

Example

$ sourceosctl release inspect-archive fixtures/nlboot_release_valid
NLBoot release archive: fixtures/nlboot_release_valid
  ok  nlboot-client
  ok  Cargo.lock
  ok  cargo-metadata.json
  ok  sbom.spdx.json
  ok  release-manifest.json
ok: all required NLBoot release files present

$ sourceosctl release inspect-archive fixtures/nlboot_release_invalid
NLBoot release archive: fixtures/nlboot_release_invalid
  ok  nlboot-client
  ok  Cargo.lock
  MISSING  cargo-metadata.json
  MISSING  sbom.spdx.json
  MISSING  release-manifest.json
error: 3 required file(s) missing: cargo-metadata.json, sbom.spdx.json, release-manifest.json

No host mutation, no network access, no install behavior introduced.

Copilot AI linked an issue May 1, 2026 that may be closed by this pull request
Copilot AI changed the title [WIP] Add NLBoot release artifact inspection for devtools feat: add NLBoot release archive inspection (sourceosctl release inspect-archive) May 1, 2026
Copilot AI requested a review from mdheller May 1, 2026 00:19
@mdheller mdheller marked this pull request as ready for review May 1, 2026 01:24
@mdheller mdheller merged commit 9bbbaab into main May 1, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Agent task: add NLBoot release artifact inspection

2 participants