Repository navigation
Promote nu_plugin_charton 0.9.0 to the CI build farm (workspace crate via cargo_package) - #118
Conversation
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the
|
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
There was a problem hiding this comment.
Review Summary
This PR correctly introduces cargo_package support to enable building workspace-member Cargo crates in the CI farm, and promotes nu_plugin_charton 0.9.0 as its first user.
All changed components are correct and consistent with each other:
validate_manifest.py:validate_cargo_packageis correctly implemented and wired intovalidate_active_entry. The regex^[A-Za-z0-9][A-Za-z0-9_-]*$accepts valid Cargo package identifiers.build.yml:cargo_packageis correctly propagated from the inline Python matrix-builder into each matrix leg'sincludeentry, exposed asMATRIX_CARGO_PACKAGEthroughenv:(never via direct shell interpolation), and conditionally appended tobuild_cmdbefore the--lockedinvocation. Critically, the--lockedretry fallback also uses"${build_cmd[@]}"rather than a hardcodedcargoinvocation — the workspace crate would otherwise be missing--packageon the retry path.manifest.json: Thenu_plugin_chartonentry is well-formed with"cargo_package": "nu_plugin_charton", correctsource_commit,tag,nu_version, andx86_64-apple-darwinexclusion per convention.scripts/test_validate_manifest.py: New tests cover acceptance of a valid selector and rejection of each invalid form ("", string with spaces,"foo/bar", integer).scripts/test_workflow_safety.py:test_build_plumbs_cargo_package_selectionverifies all three structural invariants (matrix propagation, env wiring, build command injection) that must hold simultaneously for the feature to work correctly.
No merge-blocking defects found. The change is ready to merge.
You can now have the agent implement changes and create commits directly on your pull request's source branch. Simply comment with /q followed by your request in natural language to ask the agent to make changes.
|
No noteworthy issues found. |
7fb8b91
into
chore/backlog-awesome-nu-2026-10-31
* chore(backlog): add six awesome-nu plugin candidates (charton, zstdsep, nuplot, three builtin) * Promote nu_plugin_charton 0.9.0 to the CI build farm (workspace crate via cargo_package) (#118) * feat(build): build workspace-member plugins via cargo_package * feat(manifest): promote nu_plugin_charton 0.9.0 to the CI build farm * Fixed nuplot backlog entry; all threads resolved; CI green. Co-authored-by: tonythethompson <tonythethompson@users.noreply.github.com> --------- Co-authored-by: opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com> Co-authored-by: tonythethompson <tonythethompson@users.noreply.github.com>
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_packagemanifest 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--packagefrom that env value when present. Entries that omit it build exactly as before. Tests cover both the validator and the workflow plumbing.Promotion
Gates verified locally
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_charton0.9.0 fromwangjiawen2013/chartonto the CI build farm, and adds an optionalcargo_packagemanifest field so the build workflow can compile workspace-member plugin crates when the repo's default package is something else.Why
cargo_packageexistschartonlibrary; the plugin is a member crate (nu_plugin_charton), which the workflow previously couldn't build.validate_manifest.pyvalidates it, the setup job carries it into the matrix, and the build adds--packagefrom the env value when present.Promotion
manifest.jsongains thenu_plugin_charton0.9.0 entry (tagv0.9.0, Nu>=0.116.0 <0.117.0, Intel Mac excluded).docs/backlog.jsonmoves the entry fromELIGIBLEtoINTAKE_PENDING; README and roadmap plugin count updated.Written for commit 1ef3cfc. Summary will update on new commits.