Feat/aleo devnode plugin#29415
Draft
Roee-87 wants to merge 8 commits into
Draft
Conversation
There was a problem hiding this comment.
Pull request overview
This PR removes the built-in devnode command implementation from the Leo CLI and replaces it with plugin-based dispatch, mapping leo devnode ... to the external aleo-devnode binary.
Changes:
- Removed the in-tree
devnodecommand modules and related dependencies (axum/tower-*). - Added plugin dispatch rules so
devnoderesolves toaleo-devnode(while other plugins remainleo-<name>). - Updated CLI integration test fixtures and CI coverage workflow to account for the external devnode binary.
Reviewed changes
Copilot reviewed 17 out of 19 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| tests/expectations/cli/leo_devnode_missing_private_key/STDERR | Updates expected stderr output now produced by the external aleo-devnode binary. |
| tests/expectations/cli/leo_devnode_missing_private_key/EXITCODE | Updates expected exit code to match the external aleo-devnode behavior. |
| crates/leo/src/cli/plugin.rs | Adds devnode→aleo-devnode mapping and plugin enumeration logic. |
| crates/leo/src/cli/commands/mod.rs | Removes devnode command module from the CLI command set. |
| crates/leo/src/cli/commands/devnode/start.rs | Deletes embedded devnode “start” implementation. |
| crates/leo/src/cli/commands/devnode/rest/routes.rs | Deletes embedded devnode REST routes implementation. |
| crates/leo/src/cli/commands/devnode/rest/mod.rs | Deletes embedded devnode REST server implementation. |
| crates/leo/src/cli/commands/devnode/rest/helpers/path.rs | Deletes devnode REST helper extractor implementation. |
| crates/leo/src/cli/commands/devnode/rest/helpers/mod.rs | Deletes devnode REST helpers module wiring. |
| crates/leo/src/cli/commands/devnode/rest/helpers/error.rs | Deletes devnode REST error handling implementation. |
| crates/leo/src/cli/commands/devnode/mod.rs | Deletes embedded devnode command definitions/dispatch. |
| crates/leo/src/cli/commands/devnode/logger.rs | Deletes embedded devnode-specific logging setup. |
| crates/leo/src/cli/commands/devnode/advance.rs | Deletes embedded devnode “advance” implementation. |
| crates/leo/src/cli/cli.rs | Removes Devnode as a built-in command; routes external subcommands via binary_name_for. |
| crates/leo/Cargo.toml | Drops devnode-only dependencies from the leo crate. |
| Cargo.toml | Drops workspace-level devnode-only dependencies. |
| Cargo.lock | Removes transitive deps no longer needed after devnode removal. |
| .github/workflows/codecov.yml | Installs aleo-devnode so integration tests can run in the coverage job. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Comment on lines
+117
to
+122
| // aleo-devnode is the canonical devnode plugin; add it if not already shadowed by leo-devnode. | ||
| if !seen.contains("devnode") { | ||
| if let Some(path) = find_exe(ALEO_DEVNODE) { | ||
| plugins.push(("devnode".to_string(), path)); | ||
| } | ||
| } |
| uses: Swatinem/rust-cache@v2 | ||
|
|
||
| - name: Install aleo-devnode | ||
| run: cargo install --git https://github.com/ProvableHQ/aleo-devnode |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Motivation
This PR removes devnode from the Leo CLI codebase while retaining the ability to use devnode as a plugin which references the
aleo-devnodebinary.Devnode is being maintained here: https://github.com/ProvableHQ/aleo-devnode
Test Plan
The
aleo-devnoderepo contains a test directory.