Skip to content

Commit b5f466e

Browse files
tac0turtleclaude
andcommitted
build: migrate from Make to just as command runner
Replace Makefile + 6 .mk include files with a single justfile. Update all CI workflows (setup-just action) and docs references. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 212ac08 commit b5f466e

File tree

22 files changed

+402
-427
lines changed

22 files changed

+402
-427
lines changed

.github/workflows/benchmark.yml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,10 @@ jobs:
2323
go-version-file: ./go.mod
2424
- name: Set up Docker Buildx
2525
uses: docker/setup-buildx-action@b5ca514318bd6ebac0fb2aedd5d36ec1b5c232a2 # v3.10.0
26+
- name: Install just
27+
uses: extractions/setup-just@v4
2628
- name: Build binaries
27-
run: make build-evm build-da
29+
run: just build-evm build-da
2830
- name: Run EVM benchmarks
2931
run: |
3032
cd test/e2e && go test -tags evm -bench=. -benchmem -run='^$' \
@@ -53,8 +55,10 @@ jobs:
5355
go-version-file: ./go.mod
5456
- name: Set up Docker Buildx
5557
uses: docker/setup-buildx-action@b5ca514318bd6ebac0fb2aedd5d36ec1b5c232a2 # v3.10.0
58+
- name: Install just
59+
uses: extractions/setup-just@v4
5660
- name: Build binaries
57-
run: make build-evm build-da
61+
run: just build-evm build-da
5862
- name: Run Spamoor smoke test
5963
run: |
6064
cd test/e2e && BENCH_JSON_OUTPUT=spamoor_bench.json go test -tags evm \

.github/workflows/dependabot-auto-fix.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,19 +22,19 @@ jobs:
2222
with:
2323
go-version-file: ./go.mod
2424

25-
- name: Install make (if missing)
26-
run: sudo apt-get update && sudo apt-get install -y make
25+
- name: Install just
26+
uses: extractions/setup-just@v4
2727

2828
- name: Run dependency update
29-
run: make deps
29+
run: just deps
3030

3131
- name: Commit and push changes
3232
run: |
3333
if [ -n "$(git status --porcelain)" ]; then
3434
git config user.name "github-actions[bot]"
3535
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
3636
git add -A
37-
git commit -m "chore: run make deps after Dependabot update"
37+
git commit -m "chore: run just deps after Dependabot update"
3838
git push
3939
else
4040
echo "No changes to commit."

.github/workflows/docker-tests.yml

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,10 @@ jobs:
2727
uses: actions/setup-go@v6.2.0
2828
with:
2929
go-version-file: ./test/docker-e2e/go.mod
30+
- name: Install just
31+
uses: extractions/setup-just@v4
3032
- name: Run Docker E2E Tests
31-
run: make test-docker-e2e
33+
run: just test-docker-e2e
3234
env:
3335
EV_NODE_IMAGE_REPO: ghcr.io/${{ github.repository_owner }}/ev-node-testapp
3436
EV_NODE_IMAGE_TAG: ${{ inputs.image-tag }}
@@ -44,8 +46,10 @@ jobs:
4446
uses: actions/setup-go@v6.2.0
4547
with:
4648
go-version-file: ./test/docker-e2e/go.mod
49+
- name: Install just
50+
uses: extractions/setup-just@v4
4751
- name: Run Docker Upgrade E2E Tests
48-
run: make test-docker-upgrade-e2e
52+
run: just test-docker-upgrade-e2e
4953
env:
5054
EVM_IMAGE_REPO: ghcr.io/${{ github.repository_owner }}/ev-node-evm
5155
EVM_NODE_IMAGE_TAG: ${{ inputs.image-tag }}
@@ -61,8 +65,10 @@ jobs:
6165
uses: actions/setup-go@v6.2.0
6266
with:
6367
go-version-file: ./test/docker-e2e/go.mod
68+
- name: Install just
69+
uses: extractions/setup-just@v4
6470
- name: Run Docker Compat E2E Tests
65-
run: make test-docker-compat
71+
run: just test-docker-compat
6672
env:
6773
SEQUENCER_EVM_IMAGE_REPO: ghcr.io/${{ github.repository_owner }}/ev-node-evm
6874
SEQUENCER_EVM_IMAGE_TAG: main # TODO: set this to the last released tag

.github/workflows/test.yml

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,10 @@ jobs:
1717
uses: actions/setup-go@v6.2.0
1818
with:
1919
go-version-file: ./go.mod
20+
- name: Install just
21+
uses: extractions/setup-just@v4
2022
- name: Build all ev-node binaries
21-
run: make build-all
23+
run: just build-all
2224

2325
go_mod_tidy_check:
2426
name: Go Mod Tidy Check
@@ -28,7 +30,8 @@ jobs:
2830
- uses: actions/setup-go@v6.2.0
2931
with:
3032
go-version-file: ./go.mod
31-
- run: make deps
33+
- uses: extractions/setup-just@v4
34+
- run: just deps
3235
- name: check for diff
3336
run: git diff --exit-code
3437

@@ -44,8 +47,10 @@ jobs:
4447
uses: actions/setup-go@v6.2.0
4548
with:
4649
go-version-file: ./go.mod
50+
- name: Install just
51+
uses: extractions/setup-just@v4
4752
- name: Run unit test
48-
run: make test-cover
53+
run: just test-cover
4954
- name: Upload unit test coverage report
5055
uses: actions/upload-artifact@v6
5156
with:
@@ -61,8 +66,10 @@ jobs:
6166
uses: actions/setup-go@v6.2.0
6267
with:
6368
go-version-file: ./go.mod
69+
- name: Install just
70+
uses: extractions/setup-just@v4
6471
- name: Run integration test
65-
run: make test-integration-cover
72+
run: just test-integration-cover
6673
- name: Upload integration test coverage report
6774
uses: actions/upload-artifact@v6
6875
with:
@@ -93,8 +100,10 @@ jobs:
93100
tags: evstack:local-dev
94101
cache-from: type=gha
95102
cache-to: type=gha,mode=max
103+
- name: Install just
104+
uses: extractions/setup-just@v4
96105
- name: E2E Tests
97-
run: make test-e2e
106+
run: just test-e2e
98107

99108
evm-tests:
100109
name: Run EVM Execution Tests
@@ -106,8 +115,10 @@ jobs:
106115
uses: actions/setup-go@v6.2.0
107116
with:
108117
go-version-file: ./go.mod
118+
- name: Install just
119+
uses: extractions/setup-just@v4
109120
- name: EVM Tests
110-
run: make test-evm
121+
run: just test-evm
111122

112123
combine_and_upload_coverage:
113124
name: Combine and Upload Coverage

CLAUDE.md

Lines changed: 23 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -8,33 +8,35 @@ ev-node is a sovereign rollup framework built in Go that allows developers to bu
88

99
## Build and Development Commands
1010

11+
Uses [just](https://github.com/casey/just) as the command runner. Run `just help` to list all recipes.
12+
1113
### Building
1214

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

1820
### Testing
1921

20-
- `make test` - Runs unit tests for all go.mod files
21-
- `make test-integration` - Runs integration tests (15m timeout)
22-
- `make test-e2e` - Runs end-to-end tests (requires building binaries first)
23-
- `make test-cover` - Generates code coverage report
24-
- `make test-all` - Runs all tests including Docker E2E tests
22+
- `just test` - Runs unit tests for all go.mod files
23+
- `just test-integration` - Runs integration tests (15m timeout)
24+
- `just test-e2e` - Runs end-to-end tests (requires building binaries first)
25+
- `just test-cover` - Generates code coverage report
26+
- `just test-all` - Runs all tests including Docker E2E tests
2527

2628
### Linting and Code Quality
2729

28-
- `make lint` - Runs all linters (golangci-lint, markdownlint, hadolint, yamllint, goreleaser check, actionlint)
29-
- `make lint-fix` - Auto-fixes linting issues where possible
30-
- `make vet` - Runs go vet
30+
- `just lint` - Runs all linters (golangci-lint, markdownlint, hadolint, yamllint, goreleaser check, actionlint)
31+
- `just lint-fix` - Auto-fixes linting issues where possible
32+
- `just vet` - Runs go vet
3133

3234
### Development Utilities
3335

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

3941
## Code Architecture
4042

@@ -91,7 +93,7 @@ go test -race ./package/...
9193
### Mock Generation
9294

9395
- Mocks are defined in `.mockery.yaml`
94-
- Generate with `make mock-gen`
96+
- Generate with `just mock-gen`
9597
- Mocks are placed in `mocks/` directories
9698

9799
## Code Style Guidelines
@@ -128,7 +130,7 @@ go test -race ./package/...
128130
### Modifying Protobuf Definitions
129131

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

@@ -157,15 +159,15 @@ go test -race ./package/...
157159

158160
## Debugging Tips
159161

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

165167
## Contributing Guidelines
166168

167-
- All code must pass linting (`make lint`)
168-
- All tests must pass (`make test-all`)
169+
- All code must pass linting (`just lint`)
170+
- All tests must pass (`just test-all`)
169171
- Follow the existing code patterns
170172
- Update tests when changing functionality
171173
- Keep commits focused and atomic

Makefile

Lines changed: 0 additions & 16 deletions
This file was deleted.

README.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ To install the example `testapp`, simply run the following command at the root o
3333
ev-node repo:
3434

3535
```bash
36-
make install
36+
just install
3737
```
3838

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

101101
```sh
102102
# Run unit tests
103-
make test
103+
just test
104104

105105
# Generate protobuf files (requires Docker)
106-
make proto-gen
106+
just proto-gen
107107

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

111111
# Lint protobuf files (requires Docker and buf)
112-
make proto-lint
112+
just proto-lint
113113

114114
```
115115

client/crates/types/README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -63,8 +63,8 @@ The generated code is committed to the repository. If you modify the proto files
6363
# Force regeneration by setting the environment variable
6464
EV_TYPES_FORCE_PROTO_GEN=1 cargo build
6565

66-
# Or from the repository root (if a make target exists)
67-
make rust-proto-gen
66+
# Or from the repository root
67+
just rust-proto-gen
6868
```
6969

7070
**Important**:
@@ -88,7 +88,7 @@ To ensure consistency with CI:
8888

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

9393
### Common Issues
9494

docs/CLAUDE.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co
1010
- `yarn dev` - Start VitePress development server (hot reload enabled)
1111
- `yarn build` - Build static documentation site
1212
- `yarn preview` - Preview built site locally
13-
- `make testlink` - Validate all links in markdown files using lychee
13+
- `just testlink` - Validate all links in markdown files using lychee
1414

1515
### Deployment
1616

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

4949
### Development Workflow
5050

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

docs/guides/create-genesis.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ STAKING_AMOUNT="1000000000stake"
3030
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:
3131

3232
```sh
33-
make install
33+
just install
3434
```
3535

3636
Once completed, run the following command to ensure that the `/Users/you/.gm` directory is present:

0 commit comments

Comments
 (0)