Skip to content
Merged
Show file tree
Hide file tree
Changes from 3 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
8 changes: 6 additions & 2 deletions .github/workflows/benchmark.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,10 @@
go-version-file: ./go.mod
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@b5ca514318bd6ebac0fb2aedd5d36ec1b5c232a2 # v3.10.0
- name: Install just
uses: extractions/setup-just@v4
Comment thread Fixed
- name: Build binaries
run: make build-evm build-da
run: just build-evm build-da
- name: Run EVM benchmarks
run: |
cd test/e2e && go test -tags evm -bench=. -benchmem -run='^$' \
Expand Down Expand Up @@ -53,8 +55,10 @@
go-version-file: ./go.mod
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@b5ca514318bd6ebac0fb2aedd5d36ec1b5c232a2 # v3.10.0
- name: Install just
uses: extractions/setup-just@v4
Comment thread Fixed
- name: Build binaries
run: make build-evm build-da
run: just build-evm build-da
- name: Run Spamoor smoke test
run: |
cd test/e2e && BENCH_JSON_OUTPUT=spamoor_bench.json go test -tags evm \
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/dependabot-auto-fix.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,19 +22,19 @@
with:
go-version-file: ./go.mod

- name: Install make (if missing)
run: sudo apt-get update && sudo apt-get install -y make
- name: Install just
uses: extractions/setup-just@v4
Comment thread Fixed

- name: Run dependency update
run: make deps
run: just deps

- name: Commit and push changes
run: |
if [ -n "$(git status --porcelain)" ]; then
git config user.name "github-actions[bot]"
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
git add -A
git commit -m "chore: run make deps after Dependabot update"
git commit -m "chore: run just deps after Dependabot update"
git push
else
echo "No changes to commit."
Expand Down
12 changes: 9 additions & 3 deletions .github/workflows/docker-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,10 @@
uses: actions/setup-go@v6.2.0
with:
go-version-file: ./test/docker-e2e/go.mod
- name: Install just
uses: extractions/setup-just@v4
Comment thread Fixed
- name: Run Docker E2E Tests
run: make test-docker-e2e
run: just test-docker-e2e
env:
EV_NODE_IMAGE_REPO: ghcr.io/${{ github.repository_owner }}/ev-node-testapp
EV_NODE_IMAGE_TAG: ${{ inputs.image-tag }}
Expand All @@ -44,8 +46,10 @@
uses: actions/setup-go@v6.2.0
with:
go-version-file: ./test/docker-e2e/go.mod
- name: Install just
uses: extractions/setup-just@v4
Comment thread Fixed
- name: Run Docker Upgrade E2E Tests
run: make test-docker-upgrade-e2e
run: just test-docker-upgrade-e2e
env:
EVM_IMAGE_REPO: ghcr.io/${{ github.repository_owner }}/ev-node-evm
EVM_NODE_IMAGE_TAG: ${{ inputs.image-tag }}
Expand All @@ -61,8 +65,10 @@
uses: actions/setup-go@v6.2.0
with:
go-version-file: ./test/docker-e2e/go.mod
- name: Install just
uses: extractions/setup-just@v4
Comment thread Fixed
- name: Run Docker Compat E2E Tests
run: make test-docker-compat
run: just test-docker-compat
env:
SEQUENCER_EVM_IMAGE_REPO: ghcr.io/${{ github.repository_owner }}/ev-node-evm
SEQUENCER_EVM_IMAGE_TAG: main # TODO: set this to the last released tag
Expand Down
23 changes: 17 additions & 6 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,10 @@
uses: actions/setup-go@v6.2.0
with:
go-version-file: ./go.mod
- name: Install just
uses: extractions/setup-just@v4
Comment thread Fixed
- name: Build all ev-node binaries
run: make build-all
run: just build-all

go_mod_tidy_check:
name: Go Mod Tidy Check
Expand All @@ -28,7 +30,8 @@
- uses: actions/setup-go@v6.2.0
with:
go-version-file: ./go.mod
- run: make deps
- uses: extractions/setup-just@v4
Comment thread Fixed
- run: just deps
- name: check for diff
run: git diff --exit-code

Expand All @@ -44,8 +47,10 @@
uses: actions/setup-go@v6.2.0
with:
go-version-file: ./go.mod
- name: Install just
uses: extractions/setup-just@v4
Comment thread Fixed
- name: Run unit test
run: make test-cover
run: just test-cover
- name: Upload unit test coverage report
uses: actions/upload-artifact@v6
with:
Expand All @@ -61,8 +66,10 @@
uses: actions/setup-go@v6.2.0
with:
go-version-file: ./go.mod
- name: Install just
uses: extractions/setup-just@v4
Comment thread Fixed
- name: Run integration test
run: make test-integration-cover
run: just test-integration-cover
- name: Upload integration test coverage report
uses: actions/upload-artifact@v6
with:
Expand Down Expand Up @@ -93,8 +100,10 @@
tags: evstack:local-dev
cache-from: type=gha
cache-to: type=gha,mode=max
- name: Install just
uses: extractions/setup-just@v4
Comment thread Fixed
- name: E2E Tests
run: make test-e2e
run: just test-e2e

evm-tests:
name: Run EVM Execution Tests
Expand All @@ -106,8 +115,10 @@
uses: actions/setup-go@v6.2.0
with:
go-version-file: ./go.mod
- name: Install just
uses: extractions/setup-just@v4
Comment thread Fixed
- name: EVM Tests
run: make test-evm
run: just test-evm

combine_and_upload_coverage:
name: Combine and Upload Coverage
Expand Down
44 changes: 23 additions & 21 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,33 +8,35 @@ ev-node is a sovereign rollup framework built in Go that allows developers to bu

## Build and Development Commands

Uses [just](https://github.com/casey/just) as the command runner. Run `just help` to list all recipes.

### Building

- `make build` - Builds the Testapp CLI to `./build/testapp`
- `make install` - Installs Testapp CLI to your Go bin directory
- `make build-all` - Builds all ev-node binaries
- `make docker-build` - Builds Docker image tagged as `evstack:local-dev`
- `just build` - Builds the Testapp CLI to `./build/testapp`
- `just install` - Installs Testapp CLI to your Go bin directory
- `just build-all` - Builds all ev-node binaries
- `just docker-build` - Builds Docker image tagged as `evstack:local-dev`

### Testing

- `make test` - Runs unit tests for all go.mod files
- `make test-integration` - Runs integration tests (15m timeout)
- `make test-e2e` - Runs end-to-end tests (requires building binaries first)
- `make test-cover` - Generates code coverage report
- `make test-all` - Runs all tests including Docker E2E tests
- `just test` - Runs unit tests for all go.mod files
- `just test-integration` - Runs integration tests (15m timeout)
- `just test-e2e` - Runs end-to-end tests (requires building binaries first)
- `just test-cover` - Generates code coverage report
- `just test-all` - Runs all tests including Docker E2E tests

### Linting and Code Quality

- `make lint` - Runs all linters (golangci-lint, markdownlint, hadolint, yamllint, goreleaser check, actionlint)
- `make lint-fix` - Auto-fixes linting issues where possible
- `make vet` - Runs go vet
- `just lint` - Runs all linters (golangci-lint, markdownlint, hadolint, yamllint, goreleaser check, actionlint)
- `just lint-fix` - Auto-fixes linting issues where possible
- `just vet` - Runs go vet

### Development Utilities

- `make deps` - Downloads dependencies and runs go mod tidy for all modules
- `make proto-gen` - Generates protobuf files (requires Docker)
- `make mock-gen` - Generates mocks using mockery
- `make run-n NODES=3` - Run multiple nodes locally (default: 1)
- `just deps` - Downloads dependencies and runs go mod tidy for all modules
- `just proto-gen` - Generates protobuf files (requires Docker)
- `just mock-gen` - Generates mocks using mockery
- `just run-n 3` - Run multiple nodes locally (default: 1)

## Code Architecture

Expand Down Expand Up @@ -91,7 +93,7 @@ go test -race ./package/...
### Mock Generation

- Mocks are defined in `.mockery.yaml`
- Generate with `make mock-gen`
- Generate with `just mock-gen`
- Mocks are placed in `mocks/` directories

## Code Style Guidelines
Expand Down Expand Up @@ -128,7 +130,7 @@ go test -race ./package/...
### Modifying Protobuf Definitions

1. Edit `.proto` files in `types/pb/`
2. Run `make proto-gen` to regenerate Go code
2. Run `just proto-gen` to regenerate Go code
3. Update any affected code
4. Run tests to ensure compatibility

Expand Down Expand Up @@ -157,15 +159,15 @@ go test -race ./package/...

## Debugging Tips

- Use `make run-n NODES=2` to test multi-node scenarios locally
- Use `just run-n 2` to test multi-node scenarios locally
- Check logs for error messages and stack traces
- Use Go's built-in profiling tools for performance issues
- The testapp provides a simple way to test changes

## Contributing Guidelines

- All code must pass linting (`make lint`)
- All tests must pass (`make test-all`)
- All code must pass linting (`just lint`)
- All tests must pass (`just test-all`)
- Follow the existing code patterns
- Update tests when changing functionality
- Keep commits focused and atomic
16 changes: 0 additions & 16 deletions Makefile

This file was deleted.

10 changes: 5 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ To install the example `testapp`, simply run the following command at the root o
ev-node repo:

```bash
make install
just install
```

The latest TestApp example is now installed. You can verify the installation by running:
Expand Down Expand Up @@ -100,16 +100,16 @@ to ask questions, discuss your ideas, and connect with other contributors.

```sh
# Run unit tests
make test
just test

# Generate protobuf files (requires Docker)
make proto-gen
just proto-gen

# Run linters (requires golangci-lint, markdownlint, hadolint, and yamllint)
make lint
just lint

# Lint protobuf files (requires Docker and buf)
make proto-lint
just proto-lint

```

Expand Down
6 changes: 3 additions & 3 deletions client/crates/types/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -63,8 +63,8 @@ The generated code is committed to the repository. If you modify the proto files
# Force regeneration by setting the environment variable
EV_TYPES_FORCE_PROTO_GEN=1 cargo build

# Or from the repository root (if a make target exists)
make rust-proto-gen
# Or from the repository root
just rust-proto-gen
```

**Important**:
Expand All @@ -88,7 +88,7 @@ To ensure consistency with CI:

1. Install protoc version 25.1
2. Use the provided script: `./client/scripts/generate-protos.sh`
3. Or use the Makefile: `make rust-proto-gen`
3. Or use just: `just rust-proto-gen`

### Common Issues

Expand Down
6 changes: 3 additions & 3 deletions docs/CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co
- `yarn dev` - Start VitePress development server (hot reload enabled)
- `yarn build` - Build static documentation site
- `yarn preview` - Preview built site locally
- `make testlink` - Validate all links in markdown files using lychee
- `just testlink` - Validate all links in markdown files using lychee

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Check for testlink recipe in justfile
if [ -f "justfile" ]; then
  echo "=== Checking justfile for testlink recipe ==="
  grep -n "testlink" justfile || echo "No testlink recipe found"
  echo ""
  echo "=== All recipes in justfile ==="
  grep -n "^[a-zA-Z_].*:" justfile | head -20
else
  echo "justfile not found"
fi

Repository: evstack/ev-node

Length of output: 863


🏁 Script executed:

#!/bin/bash
# Check docs/CLAUDE.md for references to testlink
echo "=== Checking docs/CLAUDE.md ==="
if [ -f "docs/CLAUDE.md" ]; then
  grep -n "testlink" docs/CLAUDE.md
  echo ""
  echo "=== Context around line 13 ==="
  sed -n '10,16p' docs/CLAUDE.md
else
  echo "docs/CLAUDE.md not found"
fi

Repository: evstack/ev-node

Length of output: 565


Add missing testlink recipe to justfile.

Documentation at lines 13, 47, and 54 instructs users to run just testlink for link validation using lychee, but this recipe is not defined in the justfile. Add the recipe or update the documentation to reflect the actual command.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/CLAUDE.md` at line 13, The docs reference a missing Just recipe: add a
`testlink` recipe to the justfile (or update docs to the existing recipe name)
so `just testlink` actually runs lychee; implement a recipe named `testlink` in
the justfile that installs/uses lychee (or invokes the existing link-check
target) and exits non-zero on failures, or change the documentation lines (13,
47, 54) to the current command name if you prefer not to add a recipe—look for
the justfile and the existing link-check task to ensure consistent naming
between the justfile (recipe `testlink`) and the docs.


### Deployment

Expand Down Expand Up @@ -44,14 +44,14 @@ docs/
- **Navigation Structure**: Configured in `.vitepress/config.ts` with collapsible sidebar sections
- **Analytics**: Plausible analytics and Chatbase integration
- **Content Format**: Markdown files with frontmatter support
- **Link Validation**: Automated via `make testlink` and GitHub Actions
- **Link Validation**: Automated via `just testlink` and GitHub Actions

### Development Workflow

1. Content changes: Edit markdown files in appropriate directories
2. Navigation changes: Update `.vitepress/config.ts`
3. Test locally with `yarn dev`
4. Validate links with `make testlink`
4. Validate links with `just testlink`
5. Create PR - preview deployment will be available
6. Merge to main triggers automatic deployment

Expand Down
2 changes: 1 addition & 1 deletion docs/guides/create-genesis.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ STAKING_AMOUNT="1000000000stake"
Ensure that `.gm` folder is present at `/Users/you/.gm` (if not, follow a [Guide](./gm-world.md) to set it up) and run the following command to (re)generate an entrypoint binary out of the code:

```sh
make install
just install
```

Once completed, run the following command to ensure that the `/Users/you/.gm` directory is present:
Expand Down
4 changes: 2 additions & 2 deletions docs/guides/evm/single.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,8 @@ cd evolve
### 2. Build the Evolve EVM Single Sequencer Implementation

```bash
make build-evm
make build-da
just build-evm
just build-da
```

This will create the following binaries in the `build` directory:
Expand Down
2 changes: 1 addition & 1 deletion docs/guides/gm-world.md
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ ignite app install -g github.com/ignite/apps/evolve
Install your app locally:

```bash
make install
just install
```

## Add Evolve Features {#add-evolve-features}
Expand Down
8 changes: 4 additions & 4 deletions docs/guides/quick-start.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,19 +20,19 @@ git clone --depth 1 https://github.com/evstack/ev-node.git
cd ev-node

# Build the testapp binary
make build
just build

# Optional: Install to your Go bin directory for system-wide access
make install
just install
```

Verify the installation by checking the Evolve version:

```bash
# If you ran 'make install'
# If you ran 'just install'
testapp version

# Or if you only ran 'make build'
# Or if you only ran 'just build'
./build/testapp version
```

Expand Down
Loading
Loading