Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .claude/skills/ev-reth-core.md
Original file line number Diff line number Diff line change
Expand Up @@ -97,9 +97,9 @@ The chainspec parser supports Evolve-specific extras via `EvolveEip1559Config`:
## Development Commands

```bash
make build # Release build
make run-dev # Run with debug logs
make test-node # Test node crate
just build # Release build
just run-dev # Run with debug logs
just test-node # Test node crate
```

## Exploration Starting Points
Expand Down
2 changes: 1 addition & 1 deletion .claude/skills/ev-reth-evolve.md
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ Executed and included in block
## Development Commands

```bash
make test-evolve
just test-evolve
# Or directly:
cargo test -p evolve-ev-reth
```
Expand Down
6 changes: 3 additions & 3 deletions .claude/skills/ev-reth-testing.md
Original file line number Diff line number Diff line change
Expand Up @@ -142,9 +142,9 @@ pub const TEST_BASE_FEE: u64 = 0;
## Development Commands

```bash
make test # Run all tests
make test-verbose # Run with output
make test-integration # Integration tests only
just test # Run all tests
just test-verbose # Run with output
just test-integration # Integration tests only

# Run specific test
cargo test -p ev-reth-tests test_payload_with_transactions
Expand Down
14 changes: 13 additions & 1 deletion .github/workflows/docker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -74,4 +74,16 @@ jobs:
export AR_aarch64_unknown_linux_gnu=aarch64-linux-gnu-ar
export PKG_CONFIG_ALLOW_CROSS=1
export DOCKER_TAG=${{ steps.set-tag.outputs.DOCKER_TAG }}
make docker-build-push
FEATURES="${FEATURES:-jemalloc}"
PROFILE="${PROFILE:-release}"
cross build --bin ev-reth --target x86_64-unknown-linux-gnu --features "$FEATURES" --profile "$PROFILE"
JEMALLOC_SYS_WITH_LG_PAGE=16 cross build --bin ev-reth --target aarch64-unknown-linux-gnu --features "$FEATURES" --profile "$PROFILE"
mkdir -p dist/bin/linux/amd64 dist/bin/linux/arm64
cp "target/x86_64-unknown-linux-gnu/$PROFILE/ev-reth" dist/bin/linux/amd64/ev-reth
cp "target/aarch64-unknown-linux-gnu/$PROFILE/ev-reth" dist/bin/linux/arm64/ev-reth
docker buildx build --file ./Dockerfile.cross . \
--platform linux/amd64,linux/arm64 \
--tag "$DOCKER_IMAGE_NAME:$DOCKER_TAG" \
--provenance=false \
--sbom=false \
--push
2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ jobs:
sudo apt-get install -y gcc-aarch64-linux-gnu

- name: Build release binary
run: make build-maxperf
run: RUSTFLAGS="-C target-cpu=native" cargo build --profile maxperf --features jemalloc,asm-keccak --bin ev-reth
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🔴 Critical

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

f=".github/workflows/release.yml"

echo "[Build command around line 44]"
rg -n 'Build release binary|cargo build' "$f" -A1

echo
echo "[Packaging directories - searching for profile paths]"
rg -n 'target/\$\{\{ matrix.target \}\}' "$f" -B1 -A1

echo
echo "[Matrix target configuration]"
rg -n 'target:' "$f" -A10 | head -30

echo
echo "[Full packaging section]"
sed -n '40,120p' "$f"

Repository: evstack/ev-reth

Length of output: 2964


Build step no longer matches matrix target/profile artifact paths.

Line 44 builds without --target ${{ matrix.target }}, producing artifacts in the wrong location for cross-compilation. Additionally, --profile maxperf outputs to .../maxperf, while packaging steps expect .../release, causing the workflow to fail at the tarball/zip creation step.

🐛 Proposed fix
-        run: RUSTFLAGS="-C target-cpu=native" cargo build --profile maxperf --features jemalloc,asm-keccak --bin ev-reth
+        run: RUSTFLAGS="-C target-cpu=native" cargo build --target ${{ matrix.target }} --profile maxperf --features jemalloc,asm-keccak --bin ev-reth

Then update the packaging steps (lines 49 and 57):

-          cd target/${{ matrix.target }}/release
+          cd target/${{ matrix.target }}/maxperf
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.github/workflows/release.yml at line 44, The cargo build step currently
runs RUSTFLAGS="-C target-cpu=native" cargo build --profile maxperf --features
jemalloc,asm-keccak --bin ev-reth which omits the cross-compile target and uses
the wrong profile; change that invocation to include --target ${{ matrix.target
}} and use --profile release (or match whatever profile the packaging expects)
so artifacts go to the matrix target directory and the release profile path, and
then update the subsequent packaging steps that create the tarball/zip to point
to the correct artifact paths produced by the modified cargo build.


- name: Create tarball
if: matrix.os != 'windows-latest'
Expand Down
28 changes: 14 additions & 14 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,26 +5,26 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co
## Common Development Commands

### Building
- **Release build**: `make build`
- **Debug build**: `make build-dev`
- **Build all workspace members**: `make build-all`
- **Release build**: `just build`
- **Debug build**: `just build-dev`
- **Build all workspace members**: `just build-all`

### Testing
- **Run all tests**: `make test`
- **Run tests with output**: `make test-verbose`
- **Unit tests only**: `make test-unit`
- **Integration tests**: `make test-integration`
- **Test specific crate**: `make test-node`, `make test-evolve`, `make test-common`
- **Run all tests**: `just test`
- **Run tests with output**: `just test-verbose`
- **Unit tests only**: `just test-unit`
- **Integration tests**: `just test-integration`
- **Test specific crate**: `just test-node`, `just test-evolve`, `just test-common`

### Code Quality
- **Format code**: `make fmt`
- **Check formatting**: `make fmt-check`
- **Run linter**: `make lint`
- **Run all checks**: `make check-all`
- **Format code**: `just fmt`
- **Check formatting**: `just fmt-check`
- **Run linter**: `just lint`
- **Run all checks**: `just check-all`

### Running the Node
- **Run with defaults**: `make run`
- **Run with debug logs**: `make run-dev`
- **Run with defaults**: `just run`
- **Run with debug logs**: `just run-dev`
- **Direct execution**: `./target/release/lumen node --chain <CHAIN_SPEC> --datadir <DATA_DIR> --http --ws`

## High-Level Architecture
Expand Down
171 changes: 0 additions & 171 deletions Makefile

This file was deleted.

14 changes: 7 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -136,10 +136,10 @@ git clone https://github.com/evstack/ev-reth.git
cd ev-reth

# Build the project
make build
just build

# Run tests
make test
just test
```

## Usage
Expand Down Expand Up @@ -534,18 +534,18 @@ ev-reth/
├── etc/ # Configuration files
│ └── ev-reth-genesis.json # Genesis configuration
├── Cargo.toml # Workspace configuration
├── Makefile # Build automation
├── justfile # Build automation
└── README.md # This file
```

### Running Tests

```bash
# Run all tests
make test
just test

# Run with verbose output
make test-verbose
just test-verbose

# Run specific test
cargo test test_name
Expand All @@ -555,10 +555,10 @@ cargo test test_name

```bash
# Debug build
make build-dev
just build-dev

# Run with debug logs
make run-dev
just run-dev
```

## Troubleshooting
Expand Down
Loading