Promote nu_plugin_charton 0.9.0 to the CI build farm (workspace crate via cargo_package)

Merged
TO
3d ago
+76-6

Stacked on #117: the base is the backlog branch because the backlog status change for this plugin lives there.

Why cargo_package exists

wangjiawen2013/charton is a Cargo workspace whose root package is the charton library; the Nushell plugin is a workspace member crate (nu_plugin_charton). The build workflow only ever built a repo's default package, so this plugin was unbuildable in the farm as it stood. The new optional cargo_package manifest field names the crate to build: validate_manifest.py validates it, the setup job carries it into the build matrix, and the cargo step adds --package from that env value when present. Entries that omit it build exactly as before. Tests cover both the validator and the workflow plumbing.

Promotion

  • manifest.json: nu_plugin_charton 0.9.0, tag v0.9.0 at c36e794a3c5b03c53b033352b432daf0ad80e962, Nu >=0.116.0 <0.117.0 (the crate pins nu-plugin =0.116), x86_64-apple-darwin excluded per the Intel Mac EOL convention.
  • docs/backlog.json: ELIGIBLE to INTAKE_PENDING with the promotion note.
  • README pending-first-build list and roadmap plugin count (34) updated.

Gates verified locally

  • Tag to commit: validate_manifest.py --only nu_plugin_charton --verify-upstream passes.
  • cargo build --release --locked -p nu_plugin_charton succeeds on Linux x86_64.
  • Nu 0.116.1 smoke against the locally built binary: plugin registers, 19 charton commands are exposed, and a bar chart over sample data renders a valid SVG.
  • Repo checks pass: format_json, check_repo_consistency, check_workflows, and the full scripts unit suite.

Next after merge: dispatch build-plugins with only=nu_plugin_charton, then hand the emitted spec to numan-registry for intake and lifecycle-prove.


Summary by cubic

Promotes nu_plugin_charton 0.9.0 from wangjiawen2013/charton to the CI build farm, and adds an optional cargo_package manifest field so the build workflow can compile workspace-member plugin crates when the repo's default package is something else.

Why cargo_package exists

  • The charton repo is a Cargo workspace whose root is the charton library; the plugin is a member crate (nu_plugin_charton), which the workflow previously couldn't build.
  • New optional field names the crate to build; validate_manifest.py validates it, the setup job carries it into the matrix, and the build adds --package from the env value when present.
  • Entries that omit it build exactly as before; tests cover the validator and workflow plumbing.

Promotion

  • manifest.json gains the nu_plugin_charton 0.9.0 entry (tag v0.9.0, Nu >=0.116.0 <0.117.0, Intel Mac excluded).
  • docs/backlog.json moves the entry from ELIGIBLE to INTAKE_PENDING; README and roadmap plugin count updated.
  • Tag-to-commit check, locked build on Linux x86_64, Nu 0.116.1 smoke test, and repo checks all pass locally.