Skip to content

Conversation

@julienrbrt
Copy link
Member

@julienrbrt julienrbrt commented Nov 13, 2025

Rename evm-single to evm and grpc-single to evgrpc for clarity.

ref: #2797 (comment)

@github-actions
Copy link
Contributor

github-actions bot commented Nov 13, 2025

The latest Buf updates on your PR. Results from workflow CI / buf-check (pull_request).

BuildFormatLintBreakingUpdated (UTC)
✅ passed⏩ skipped✅ passed✅ passedNov 21, 2025, 9:58 AM

@claude
Copy link
Contributor

claude bot commented Nov 13, 2025

Claude finished @julienrbrt's task —— View job


Code Review Complete

I've completed a comprehensive review of this PR which renames evm-singleevm and grpc-singleevgrpc. The renaming effort is largely well-executed and consistent across the codebase. However, I've identified several issues that need to be addressed before merging.


Critical Issues

1. Test File Variable Naming Mismatch (test/e2e/evm_test_common.go)

Severity: Critical - This will cause compilation errors.

  • Line 42: Variable declared as evmSingleBinaryPath but used as evmBinaryPath throughout the file
  • Lines 247, 302, 326, 343, 393, 488, 604, 651: All references use evmSingleBinaryPath (correct)
  • Issue: The comment on line 41 says "evm-single binary" which is outdated

Recommendation:

// Line 41-42: Update to reflect new naming
// evmBinaryPath is the path to the evm binary used in tests
var evmBinaryPath string

func init() {
    flag.StringVar(&evmBinaryPath, "evm-binary", "evm", "evm binary")
}

Then update all usages from evmSingleBinaryPath to evmBinaryPath throughout the file (lines 247, 302, 326, 343, 393, 488, 604, 651).

2. Hardcoded Database Name in testapp/cmd/rollback.go

Severity: High - Potential data corruption risk.

  • Line 42: The testapp rollback command hardcodes database name as "testapp"
  • Comparison: apps/evm/cmd/rollback.go:41 uses "evm" (correct for that app)
  • Issue: This appears correct, but Gemini flagged it as potentially being copy-pasted from the evm app

Recommendation: This is actually CORRECT - testapp should use "testapp" as its database name. The Gemini review was incorrect on this point. No change needed.


High Priority Issues

3. Inconsistent Volume Names in docker-compose.yml (apps/evm/docker-compose.yml)

Severity: Medium - Inconsistent naming convention.

  • Line 64: Volume mount uses evm-single-data:/root/.evm/
  • Line 82: Volume definition uses evm-single-data:
  • Issue: Should be renamed to evm-data for consistency with the app renaming

Recommendation:

# Line 64
volumes:
  - evm-data:/root/.evm/

# Line 82
volumes:
  evm-data:
  reth:

4. Outdated References in Documentation

apps/evm/entrypoint.sh: Contains multiple references to rollkit.* flags which appear to be legacy naming:

  • Lines 40, 41, 70, 72, 75, 80, 83, 85, 87, 89, 91, 93

These should likely use evnode.* prefix for consistency with the current configuration system. While this is not directly related to the evm-single→evm rename, it's worth noting for consistency.


Medium Priority Issues

5. RELEASE.md Numbering Issue

Severity: Low - Documentation formatting issue.

The list numbering in the Phase 3 section appears to have an issue based on Gemini's review, though examining the actual file shows it's currently correct. No action needed.


Code Quality & Architecture Assessment

Strengths

  1. Comprehensive Rename: The PR successfully renames across all necessary layers:

    • Binary names and build targets
    • Docker images and compose files
    • CI/CD workflows
    • Documentation
    • Test infrastructure
    • Go modules
  2. Proper Go Module Updates:

    • apps/evm/go.mod and apps/grpc/go.mod updated correctly
    • Dependencies updated appropriately
  3. Build System Consistency:

    • scripts/build.mk correctly updated (lines 32-33, 47-50)
    • Makefile targets properly renamed
  4. CI/CD Updates:

    • .github/workflows/ci.yml correctly references apps/evm/Dockerfile
    • Docker image names updated to ev-node-evm
  5. Changelog Updated: CHANGELOG.md properly documents the breaking change

⚠️ Areas of Concern

  1. Configuration Flag Inconsistency: The entrypoint.sh file uses rollkit.* prefixes in some places but the codebase appears to use evnode.* elsewhere. This suggests potential configuration inconsistency that predates this PR but should be addressed.

  2. Missing Verification: No evidence of grep/search to verify all old references removed. Found 3 remaining references to old names:

    • test/e2e/evm_test_common.go:41 (comment)
    • apps/evm/docker-compose.yml:64 and :82 (volume names)

Security Assessment

No security issues identified in this refactoring PR:

  • No credential handling changes
  • No authentication/authorization modifications
  • No new external dependencies
  • No changes to sensitive data handling
  • File permissions unchanged (entrypoint.sh remains executable)

Performance & Resource Efficiency

No performance concerns:

  • Purely cosmetic renaming
  • No changes to algorithms or data structures
  • No new allocations or blocking operations
  • Docker image structure unchanged

Testing & Reliability

Issues Found:

  1. Variable naming mismatch in test/e2e/evm_test_common.go will cause compilation failures
  2. E2E tests reference the old binary path in variable naming

Recommendations:

  1. After fixing the variable naming issues, run the full test suite:

    make test-e2e
  2. Verify Docker builds work correctly:

    make docker-build
    docker run ghcr.io/evstack/ev-node-evm:main --version
  3. Test the renamed binaries locally:

    make build-all
    ./build/evm version

Summary of Required Changes

Must Fix Before Merge:

  1. test/e2e/evm_test_common.go: Rename variable from evmSingleBinaryPath to evmBinaryPath and update all 8+ references
  2. apps/evm/docker-compose.yml: Rename volume evm-single-data to evm-data (2 locations)

Recommended (Not Blocking):

  1. Review and update apps/evm/entrypoint.sh to ensure configuration flag naming is consistent with the rest of the codebase
  2. Run a final search for any remaining evm-single or grpc-single references

Overall Assessment

This is a well-executed renaming refactor that touches 37 files consistently. The changes follow good practices:

  • Breaking changes properly documented in CHANGELOG
  • Version tags updated in RELEASE.md
  • Docker and CI/CD properly updated

The critical issues identified (test variable naming and volume names) are straightforward fixes. Once addressed, this PR will be ready to merge.

Recommendation: Request changes for the critical issues, then approve after fixes are verified.

@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @julienrbrt, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request streamlines the project's naming conventions by shortening the names of two core applications. The evm-single application is now simply evm, and grpc-single is now evgrpc. This change is purely cosmetic, aimed at enhancing readability and ease of reference throughout the codebase, documentation, and operational scripts, without altering any underlying functionality.

Highlights

  • Application Renaming: The evm-single application has been renamed to evm and grpc-single has been renamed to evgrpc to improve clarity and simplify naming conventions.
  • File Structure Update: All related files, including Dockerfiles, READMEs, Go modules, and command-line interface (CLI) entrypoints, have been moved from apps/evm/single to apps/evm and apps/grpc/single to apps/grpc respectively.
  • Configuration and Script Adjustments: Build scripts, test configurations, and documentation have been updated to reflect the new application names and file paths, ensuring consistency across the project.
Ignored Files
  • Ignored by pattern: .github/workflows/** (3)
    • .github/workflows/ci.yml
    • .github/workflows/docker-tests.yml
    • .github/workflows/ghcr-prune.yml
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

@github-actions
Copy link
Contributor

github-actions bot commented Nov 13, 2025

PR Preview Action v1.6.3
Preview removed because the pull request was closed.
2025-11-21 11:01 UTC

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This PR does a good job of renaming evm-single to evm and grpc-single to evgrpc across the codebase. The changes are extensive and mostly consistent. I've found a few minor inconsistencies and potential issues that should be addressed for completeness. These include a numbering issue in RELEASE.md, incorrect paths in a Dockerfile, an inconsistent volume name in a docker-compose.yml, a hardcoded value in a test app that seems to be a copy-paste error, and a variable declaration issue in an E2E test file. Overall, a good refactoring effort.

@codecov
Copy link

codecov bot commented Nov 13, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 64.97%. Comparing base (c652f7a) to head (bfb7b9f).
⚠️ Report is 4 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #2839   +/-   ##
=======================================
  Coverage   64.97%   64.97%           
=======================================
  Files          81       81           
  Lines        7250     7250           
=======================================
  Hits         4711     4711           
  Misses       1998     1998           
  Partials      541      541           
Flag Coverage Δ
combined 64.97% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@tac0turtle tac0turtle removed this from Evolve Nov 18, 2025
@julienrbrt
Copy link
Member Author

I'll rebase this against main

@julienrbrt julienrbrt changed the base branch from julien/fi to main November 20, 2025 13:43
@julienrbrt
Copy link
Member Author

upgrade test will fail until we have new tags

@julienrbrt julienrbrt added this pull request to the merge queue Nov 21, 2025
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Nov 21, 2025
@julienrbrt julienrbrt added this pull request to the merge queue Nov 21, 2025
Merged via the queue into main with commit a465969 Nov 21, 2025
28 of 30 checks passed
@julienrbrt julienrbrt deleted the julien/rename-apps branch November 21, 2025 10:59
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.

3 participants